Програмування основних алгоритмічних структур
if x>y then z:=x else z:=y;
2. Впорядкування значень двох змінних за зростанням
if x>y then
beginz:=x; x:=y; y:=z
end;
“Розширенням” оператора if є оператор варіанта case. Він призначений для вибору однієї з декількох альтернатив в залежності від значення селектора варіанта.
Вид оператора
Case селектор of
мітка1: оператор1;
мітка2: оператор2;
. . .
міткаN: операторN;
end;
Оператор case складається з виразу (селектора) і списку операторів, кожному з який передує мітка. Ці мітки називаються мітками варіанта і вони не повинні оголошуватись у розділі опису міток програми. При цьому мітки варіанта повинні мати той же тип, що і селектор. З визначення оператора case випливає, що в кожному випадку виконується лише один оператор - той, мітка якого дорівнює поточному значенню селектора. Якщо жодна з міток не дорівнює поточному значенню селектора, то ніякі оператори не виконуються.
Оператор варіанта має ще одну форму:
Case селектор of
мітка1: оператор1;
мітка2: оператор2;
. . .
міткаN: операторN;
else оператор(N+1);
end;
Цей оператор варіанта відрізняється від попереднього тим, що, якщо жодна з міток не дорівнює поточному значенню селектора, то виконується оператор, що слідує за зарезервованим словом else. Наявність альтернативи else в операторі case є розширенням стандартної мови ПАСКАЛЬ. Мітка оператора case може складатися з довільної кількості констант або діапазонів, відділених один від одного комами. Слідом за міткою ставиться двокрапка. Діапазон записується у виді двох констант, відділених один від одного роздільником “..”. Тип констант повинний збігатися з типом селектора. Оператор, записаний слідом за міткою оператора case, виконується в тому випадку, якщо значення селектора дорівнює однієї з констант або потрапляє в межі одного з зазначених діапазонів.