Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лабораторная работа / лаба 2 вариант 20

.doc
Скачиваний:
49
Добавлен:
10.02.2014
Размер:
67.07 Кб
Скачать

Лабораторная работа №2. Вариант №20.

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

Цель работы: овладение практическими навыками разработки алгоритмов и программ разветвляющейся и циклической с заданным числом повторений структур.

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

Таблица функции Y(X)

X Y

… …

… …

  1. Оператор с известным числом повторений For … to …do

program for;

const a=2.6;b=-0.39;deltax=0.5;

var

x,x0,xk,d,y:real;

t,m:integer;

begin

writeln( 'vvedite x0,xk');

read(x0,xk);

writeln('tablica funkcii y(x)');

writeln('x y(x)');

d:=(xk-x0)/deltax;

x:=x0;

t:=trunc(d)+1;

for m:=1 to t do begin

if x<2.8 then y:=(a+b)/(exp(x)+cos(x))

else

if (x>=2.8) and (x<6) then y:=(a+b)/(x+1)

else y:=exp(x)+sin(x);

writeln ('x=', x:8:3, 'y=', y:8:3);

x:=x+deltax;

end;

end.

2. Оператор с предусловием While…do

program while2;

const a=2.6;b=-0.39;

var

x,x0,xk,deltax,d,y:real;

begin

writeln('vvedite x0,xk,deltax');

read(x0,xk,deltax);

writeln('tablica funkcii y(x)');

writeln('x y(x)');

d:=(xk-x0)/deltax;

x:=x0;

while x<xk do begin

if x<2.8 then y:=(a+b)/(exp(x)+cos(x))

else if (x>=2.8) and (x<6) then y:=(a+b)/(x+1)

else y:=exp(x)+sin(x);

writeln ('x=', x:8:3, 'y=', y:8:3);

x:=x+deltax;

end;

end.

3. Оператор с послеусловием Repeat…Until

program repeat;

const a=2.6;b=-0.39;

var

x,x0,xk,deltax,y,d:real;

begin

writeln('vvedite x0,xk,deltax');

read(x0,xk,deltax);

writeln('tablica funkcii y(x)');

writeln('x y(x)');

x:=x0; d:=(xk-x0)/deltax;

repeat

if x<2.8 then y:=(a+b)/(exp(x)+cos(x))

else if (x>=2.8) and (x<6) then y:=(a+b)/(x+1) else y:=exp(x)+sin(x);

writeln ('x=', x:8:3, 'y=', y:8:3);

x:=x+deltax;

until x>xk;

end.

1. Блок-схема для оператора с известным числом повторений For … to …do

нет

нет

да

да

a=2.6, b=-0.39, deltax=0.5

d=(xk-x0)/deltax

x=x0

t=trunc(d)+1

a=1,t

s=(a+b)/(ex+cos(x))

s=(a+b)/(x+1)

x=x +deltax

s=ex+sin(x)

2. Блок-схема для оператора с предусловием While…do

нет

да

a=2.6, b=-0.39

d=(xk-x0)/deltax

x=x0

нет

нет

да

да

s=(a+b)/(ex+cos(x))

s=(a+b)/(x+1)

x=x+deltax

s=ex+sin(x)

3. Блок-схема для оператора с послеусловием Repeat…Until

да

Таблица функции Z(x):

x Z(x)

0.000 1.105

0.500 0.875

1.000 0.678

1.500 0.485

2.000 0.317

2.500 0.194

3.000 0.552

3.500 0.491

4.000 0.442

4.500 0.402

5.000 0.368

5.500 0.340

6.000 403.149

6.500 665.357

7.000 1097

Соседние файлы в папке лабораторная работа