Оператор if then позволяет выполнять условное ветвление хода программы на основании результата логической операции.
Пример использования оператора:
if a > b then
write('a > b');
{если перевести код на русский язык, то выходит
если a > b тогда
вывести('a > b');
}
Процедура write выполниться только в случае, когда переменная a больше b.
Конструкцию можно дополнить словом else(иначе).
if a > b then
write('a > b')
else
write('a < b');
{если перевести код на русский язык, то выходит
если a > b тогда
вывести('a > b')
иначе
вывести('a < b')
}
Перед ключевым словом else точка с запятой не указывается.
Напишем программу на языке Pascal для сравнения двух целых чисел. Будем использовать полное ветвление.
{$CODEPAGE UTF8}
program CompareNums;
var
numOne, numTwo : integer;
begin
write('Введите первое число ');
readln(numOne);
write('Введите второе число ');
readln(numTwo);
if numOne = numTwo then
writeln(numOne, ' = ', numTwo)
else
if numOne < numTwo then
writeln(numOne, ' < ', numTwo)
else
writeln(numOne, ' > ', numTwo);
writeln('Для выхода из программы нажмите клавишу Enter');
readln;
end.
Из примера мы видим что конструкции ветвления можно комбинировать, создавая вложенные.
В теле if then может содержаться только один оператор, если требуется выполнить несколько операций, то вы можете использовать операторные скобки - begin end;
Если нужно проверить несколько условий, можно использовать условные выражения.
Программа на Паскаль в IDE Lazarus, которая попробует угадать, чем занимается пользователь исходя из его возраста.
{$CODEPAGE UTF8}
program CheckUserAge;
var
age : integer;
begin
write('Сколько вам лет ');
readln(age);
if age < 1 then
writeln('Значение не может быть меньше 4')
else
begin
write('Скорее всего Вы ');
if age < 6 then
writeln('ходите в садик');
if (age >= 6) and (age < 18) then
writeln('учитесь в школе');
if (age >=18) and (age <= 21) then
writeln('студент');
if age > 21 then
writeln('работаете');
end;
writeln('Для выхода из программы нажмите клавишу Enter');
readln;
end.