Очень часто в программе необходимо проводить определенный анализ данных и в зависимости от этого анализа происходит так называемое разветвление алгоритма, когда при выполнении условия (true) выполняются одни операторы, а при невыполнении условия (false) - другие.
If <условие=истина> then <оператор 1> else <оператор 2>;
Например,
var n: integer ;
begin
write ( 'Введите целое число: ' ); readln (n);
if n mod 2 = 0 then write ( 'Число четное.' ) else write ( 'Число нечетное.' );
end.
Команда mod возвращает остаток от деления n на 2.
Если в условии необходимо выполнить несколько операторов, то они выделяются begin .. end
If <условие=истина>
then
begin <оператор 1>; <оператор 2>; ..... <оператор n> end
else
begin <оператор 1>; <оператор 2>; ..... <оператор n> end;
Также возможен вариант, когда выполняются операторы только если условие истинно.
If <условие=истина> then <оператор 1>;
Также для разветвления алгоритма используется оператор выбора CASE.
Данный оператор позволяет написать свои операторы на каждое возможное значение переменной-селектора (переменной, по значению которой производится выбор).
CASE <переменная-селектор> of
<значение 1> : <оператор 1>; (либо группа операторов)
<значение 2> : <оператор 2>;
<...................> : <..................>;
<значение n> : <оператор n>;
end;
Переменная-селектор не может быть вещественно типа, только перечисляемого, например - integer или byte.
Рассмотрим пример: рандомно создадим 10 чисел от 1 до 10 и используя CASE напишем это число прописью.
Команда random возвращает случайное число от 0 до указанного в скобках.
А теперь рассмотрим более сложный алгоритм - возьмем двузначные числа.
Используемая функция в программе TRUNC - возвращает целую часть вещественного числа.