лабораторная работа / lab2 вариант 20
.docЛабораторная работа №2. Вариант №20.
Программирование алгоритмов разветвляющейся и циклической с заданным числом повторений структур.
Цель работы: овладение практическими навыками разработки алгоритмов и программ разветвляющейся и циклической с заданным числом повторений структур.
Задание: вычислить и вывести на экран значение заданной функции. Вычислять многократно при изменении аргумента в указанном диапазоне и с заданным шагом. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:
Таблица функции Y(X)
X Y
… …
… …
1. Оператор с известным числом повторений For … to …do
Program lab2;
Const c=0.5; n=10; deltai=1;
Var
z, i, i0, ik, d:real;
t, a:integer;
begin
Writeln('Vvedite i0, ik');
read(i0, ik);
Writeln('Tablica funkcii z(i)');
Writeln('i z(i)');
d:=(ik-i0)/deltai;
i:=i0;
t:=trunc(d)+1;
For a:=1 to t do begin
If cos((i*i+1)/n)>0
Then z:=c*cos((i*i+1)/n)
Else
If cos((i*i+1)/n)<0
Then z:=sin(i+1/n);
Writeln(i:10:3,' ',z:10:3);
i:=i+deltai;
end;
End.
2. Оператор с предусловием While…do
program lab2;
const c=0.5; n=10;
var
i, i0, ik, z, deltai, d:real;
Begin
Writeln('Vvedite ik, i0, deltai');
Read(ik, i0, deltai);
Writeln('Tablica funkcii z(i)');
Writeln('i z(i)');
d:=(ik-i0)/deltai;
i:=i0;
While i<ik do begin
If cos((SQR(i)+1)/n)>0
Then z:=c*cos((SQR(i)+1)/n)
Else
If cos((SQR(i)+1)/n)<0
Then z:=sin(i+1/n);
Writeln(i:6:3,' ',z:10:3);
i:=i+deltai;
end;
End.
3. Оператор с послеусловием Repeat…Until
program lab2;
const c=0.5; n=10;
var
z, ik, i0, i, deltai, d:real;
Begin
Writeln('Vvedite ik, i0, deltai');
read(ik, i0, deltai);
Writeln('Tablica funkcii z(i)');
Writeln('i z(i)');
d:=(ik-i0)/deltai;
i:=i0;
Repeat
If cos((SQR(i)+1)/n)>0
Then z:=c*cos((SQR(i)+1)/n)
Else
If cos((SQR(i)+1)/n)<0
Then z:=sin(i+1/n);
Writeln(i:6:3,' ',z:10:3);
i:=i+deltai;
Until i>ik;
End.
1. Блок-схема для оператора с известным числом повторений For … to …do
нет
нет
да
да
c=0,5, n=10,
deltai
d=(ik-i0)/deltai
i=i0
t=trunc(d)+1
a=1,t
z=c*cos((i*i+1)/n)
z=sin(i+1/n)
i=i+deltai
2. Блок-схема для оператора с предусловием While…do
нет
да
c=0,5, n=10
d=(ik-i0)/deltai
i=i0
нет
нет
да
да
z=c*cos((i*i+1)/n)
z=sin(i+1/n)
i=i+deltai
3. Блок-схема для оператора с послеусловием Repeat…Until
да
Таблица функции Z(I):
I Z(I)
1 0,49
2 0,439
3 0,27