Программирование алгоритмов разветвляющейся структуры
Примеры алгоритмов и программ
Программирование алгоритмов линейной структуры
Пример. Вычислить значение функции y=sin x+ex+2, где x=ln a+ ,
b=cos 3a, a=7,25.
Блок-схема алгоритма
Расчет контрольного примера (к.п.)
;
Паскаль-программа
|
var a,b,x,y:real;
|
write (‘Введите а=’); readln (a);
b:=cos(a)*cos(a)*cos(a);
x:=ln(a)+sqrt(abs(b));
y:=sin(x)+exp(x+2);
writeln (‘b=’,b:1:3, ‘ x=’,x:1:3,’ y=’,y:1:3);
end.
Контрольный пример:
Введите а=1
b=0.158 x=0.397 y=11.379
Вывод: программа работоспособна, т. к. значения результатов контрольного примера ручного и машинного счета приблизи-тельно совпадают.
Результат:
Введите а=7.25
b=0.183 x=2.409 y=82.855
Программирование алгоритмов циклической структуры
Пример. Вычислить значение функции
, где
при а, изменяющемся от ан до ак,
с шагом Δа
aн=2, ак=3, Δа=0,2
а) с использованием оператора цикла с предусловием while
Блок-схема алгоритма
Паскаль-программа
Program prim31;
var an,ak,da,a,x,y:real;
begin
write(‘Введите an,ak,da=’);
|
a:=an;
while a<=ak+0.0001 do
begin
нет x:=ln(a);
y:=exp(1/3*ln(abs(sin(x))));
да writeln(‘a=’,a:3:1,’ x=’,
|
a:=a+da;
end;
end.
Результаты
|
a=2.0 x=0.693 y=0.861
a=2.2 x=0.788 y=0.892
a=2.4 x=0.875 y=0.916
a=2.6 x=0.956 y=0.935
a=2.8 x=1.030 y=0.950
a=3.0 x=1.099 y=0.962
б) с использованием оператора цикла с постусловием repeat-until
Блок-схема алгоритма Паскаль-программа
Program prim32;
var an,ak,da,a,x,y:real;
begin
write(‘Введите an,ak,da=’);
readln(an,ak,da);
a:=an;
|
x:=ln(a);
y:=exp(1/3*ln(abs(sin(x))));
|
‘ y=’,y:5:3);
|
until a>ak;
end.
Результаты
|
a=2.0 x=0.693 y=0.861
a=2.2 x=0.788 y=0.892
нет a=2.4 x=0.875 y=0.916
a=2.6 x=0.956 y=0.935
да a=2.8 x=1.030 y=0.950
a=3.0 x=1.099 y=0.962
в) с использованием оператора цикла с параметром for
Блок-схема алгоритма
Паскаль-программа
Program prim33;
|
i,n:integer;
begin
write(‘Введите an,ak,da=’);
|
n:=trunc((ak-an)/da)+1;
a:=an;
for i:=1 to n do
begin
x:=ln(a);
y:=exp(1/3*ln(abs(sin(x))));
|
‘ x=’,x:5:3,’ y=’,y:5:3);
a:=a+da;
end;
|
Результаты
Введите an,ak,da=2 3 0.2
a=2.0 x=0.693 y=0.861
|
a=2.4 x=0.875 y=0.916
a=2.6 x=0.956 y=0.935
a=2.8 x=1.030 y=0.950
a=3.0 x=1.099 y=0.962
Программирование алгоритмов разветвляющейся структуры
Пример. Вычислить значение функции.
если
а) с использованием условного оператора if-then-else
Паскаль-программа
Program prim21;
var a,b,c,x,y:real;
n:integer;
begin
|
x:=ln(abs(a-cos(a)));
c:=x*a; b:=x+a;
|
begin y:=-10.5; n:=1; end
else
if c=>3.5 then
да begin y:=c+ln(b); n:=3; end
else
нет begin y:=exp(c)+2*b; n:=2; end;
writeln(‘x=’,x:1:3,’ c=’,c:1:3,’ y=’,
да y:1:3,’ n=’,n);
end.
нет
|
|
|
x=1.927 c=14.162 y=16.389 n=3
б) c использованием оператора выбора case
Паскаль-программа
Program prim22;
var a,b,c,x,y:real;
k:integer;
|
write(‘Введите а=’); readln(a);
x:=ln(abs(a-cos(a)));
c:=x*a; b:=x+a;
|
if c<=3.5 then k:=2 else k:=3;
case k of
1: y:=-10.5;
да 2: y:=exp(c)+2*b;
3: y:=c+ln(b);
нет end;
да writeln(‘x=’,x:1:3,’ c=’,c:1:3,’
=’,y:1:3,’ k=’,k);
|
|
|
Введите а=7.35
x=1.927 c=14.162
y=16.389 k=3
нет
|
k=2
|
k=3
ФЕДЕРАЛЬНОЕ БЮДЖЕТНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ НЕФТЯНОЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Кафедра вычислительной техники и инженерной кибернетики
КОНТРОЛЬНАЯ РАБОТА 2
ПО ИНФОРМАТИКЕ
ВЫПОЛНИЛ СТ. ГР. ИМЯ ОТЧЕСТВО ФАМИЛИЯ
ШИФР _________ ПРОВЕРИЛ КАНД. ТЕХН. НАУК, ДОЦ. | Султанова Е. А. |
УФА 2016