Оператор варіанту case
Питання
- 1. Яке призначення оператора варіанту case в програмі?
- 2. Який загальний вигляд оператора варіанту case?
- 3. Яке призначення блоку else в операторі case?
- 4. Приклад використання оператора case без використання блоку else.
- 5. Приклад використання оператора case з використанням блоку else.
- 6. Приклад використання оператора case, в якому мітки задаються діапазоном значень
1. Яке призначення оператора варіанту case в програмі?
Оператор варіанту застосовується для виконання одного оператора з декількох, в залежності від значення змінної (чи результату обчислення виразу), яка вказується між словами case і of.
⇑
2. Який загальний вигляд оператора варіанту case?
Загальний вигляд оператора варіанту:
case ordinal_expression of 1: statement1; // виконується якщо ordinal_expression=1 2, 3: statement2; // виконується якщо ordinal_expression = 2 або // ordinal_expression = 3 else statement3; // виконується у всіх інших випадках end;
Тут змінна ordinal_expression називається селектором. Селектор має обов’язково порядковий тип.
statement1, statement2, statement3 – один або декілька (беруться в операторні дужки begin та end) операторів.
Цифри 1, 2, 3 є мітками. Мітки відділяються від операторів двокрапкою. Мітки представляють значення, які може приймати селектор. При звертанні до оператора case виконується оператор, мітка якого відповідає значенню селектора. Мітки в операторі case можуть задаватися у вигляді діапазонів.
Оператор варіанту case може виконуватись і без використання блоку else. У цьому випадку загальний вигляд оператора case наступний:
case ordinal_expression of 1: statement1; // виконується якщо ordinal_expression=1 2, 3: statement2; // виконується якщо ordinal_expression = 2 або // ordinal_expression = 3 end;
Якщо значення ordinal_expression не містить жодного з тих, що вказані в мітках (1, 2, 3), то виконується оператор, який слідує одразу за оператором case.
⇑
3. Яке призначення блоку else в операторі case?
Оператор , розміщений після else, виконується в тому випадку, якщо значення селектора не відповідає ні одній з вказаних міток.
⇑
4. Приклад використання оператора case без використання блоку else.
Задано число n (n = 1..3), яке є номером функції. За значенням n обчислити:
Фрагмент коду, що розв’язує дану задачу:
... case n of 1: y:=sin(x); 2: y:=cos(x); 3: y:=sin(x)/cos(x); end; ...
⇑
5. Приклад використання оператора case з використанням блоку else.
Написати фрагмент програмного коду, який за заданим номером місяця n визначає кількість днів у цьому місяці. Кількість днів зберігається в змінній k.
... case n of 2: k:=28; 4, 6, 9, 11: k:=30; else k:=31; end; ...
⇑
6. Приклад використання оператора case, в якому мітки задаються діапазоном значень.
Фрагмент коду, в якому на основі номеру дня n = 1..7, визначається чи вихідний він (true) чи ні (false):
... case num of 1..5: f_day_off := false; 6,7: f_day_off := true; end; ...