Пример выполнения алгоритма с использованием оператора цикла
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;