Лабораторная работа №2

Лабораторная работа № 1

Программирование алгоритмов циклической и разветвляющейся структуры

Задание: разработать алгоритм табулирования функции. Вычислить значение функции при изменении аргумента в указанном диапазоне и с заданным шагом. Организовать вывод значения аргумента и вычисленного значения функции в виде таблицы:

таблица функции y(x)

Y
X Y(X)

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 для упрощения вида программы.

program summa;

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
конец



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: