Мета уроку: Дати поняття про форми вказівки вибору
Теоретичний матеріал
Цей оператор є узагальненням оператора if і дозволяє зробити вибір із довільного числа наявних варіантів. Він складається з виразу, що називається селектором, і списку параметрів, кожному з яких передує список констант вибору (список може складатися і з однієї константи). Як і в операторі ifтут може бути присутнім слово else, що має той же зміст. Формат опису:
case < вираз-селектор > of
< список констант вибору1 > : < оператор 1 >;
< список констант вибору 2 > : < оператор 2 >;
. . . .
< список констант вибору n > : < оператор n >
else < оператор >
end;
Оператор caseпрацює наступним чином. Спочатку обчислюється значення виразу-селектора, потім забезпечується реалізація того оператора, константа вибору якого дорівнює поточному значенню селектора. Якщо жодна з констант не дорівнює поточному значенню селектора, виконується оператор, що знаходиться за словом else. Якщо слово elseвідсутнє, активізується оператор, що знаходиться за словом end, тобто перший оператор за межею дії case.
Селектор повинен відноситися до одного з перелічувальних типів (цілого, булівського або літерного). Дійсні та рядкові типи використовувати в якості селектора заборонено. Список констант вибору складається з довільної кількості значень або діапазонів, відділених один від одного комами. Межі діапазону записуються двома константами через складений символ діапазону «..». Тип констант у будь-якому випадку повинен збігатися з типом селектора. Щоб краще зрозуміти використання оператора вибору, розглянемо кілька типових задач.
ЗАДАЧА №134
Умова задачі:Розробити діалогову програму, яка запитує вік користувача і визначає, до якої вікової категорії він належить:
1) від 1 до 10 років — дитина;
2) від 11 до 15 років - підліток;
3) відіб до 20 років - юнак (юнка);
4) від 21 до 30 років - молода людина;
5) після 31 року - доросла людина.
Особливих пояснень ця задача не потребує, адже її можна розв'язати і за допомогою команди розгалуження. Однак зробимо її за допомогою команди вибору, причому, щоб скористатися гілкою Else, будемо вважати, що людина може мати вік не більше 150 років (навіть за всіма відомими рекордами, людина не може жити більше 150 років). Якщо ж користувач введе число, що не входить у дозволений діапазон, будемо вважати, що він пожартував.