Лабораторная работа № 1
Программирование алгоритмов циклической и разветвляющейся структуры
Задание: разработать алгоритм табулирования функции. Вычислить значение функции при изменении аргумента в указанном диапазоне и с заданным шагом. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:
таблица функции y(x)
Y |
0.000 0.000
0.150 0.000
0.300 0.000
0.450 0.000
0.600 0.000
0.750 0.000
0.900 0.000
1.050 -0.027
1.200 -0.131
1.350 -0.273
1.500 -0.456
1.650 -0.682
1.800 -0.952
1.950 -1.27
2.100 -0.172
2.250 -0.068
2.400 0.026
2.550 0.106
2.700 0.165
2.850 0.201
3.000 0.214
program system;
var a, x, y, b:real;
Begin
a:=-0.5;
b:=2;
x:=0;
writeln(‘Таблица функции y(x)’);
writeln('X','','Y(X)');
Repeat
if (x>=1) and (x<=2) then y:=a*sqr(x)*ln(x);
if x<1 then writeln('y =',1);
if (x>2) and (x<=3) then y:=exp(a*x)*cos(b*x);
writeln(x:8:3,'',y:8:3);
x:=x+0.15;
until x>3;
readln;
end.
начало |
a:=-0.5 ; ; |
b:=2 ; ; |
x:=0 ; ; |
x>=1, x<=2 |
да |
y:=a*sqr(x)*ln(x) ; |
X=1 |
y:=1 ; |
да |
x>2 |
нет |
нет |
y:=exp(a*x)*cos(b*x) ; |
да |
нет |
x, y |
x:=x+0.15 |
x>3 |
конец |
Лабораторная работа №2
|
|
Программирование вычисления суммы и произведения
Задание: разработать алгоритм вычисления суммы и произведения. Организовать вывод результатов суммы и в виде таблицы:
При вычислении произведения k заменили на i для упрощения вида программы.
var i,k:integer; s,p,x:real;
Begin
s:=0;
p:=1;
for i:=1 to 7 do begin k:=(i+1);
if k mod 2=0 then x:=1 else x:=-1;
s:=s+x/(i*(i+1)*(i+2));
p:=p*x/(i*(i+2));
end; writeln('s=',s:1:3,' ','p=',p:1:5);
end.
Результат:
s=0.137 p=0
начало |
s=0 |
p=1 |
I=1,7 |
k=(i+1) |
K mod 2 = 0 |
x=-1 |
нет |
да |
x=1 |
s=s+(x/i(i+1)(i+2)) |
s=s+(x/i(i+1)(i+2)) |
s, p |
конец |