Конструкція розгалуження if then else

Оператор 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.   

Дивіться також: