Для организации ветвления в программе на языке Паскаль используются условный оператор (конструкция ветвления в полной и сокращенной форме) и оператор варианта.
Ветвление в полной форме:
If <условие>
Then <оператор 1>
Else <оператор 2>;
где <условие > - логическое выражение, которое может принять одно из двух значений – истина или ложь; условия могут быть простыми (с использованием операций отношения >, <, =, <>, <=, >=) или сложными (с использованием логических операций Not, And, Or, Xor);
<оператор 1> и <оператор 2> - простые или составные операторы. <оператор 1> будет исполнен в случае, когда условие истинно. <оператор 2> - если условие ложно. Одновременно <оператор 1> и <оператор 2> выполнены быть не могут. Ветвление в полной форме может быть представлено в виде блок-схемы на Рис. 1.
Ветвление в сокращенной форме:
If <условие>
Then <оператор>;
Ветвление в сокращенной форме может быть представлено в виде блок-схемы на Рис. 2.
Оператор варианта:
Позволят осуществить множественный выбор. Имеет вид:
Case <переключатель> Of
<константа 1> : <оператор 1>;
<константа 2> : <оператор 2>;
…
<константа n> : <оператор n>
Else <оператор>
End;
где <переключатель> - переменная (выражение) перечислимого типа (из стандартных к перечислимым относятся Integer, Char, Boolean);
<константа i> - возможные значения переключателя;
<оператор i> - простой или составной оператор, который будет исполнен в случае, если значение переключателя будет равным соответствующей константе;
<оператор> - простой или составной оператор, который будет исполнен в случае, если значение переключателя не совпадет ни с одной из констант.
Примеры решаемых задач
Пример 1. Составить программу, которая определит большее из двух введенных чисел.
Программа:
Program maximum;
Uses Crt;
Var A, B : Integer;
Begin
Clrscr;
Write (‘Введите два числа ’);
Readln (A, B);
If A>B
Then Writeln (‘Большее число ’, A)
Else If B>A
Then Writeln (‘Большее число ’, B)
Else Writeln (‘Числа равны’);
Readln
End.
Пример 2. Составить программу, которая вводит число, обозначающее количество лет, и выводит для этого числа наименование «год», «года» или «лет». Например, «14 лет», «183 года», «31 год».
Составим модель данной задачи. Исходным данным является целое число A. Результат: наименование. Наименование зависит от последней цифры введенного числа: 1 - «год»; 2,3,4 – «года», 0,5,6,7,8,9 – «лет». Исключением являются числа, две последних цифры которых составляют число от 11 до 14 – в этом случае требуемым наименованием будет «лет» («12 лет»).
Алгоритм решения:
ввод числа А;
вычисление числа В из двух последних цифр числа А;
если В лежит в интервале от 11 до 14,
то писать наименование «лет»
иначе
выделить последнюю цифру числа А (обозначим С);
если С=1, то вывести наименование «год»;
если С=2 или С=3 или С=4, то вывести наименование «года»;
если С=0 или С в интервале от 5 до 9, то вывести наименование «лет».