Конструкция ветвления if then else

Обновлено: 18.02.2019

Оператор 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.   
Поделиться: Vk Ok