КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Case Селектор of. Оператор поліваріантного вибору
Оператор поліваріантного вибору Слід пам’ятати правило: ключове слово else зв’язується з найближчим перед ним ключовим словом if, яке ще не було зв’язане з яким-небудь ключовим словом else. Begin Then оператор1; if Умова2 then оператор2 else оператор3; оператор4 end else begin оператор5; if Умова3 then оператор6 end;
Однак якщо вкладений оператор if є єдиним оператором в гілці альтернативи, то може виникнути невизначеність: якому If відповідає гілка else. Наприклад: if Умова then if Умова then оператор1 else оператор2;
Якщо в попередньому прикладі більш чітко визначити структуру вкладеності, записавши else на одному рівні з then, якому воно відповідає, то отримаємо фрагмент: if Умова then if Умова then оператор1 else оператор2;
Оператор вибору Case дає можливість виконати одну з декількох дій в залежності від значення керуючого виразу (перемикача, селектора).
Наведемо синтаксис повної форми оператора вибору: Список_констант_1: Оператор_1; Список_констант_2: Оператор_2; ...................................................... Список_констант_N: Оператор_N else Оператор_Х end; де Case, of, else, end – ключові слова; Селектор – змінна або вираз порядкового типу; Список_констант – перелік констант, розділених комами, або діапазони констант, типи яких збігається з типом селектору; оператор – будь який оператор.
Важливо. Селектор (керуючий вираз) може бути лише порядкового типу, тобто символьного, цілочислових, логічного, перелічуваного та інтервального типів. Не можна використовувати вирази, що повертають значення дійсних, рядкових або структурованих типів. Ключове слово, end позначає кінець оператору
Якщо константи являють собою діапазон чисел, то замість списку можна навести першу та останню константи діапазону, які будуть розділені двома крапками. Наприклад, список 1, 2, 3, 4 можна записати як 1.. 4.
Дія оператора. Спочатку обчислюється значення керуючого виразу (Селектору). Отримане значення порівнюється із списками констант. Якщо Селектор приймає одне із значень якого-небудь Списку_констант, то виконується відповідний цьому списку Оператор, а решта операторів пропускається. Оператор_Х буде виконуватися в тому разі, якщо значення Селектору не співпало з жодним із значень Списків_констант від 1-го до N-гo (тобто виконається оператор, наступний за словом else). В неповній формі оператора Case альтернативне всім попереднім варіантам вибору розгалуження else відсутнє. Таким чином, якщо значення Селектору не співпадає з жодним із значень констант вибору, не виконується жодний з операторів, описаних в Case, і керування передається оператору, наступному за ключовим словом end, що замикає оператор Case. Блок-схема алгоритму інструкції Case виглядає як
Задача. Скласти програму, що виводить на екран дисплея назву пори року, залежно від введеного номера місяця. При розв'язанні цієї задачі Case можна записати різними способами. На початку розглянемо найпростіший випадок, коли списки міток являють собою безпосереднє перерахування номерів місяців. program Ex_6; var n: 1..12; //Використовується інтервальний тип
Дата добавления: 2014-01-07; Просмотров: 571; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |