
Оператори мови Паскаль. Умовний оператор. Повна і скорочена форма запису оператора. Оператор переходу. Оператор варіанту. Оператори циклу. Оператор циклу з передумовою (поки). Оператор циклу з післяумовою (до). Оператор циклу з параметром
ОПЕРАТОР БЕЗУМОВНОГО ПЕРЕХОДУ
Як правило оператори в програмі виконуються в тому порядку, у якому вони записані. Оператор безумовного переходу перериває природний порядок виконання програми і вказує, що подальше виконання повинно продовжуватися, починаючи з оператора, позначеного міткою, що зазначена в операторі переходу. Приклад запису оператора переходу:
Goto 218;
EЛЕМЕНТИ СТРУКТУРНОГО ПРОГРАМУВАННЯ НА БАЗІ PASCAL
Структуризована програма (або підпрограма) - це програма, складена з фіксованої множини базових конструкцій.
Розглянемо основні визначення і засоби утворення цих конструкцій у схемах алгоритмів. Мінімальними “цеглинками” виступають операції, розвилки, злиття.
З операцій, розвилок і злить будуються базові конструкції: слідування, розгалуження, цикл. Застосовуючи тільки ці три конструкції, можна реалізувати алгоритм рішення будь-якої задачі.
Конструкція, що поєднує у собі послідовне виконання двох або більш операцій, називається слідуванням.
Конструкція, що складається з розвилки, двох операцій і злиття, називається розгалуженням. Одна з операцій може відсутня.
Конструкція, що має лінії керування, що ведуть до операцій, що передують даним операціям, або до розвилок, називається циклом.
Конструкції слідування, розгалуження і цикл можна уявити як операції, тому що вони мають єдиний вхід і єдиний вихід. Довільну послідовність таких операцій можна уявити як одну операцію.
Операція може бути реалізована будь-яким оператором мови ПАСКАЛЬ (простим або складеним), або групою операторів, за винятком оператора переходу goto.
У мові ПАСКАЛЬ кількість базових конструкцій збільшене до шести, це:
слідування;
розгалуження;
цикл із передумовою;
цикл із постумовою;
цикл із параметром;
варіант.
Далі розглянемо, як ці базові конструкції реалізуються в мові ПАСКАЛЬ.
СЛІДУВАННЯ
Слідування у мові Паскаль представляється за допомогою послідовності інших операторів, розміщених між операторними дужками begin та end;.
РОЗГАЛУЖЕННЯ
Розгалуження реалізується через умовний оператор, який у короткій формі працює за правилом: “Якщо булевий вираз B істинний, то виконується оператор OP1, далі виконується оператор, що слідує за умовним. Якщо булевий вираз В хибний, то одразу буде виконуватися оператор, що слідує за цим умовним оператором. (if B then OP1)”.
У довгій формі працює за правилом: “Якщо булевий вираз В істинний, то виконується оператор ОР1, а, якщо B - хибний, то виконується оператор ОР2. Далі виконується оператор, що слідує за умовним. (if B then OP1 else OP2).”
ЦИКЛ З ПЕРЕДУМОВОЮ
Цикл з передумовою реалізується через Pascal-оператор while B do ОР1, який працює за правилом: “Якщо булевий вираз В істинний, то виконується оператор(и) ОР1. Якщо булевий вираз В – хибний, то виконання операторів ОР1 припиняється.”
ЦИКЛ З ПОСТУМОВОЮ
Цикл з постумовою реалізується через Pascal-оператор repeat ОР1 until В, який працює за правилом: “Якщо булевий вираз В хибний, то виконується оператор(и) ОР1. Якщо булевий вираз В істинний, то виконання операторів ОР1 припиняється.”
ЦИКЛ З ПАРАМЕТРОМ
Цикл з пареметром реалізується через Pascal-оператори for ... to ... do та for ... downto ... do. Дія цих операто¬рів відбувається певну кількість разів. Ця кількість залежить від початкових і кінцевих значень. В загальному випадку для першої форми кількість повторень (ітерацій) є різниця між кінцевим і початковим значенням, а для другої -навпаки.
ОПЕРАТОРИ ДОСТРОКОВОГО ВИХОДУ З ЦИКЛІВ
Для всіх операторів циклу вихід із циклу здійснюється як наслідок природного закінчення оператора циклу, так і за допомогою операторів безумовного переходу і виходу з циклу. Починаючи з версії ТУРБО ПАСКАЛЬ 7.0 визначені стандартні процедури Break і Continue. Процедура Break: виконує безумовний вихід із циклу. Процедура Continue забезпечує перехід до початку нової ітерації циклу.
ОПЕРАТОР ВАРІАНТУ
Ряд умовних операторів, що містять булеві операції з одним об’єктом можна об’єднати в один оператор варіанту. На мові Паскаль від реалізується через оператор case…of …end
If х=2 then у:=3; Case x of
If х=4 then у:=х+2; 2: y:=3;
If х=5 then y:=3*х; 4: y:=x+2;
If х=90 then у:=sqrt(х); 5:y:=3*x;
90: y:=sqrt(x);
end;
ЗАВДАННЯ ДО РОЗ’ЯЗАННЯ
1) Дано два дійсних числа. Вивести перше число, якщо воно більше другого, і обидва, якщо це не так.
2) Дано два дісних числа. Вибрати з них ті, які належать інтервалу (1,3).
3) Дані три дійсні числа. Піднести до квадрату ті з них, значення яких не від’ємні.
4) Дані дійсні числа a, b, c. Перевірити, чи виконуються нерівності a<b<c.
5) Дано дійсні числа x,y (x≠y). Менше з цих двох чисел замінити іх півсумою, а більше – їх подвійним добутком.