- •Лекція №3
- •План лекції
- •Структура програми
- •Заголовок програми
- •Розділ вказівки використовуваних модулів (Речення uses)
- •Розділ описів
- •Описи міток (позначок)
- •Опис констант
- •Прості константи
- •Типізовані константи
- •Типізовані константи структурованих типів
- •Опис типів
- •Опис змінних
- •Опис експорту
- •Розділ операторів (операторний блок)
- •Стандартні процедури введення (Read, ReadLn) і виведення (Write, WriteLn)
- •Формати виведення.
- •Зверніть увагу на наявність пропусків перед символами b і d: ‘ b‘ і ‘ d’. Ці пропуски не допускають злиття зображень даних на екрані. Оператори мови Pascal
- •Оператор присвоєння
- •Оператор процедури
- •Оператор переходу
- •Порожній оператор
- •Структурні оператори
- •Складений оператор
- •Умовні оператори
- •Умовний оператор if
- •Оператор вибору (варіанта)
Оператор присвоєння
var А, В, С : Real; і, j, k : Integer; Flag : Boolean; Vecl, Vec2: array [1..10] of Byte; Reс1, Rec2: record Ch : Char; X : Real; end; Setl, Set2 : set of Char; Begin A := В * З; і := j div k; Flag := (i <> 1) and (B < C); Vecl := Vec2; Reсl := Rec2; Setl := Set2; End. |
В
иконання
оператора присвоєння приводить до
обчислення значення, що визначається
виразом, і присвоєння цього значення
змінній, що ідентифікується ім'ям, яке
стоїть ліворуч від символу присвоєння.
У випадку якщо ліворуч
стоїть ідентифікатор функції, виконується
визначення результату
функції, тобто значення,
що повертає функцією в точку виклику.
Допускається присвоєння значень не тільки простих, але й структурованих типів, таких як масиви, записи й множини.
Обов'язковим є вимога, щоб тип виразу в правій частині оператора й тип змінної або результату функції в лівій частині оператора були сумісні по присвоєнню.
Оператор процедури
О
ператор
процедури складається
з ідентифікатора, безпосередньо за яким
розташовується в круглих дужках список
фактичних параметрів. Оператор процедури
без параметрів складається тільки з
ідентифікатора процедури.
Summa (A, m, n, Sum); Initialize; Swap (X, Y); |
program Prim; procedure Hello; begin WriteLn('Hello'); end; begin Hello; end.
|
program Prim; uses Crt; procedure Hello(Stroka); begin WriteLn(Stroka); end; Begin Clrscr; GoToXY(40,15); Hello('Привіт!'); end. |
Приклади:
Оператор переходу
О
ператор
переходу складається
із ключового слова goto,
після якого вказується
мітка.
Виконання оператора goto приводить до передачі керування на оператор, перед яким стоїть зазначена в операторі goto мітка.
Обов'язковим є вимога, щоб мітка, зазначена в операторі переходу, розташовувалася в тому ж блоці або модулі, що й сам оператор goto. Це означає, що за допомогою оператора переходу заборонена передача керування усередину процедури (функції), а також передача керування із процедури (функції) у основну програму.
Варто помітити, що оператор goto суперечить принципам структурного програмування, і його використання в програмах не рекомендується. Особливо небезпечним є застосування оператора переходу в Turbo Pascal, у якому значно ослаблені, у порівнянні зі стандартом мови Pascal, обмеження на використання goto. Зокрема компілятор не видає повідомлення про помилку передачі керування усередину структурних операторів (наприклад, оператора for), що найчастіше приводить до непередбачених дій програми.
З огляду на сказане, можна порекомендувати взагалі виключити використання оператора переходу при написанні програм. Тим більше, що в Turbo Pascal включені певні процедури Break і Continue, які спеціально призначені ситуацій, у яких найбільше часто використається оператор goto.
