Ветвящиеся алгоритмы
Для программирования ветвящихся алгоритмов применяются условный оператор и оператор выбора.
Условный оператор имеет следующий формат:
If <логическое выражение> Then <оператор 1>
Else <оператор 2>;
Операторы 1 и 2 могут быть простыми или составными. Если логическое выражение, выступающее в качестве условия, ветвления, принимает значения False, то выполняется оператор 2, если True - оператор 1.
Неполная форма условного оператора:
If<логическое выражение> Then <оператор>;
Пример. Из трех данных вещественных чисел X,Y,Z выбрать наибольшее.
Решение. Используем алгоритм с вложенными полными ветвлениями.
Program max 3;
Uses crt;
Var x,y,z, max : real;
Begin
Write('введите x, y, z ');
Readln (x, y ,z);
If x>=y
Then If x>=z Then max:=x Else max:=z
Else If y>=z Then max:=y Else max:=z;
Writeln ('максимальное значение=' , max)
End.
Оператор выбора позволяет программировать ветвления по многим направлениям. Этот оператор организует переход на одну из нескольких ветвей в зависимости от значения заданного выражения(селектора выбора).
Case K of
A1: <оператор 1>;
A2: <оператор 2>;
...
AN: <оператор N>;
Else <оператор N+1>
End;
Здесь K-выражение-селектор, которое может иметь только простой порядковый тип(целый, символьный, логический).
A1,..,AN - константы того же типа, что и селектор, выполняющие роль меток ветвей. Исполнение оператора начинается с вычисления выражения K, полученное значение сравнивается с константами (метками) и выполняется соответствующий оператор. Если ни одна из меток не совпала со значением K, то выполняется оператор после слова else. Метки ветвей также могут быть заданы списком или интервалом.
