Оператор вибору case

Якщо один оператор if може забезпечити вибір з двох альтернатив, то оператор вибору case дозволяє зробити вибір з довільного числа наявних варіантів. Він складається з виразу, званого селектором (selection - вибір альтернативи), і списку параметрів. кожному з яких передує список констант вибору (список може складатися і з однієї константи).

Формат запису оператора case:

case <выражение-селектор> of

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

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

Оператор case працює наступним чином. Спочатку обчислюється значення виразу-селектора, потім забезпечується реалізація того оператора, константа вибору якого дорівнює поточному значенню селектора. Якщо жодна з констант не дорівнює поточному значенню селектора, виконується оператор, що стоїть за словом else. Якщо слово else відсутнє, активізується оператор, що знаходиться за словом end. т. е. перший оператор за кордоном case.

Селектор повинен належати до одного з цілочисельних типів (що знаходяться в діапазоні - 32768..32767): булевскому, літерних або призначеному для користувача. Список констант вибору складається з довільної кількості значень, або діапазонів, відділених один від одного комами. Межі діапазону записуються двома константами через розмежувач "..". Тип констант в будь-якому випадку повинен збігатися з типом селектора. У синтаксичному описі, наведеному вище, передбачається використання одного оператора для кожної альтернативи, але при необхідності можна задати кілька операторів, згрупувавши їх в складовою оператор. У той же час гілка else допускає використання послідовності операторів, розділених символом ";".

Правила використання оператора сase. При використанні оператора вибору case повинні виконуватися наступні правила:

1. Значення виразу "перемикача", записаного після службового слова case, повинні належати дискретного типу (лат. Discretus - переривчастий, дробовий, що складається з окремих частин); для цілого типу вони повинні лежати в діапазоні integer.

2. Всі константи, що передують операторам альтернатив, повинні мати тип, сумісний з типом виразу.

3. Всі константи в альтернативах повинні бути унікальні в межах оператора варіанта (т. Е. Повторення констант в альтернативах не допускаються); діапазони не повинні перетинатися і не повинні містити констант, зазначених в даній або інших альтернативах.

Форми запису оператора case.

Селектор інтервального типу:

1..10. Writeln ( 'число', I: 4, 'в діапазоні 1 10');

11. 20. Writeln ( 'число', I: 4, 'в діапазоні 11-20');

21. 30. Writein ( 'число', I: 4, 'в діапазоні 21-30')

else Writeln ( 'число', I: 4, 'поза межами контролю');

Селектор целочисленного типу:

Схожі статті