Крім умовного оператора If в мові програмування Pascal існує оператор вибору Case of. Розглянемо його застосування на прикладі програми, яка виводить на екран ту чи іншу повідомлення, в залежності від введеного числа.
Висновок повідомлення на екран за допомогою If.
program vetvlenija7; uses crt; var NUM: integer; begin clrscr; writeln ( 'Введіть число від 1 до 4:'); readln (NUM); if NUM = 0 then writeln ( 'Нуль'); if NUM = 1 then writeln ( 'Один'); if NUM = 2 then writeln ( 'Два') if NUM = 3 then writeln ( 'Три') if NUM = 4 then writeln ( 'Чотири'); readln end.
Ця програма виводить на екран повідомлення (Нуль, Один і т. Д.) В залежності від того яке ми введемо число. Однак, те саме завдання можна виконати більш простим способом за допомогою оператора Case of.
Використання Case Of.
program vetvlenija7; uses crt; var NUM: integer; begin clrscr; writeln ( 'Введіть число від 0 до 4:'); readln (NUM); case NUM of 0: writeln ( 'Нуль'); 1: writeln ( 'Один'); 2: writeln ( 'Два'); 3: writeln ( 'Три'); 4: writeln ( 'Чотири'); end; readln end.
У рядку №8 записується оператор вибору Case Of. Спочатку записується слово Case, потім записується змінна, потім слово Of. Після службового слова Of йде перерахування всіх можливих значень змінної (рядок №9 - №13), а через двокрапку вказується дія, яку потрібно зробити, якщо змінна приймає те чи інше значення. Таким чином, якщо ми вводимо з клавіатури 0, то на екран виводиться повідомлення «Нуль» (рядок №9), якщо вводимо 1, то виводиться повідомлення «Один» (рядок №10) і т.д.
Нам не потрібно кожен раз писати конструкцію If ... Then.
Досить вказати CASE «змінна» OF, а потім для кожного значення цієї змінної через двокрапку прописати висновок на екран. Після перерахування всіх операторів необхідно поставити службове слово End.
Запустимо програму і введемо будь-яке число від 0 до 4 (наприклад, 4)
Напишемо програму, яка визначає квартал року по введеному числу місяця.
Використання Case Of Else.
program vetvlenija8; uses crt; var NUM: integer; begin clrscr; write ( 'Введіть номер місяця'); readln (NUM); case NUM of 1,2,3: writeln ( 'Перший квартал'); 4,5,6: writeln ( 'Другий квартал'); 7,8,9: writeln ( 'Третій квартал'); 10,11,12: writeln ( 'Четвертий квартал') else writeln ( 'Ви неправильно вказали місяць') end; readln end.
У рядку №8 записуємо оператор вибору Case Of. Після слова Of (в рядках №9 - №12) вказуємо можливі значення нашої змінної. Причому кілька значень можна вказати в одному рядку. Наприклад, в рядку №9 ми вказуємо 3 значення для змінної і дія, яку потрібно зробити, якщо будуть введені ці змінні. Тобто якщо ми вводимо з клавіатури 1 або 2 або 3, то на екран виводиться повідомлення «Перший квартал».
У рядку №13 записується службове слово Else. Якщо ми вводимо з клавіатури число, яке лежить поза діапазону чисел від 1 до 12, то має відбутися дію, яке вказується після слова Else (рядок №14).
Записуємо програму в Паскалі, запускаємо її і перевіряємо працездатність, вводячи різні числа.
Доповнення до матеріалу.
В даному прикладі замість перерахування значень змінної можна використовувати діапазон значень змінної. Наприклад, рядок №9 можна записати так: 1..3: writeln ( 'Перший квартал'); Тобто спочатку вказується перше значення змінної, а потім через 2 точки вказується останнє значення змінної.
Наступна стаття: Цикли в Паскаль.