Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 Лабораторна робота.docx
Скачиваний:
8
Добавлен:
10.02.2016
Размер:
150.7 Кб
Скачать

2. 4 Оператор вибору варіанта

Оператор вибору варіанта є узагальненням умовного оператора: він дає можливість виконувати один з деяких операторів в залежності від значення певного виразу, що називається селектором.

У загальному вигляді оператор має вигляд :

case<селектор>of

<список-констант-1> : < оператор 1>;

<список-констант-2> : < оператор 2>;

……………………………………………

<список-констант-№> : < оператор N>;

else< оператор N+l>end;

Тут case(у разі), of(із), end(кінець) - службові слова;

<селектор> — вираз будь-якого скалярного типу, окрім дійсного; відповідно з цим і списки констант не можуть мати дійсний тип;

<оператор> - будь-який оператор мови, зокрема складений;

<список констант> - список відокремлених комами можливих значень селектора. Ці константи повинні мати той самий тип, що і селектор, вони називаються позначками варіантів. Позначка варіантів не описується у розділі Label, на неї не можна посилатися в операторі goto.

Оператор варіанта діє у такий спосіб. Якщо значення селектора дорівнює значенню однієї з констант, то виконується оператор, який помічений цією константою (позначкою). Після цього керування передається за межі оператора варіанта.

Якщо значення селектора не збігається з жодною з констант, то виконується оператор N+l. Else- необов’язкова частина. Якщо вона відсутня і значення селектора не збігається з жодною з позначок, то керування передається за межі оператора. На відміну від оператора if, перед elseнеобхідно ставити “;

Наприклад,

casenomer of

2: y:=g;

4: y:=g*x;

6: y:=g*sqrt (abs(X));

end;

Якщо селектор nomerдорівнюватиме 4, то виконається оператор y:=g*x, і управління буде надано операторові, розміщеному після слова End.

У операторі варіанта в якості константи припускається використання списку констант.

Наприклад,

casesof

‘+’, ‘-‘, ‘*’, ‘/’:p:=1;

'а', ‘b’: р:=2;

‘;’: р:=3;

end;

Змінна sмає бути описана у розділі опису як символьна. Якщо значенням sбуде один із символів‘+’, ‘-‘, ‘*’, ‘/’, то змінна р матиме значення 1. Якщозначенням sбуде символ 'а' або 'b', то р набере значення 2. Якщо sприйме значення ‘;’ то р дорівнюватиме 3.

Тип виразу селектора може бути визначено користувачем.

2.5 Приклади розв’язання задач із операторами ifі case

Приклад 1. Визначити приналежність заданого дійсного числа х до одного з двох відрізків: [а,Ь] або [c,d].

Якщо х належить одному з відрізків, то вивести повідомлення “Належить”, у противному разі - “Не належить”.

Пояснення.Виведення у вікно повідомлення реалізовується процедурою ShowMessageабо функцією MessageDlg. Процедура ShowMessageвиводить на екран просте діалогове вікно з текстом повідомлення з однією командною кнопкою ОК. Загальний вигляд процедур ShowMessageтакий:

ShowMessage («Повідомлення»);

Заголовок вікна повідомлення у цьому разі збігається з ім'ям файла проекту.

Функція MessageDlgдозволяє додати повідомлення однієї зі стандартних позначок Windows, наприклад, позначкою “Увага”, а також задати кількість і тип командних кнопок.

Схема алгоритму програми зображена на рис. 2.4.

Початок