Програмування: Структури перехід та вибір варіанту, типи символів та перелічувані.
if signop=3 then first:=first*second else
{signop=4}
first:=first/second;
Цей оператор задає вибір потрібного оператора з тих, які записано після слів then, залежно від значення змінної signop. Такий вибір у мові Паскаль можна задати інакше, використавши оператор вибору варіантів, або case-оператор (case – англійське "випадок"). У даній програмі він має вигляд:
case signop of
1: first:=first+second;
2: first:=first-second;
3: first:=first*second;
4: first:=first/second
end;
Вираз після слова case (тут це ім'я signop) називається селектором варіантів. Його значення послідовно порівнюється з числами, що "відмічають" оператори-варіанти. Як тільки значення селектора співпаде з числом, буде виконано відповідний оператор, і все закінчиться. Якщо ж значення селектора відрізняється від усіх чисел-відміток
варіантів, то жодний із варіантів не виконується.
Селектором може бути довільний вираз будь-якого перелічуваного типу. Варіант може бути відмічений списком із кількох сталих відповідного типу; вони записуються через кому. Наприклад, нехай робочий час у робочі дні 8 годин, а у вихідні – 0. За дії означення типу Weekd ми можемо запам'ятати в змінній wt робочий час:
var dd : Weekd; wt : integer;
…
case dd of
Mon, Tue, Wed,Thu, Fri : wt:=8;
Sat, Sun : wt := 0
end.
Значення селектора порівнюється з усіма значеннями в черговому списку, і варіант виконується, якщо воно дорівнює одному зі значень списку. Множини значень у списках можуть перетинатися – буде виконано той варіант, у списку якого вперше знайдене значення селектора.
У мові Бор ланд-Паскаль у списках, що відзначають варіанти, можна записувати не тільки сталі, але й діапазони.
Наприклад, останній оператор можна переписати так: