Пример выполнения алгоритма с использованием оператора цикла

Begin

Пример алгоритма ветвления.

Begin

Writeln('Введите a,x,z');

Readln(a,x,z);

c:=sin(x*x)/cos(x*x);

y:=a*c*sqr(c)+sqrt(z*z/(a*a+x*x));

p:=ln(a+x*x)+sqr(sin(z/a));

Writeln('y=', y:8:3, ' p=', p:8:3)

end.

Для проверки работоспособности алгоритма необходимо задать значения входных переменных, вычислить конечный результат по алгоритму и сравнить с результатом ручного счета.

Вычислить значения функции

при значениях a=1.3; b=1.29; t=[0.1;2.2] (t изменяется в диапазоне от 0 до 2.1 с шагом 0.3).

 

Для реализации конструкции Ветвление в языке программирования Pascal используют оператор условного перехода IF<условие>THEN<оператор 1>ELSE< оператор 2>

Блок-схема алгоритма решения представлена на рисунке.

При тестировании алгоритмов с развилкой необходимо подбирать такие исходные данные, чтобы можно было проверить все ветви. В приведенном выше примере должно быть по крайней мере три тестовых набора.

Текст программы:

Program Prg_2;

var a,b,t,s: real;

Writeln(' Введите a,b,t');

Read(a,b,t);

if a*t<1 then s:=a*t+b;

if a*t=1 then s:=cos(a*t);

if a*t>1 then s:=exp(-a*t)*cos(a*t);

Writeln('a=',a:8:3,' b=',b:8:3,'t=',t:8:3,' s=',s:8:3)

end.

 

Блок-схема алгоритма решения задачи представлена на рисунке ниже.

В блоке 1 осуществляется ввод исходных данных: значений a и b, начального значения tn переменной t, конечного значения tk переменной t, шага изменения dt переменной t. Блок 2 присваивает переменной t начальное значение tn. Блок 3 осуществляет проверку условия t<tk и в зависимости от результата проверки заканчивает или продолжает расчет. Блоки 4,5 осуществляют проверку условия - значение аt меньше, равно или больше единицы - и в зависимости от результата сравнения проводится вычисления по одной из ветвей - 6, 7, 8. Блок 9 выводит на печать полученное значение функции s совместно со значениями t. Блок 10 увеличивает текущее значение переменной t на шаг и осуществляет безусловный переход к блоку 3

Текст программы:

program Prg_3;

var a,b,tn,tk,dt,s,t:real;