Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Оператори переходу






Оператор переходу goto здійснює передачу керування оператору, якому передає мітка, зазначена в даному операторі переходу. При використанні оператора переходу треба дотримуватись наступних правил:

1. Мітка, що вказується в операторі переходу, повинна знаходитися в тім же блоці модуля, що і сам оператор переходу. Іншими словами, не допускаються переходи з процедури чи функції усередину програми.

2. Перехід ззовні усередину структурного оператора (тобто перехід на більш глибокий рівень вкладеності) може викликати непередбачені ефекти, хоча компілятор не видає повідомлення про помилку. Наприклад, ви не повинні переходити в тіло циклу for.

Примітка: практика програмування вимагає мінімального використання переходів.

 

5.4.2. Структурні оператори

 

Структурні оператори будуються з інших операторів, порядок виконання яких повинний бути послідовним (складні оператори і оператори над записами), обумовленим передачею керування (умовні оператори) чи повторюваним (оператори циклу).

 

 

Складні оператори

 

Складні оператори задають порядок виконання операторів, що є їх елементами. Вони повинні виконуватися в тим порядку, у якому вони записані. Складні оператори обробляються, як один оператор, що має вирішальне значення там, де синтаксис Паскаля допускає використання тільки одного оператора. Оператори зазначаються в обмежниках begin I end, і відокремлюються друг від друга крапкою з комою.

Наведемо приклад складного оператора:

begin

Z: = X;

X: = Y;

Y: = Z;

end;

 

Умовні оператори

Умовні оператори дозволяють для виконання один з кількох операторів (або не вибрати жодного).

Оператор умови(if)

Синтаксис оператора if можна представити в такий спосіб:

 

if умова then оператор [ else оператор];

 

В умові (виразі іі визначаючим) повинен бути результат, що має стандартний булевский тип. Якщо результатом перевірки умови є вірне значення (True), то виконується оператор, що слідує за ключовим словом then.

Якщо результатом перевірки є значення False і присутнє ключове слово else, то виконаються оператор, що слідує за ключовим словом else. Якщо ключове слово else відсутнє, то ніякий оператор не виконується, буде працювати наступний за умовним оператором рядок програми.

У загальному випадку ключове слово else зв’язується з найближчим ключовим словом if, що ще не зв’язано з ключовим словом elsle.

Наведемо два приклади оператора if:

if P1 > 0 then writeln (‘P1 більше нуля’);

if X < 1.5 then

Z: = X+Y

else

Z: = 1.5;

 

Оператор варіанта (case)

Оператор варіанта (case) складається з виразу (перемикача) і списку операторів, кожному з яких передає одна чи більше констант (вони називаються константами вибору), так само може бути ключове слово else. Перемикач (селектор) повинний мати порядковий тип (розміром у байт чи слово). Таким чином, строковий тип довгий цілий тип є неприпустимими типами перемикача. Усі константи вибору повинні бути унікальними і мати порядковий тип, сумісний з типом перемикача.

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

Наведемо деякі приклади оператора варіанта:

Case Operator of

plus: X: = X+Y;

minus: X: = X-Y;

times: X: = X*Y;

end;

case l of

0, 2, 4, 6, 8: Writeln(‘Парна цифра’)

1, 3, 5, 7, 9: Writeln(‘Непарна цифра’)

10..100: Writeln(‘Між 10 і 100’)

Else Writeln(‘> 100’)

end;

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.