Вкладені умовні оператори - студопедія

Коли після ключових слів then і else знову використовуються умовні оператори, вони називаються вкладеними. Число вкладень може бути довільно, при цьому діє правило: else завжди відноситься до найближчого then. Часто вкладенням повних умовних операторів можна замінити використання складеного.

Пр. Визначити, в якій координатної чверті знаходиться точка з координатами (x, y), що не лежить на осях координат.

Варіант 1 - без використання вкладень

if (x> 0) and (y> 0) then p: = 1

else if (x<0) and (y>0) then p: = 2

else if (x<0) and (y<0) then p:=3

Варіант 2 - з вкладеннями

if x> 0 then begin

if y> 0 then p: = 1

if y> 0 then p: = 2

У першому фрагменті програмі перевіряється від 2 до 6 умов, у другому - завжди тільки 2 умови. Тут використання вкладень дало суттєву перевагу в продуктивності.

Пр 2. Обчислити значення y, рівне знаку числа x.

if x> 1 then y: = 1

else if x = 0 then y: = 0

if x> 1 then y: = 1

Тут в обох варіантах перевіряється не більше 2 умов, способи приблизно рівноцінні.

Оператор вибору. Для випадків, коли потрібно вибрати одного значення з кінцевого набору варіантів, оператор if зручніше замінювати оператором case:

case вираження of

Оператор виконується так само, як складової умовний оператор.

Вираз повинен мати порядковий тип (цілий або символьний). Елементи списку перераховуються через кому, ними можуть бути константи і діапазони значень того ж типу, що тип виразу. Діапазони вказуються у вигляді:

У діапазон входять всі значення від мінімального до максимального включно.

Пр. За номером місяця m визначити число днів d в ньому.

Пр. За символу c визначити і вивести, до якого класу символів він відноситься.

'A' .. 'Z', 'a' .. 'z': writeln ( 'Лат.буква');

'0' .. '9': writeln ( 'Цифра');

else writeln ( 'Інший символ');

Тут окремі діапазони для російських букв від "а" до "п" і від "р" до "я" пов'язані з тим, що між "п" і "р" в кодової таблиці DOS знаходиться ряд не-буквених символів (див. Додаток 1).

Якщо по гілці оператора case потрібно виконати декілька операторів, діє те ж правило, що для оператора if (гілка полягає в операторні дужки begin ... end;).

Схожі статті