РАЗВЕТВЛЯЮЩИЯСЯ ПРОГРАММЫ
ПРИМЕР ЛИНЕЙНОЙ ПРОГРАММЫ
Теперь, когда мы познакомились с операторами, необходимыми для составления линейной программы, рассмотрим еще один пример такой программы. Пусть дано два числа a и b - длины сторон прямоугольника. Найти площадь s и периметр p прямоугольника. На рис.6 представлена графическая схема алгоритма решения данной задачи, а программа приведена в примере pr2.
Рис. 6 |
program pr2 ;
var
a,b,s,p:real;
begin
writeln('Введите длины стоpон пpямоугольника:');
read(a,b);
s:=a*b;
p:=(a+b)*2;
writeln('Площадь = ',s:5:3);
writeln('Пеpиметp = ',p:5:3);
end.
В этой программе все операторы выполняются последовательно друг за другом. Выполнение программы начинается с вызова процедуры вывода writeln, которая выводит на экран подсказку "Введите длины сторон прямоугольника:", что обеспечивает удобный интерфейс с пользователем. Вызов процедуры read приводит к прерыванию программы до тех пор, пока пользователь не введет два числа. Далее вычисляются площадь и периметр прямоугольника и выводятся результаты на экран.
К разветвляющимся программам приводят задачи, в которых, в зависимости от некоторого условия, вычисления производятся тем или иным путем. Пусть нам необходимо вычислить значение y по формуле:
На рис.7 приведена графическая схема алгоритма, а программа - в примере pr3.
Рис. 7 |
program pr3;
var
x,y:real;
begin
writeln('Введите x:');
readln(x);
if x>0
then
y:=x*x*x+3
else
y:=x*sin(x);
writeln(y);
end.
В этой программе впервые встречается условный оператор и служит для выбора формулы вычисления y в зависимости от введенного значения x.