Структура програми
Оператори мови Pascal
Формати виведення.
ü Оператор присвоєння
ü Оператор процедури
ü Оператор переходу
ü Порожній оператор
14. Структурні оператори
ü Складений оператор
ü Умовні оператори
ü Умовний оператор if
ü Оператор вибору (варіанта)
Програма мовою PASCAL складається з: ЗАГОЛОВКА, БЛОКУ й закінчується крапкою. БЛОК, у свою чергу, містить РОЗДІЛ ОПИСІВ і РОЗДІЛ ОПЕРАТОРІВ. РОЗДІЛ ОПИСІВ включає описи міток, констант, типів, змінних, процедур і функцій. Деякі з названих розділів можуть бути відсутніми у конкретній програмі. РОЗДІЛ ОПЕРАТОРІВ являє собою так званий СКЛАДЕНИЙ ОПЕРАТОР, що містить послідовність виконуваних операторів, розділених крапкою з комою (;) і обмежених операторними дужками – службовими словами BEGIN, END. Перед END крапка з комою може не ставитися, однак, наявність цього знака (;) не є помилкою.
{ І. Заголовок програми }
program Ім'я_Програми;
{ II. Розділ вказівки використовуваних модулів }
uses Список_Використовуваних_Модулів;
{ III. Розділ описів }
label Опис_Міток;
<мітка>,...,<мітка>;
…;
const Опис_Констант;
<ім'я_константи>=<константа>;
<ім'я_константи>=<константа>;
…;
type Опис_Типів;
<ім'я_типу>=<тип>;
<ім'я_типу>=<тип>;
…;
var Опис_Змінних;
<ім'я_змінної>,...,<ім'я_змінної>:<тип>;
<ім'я_змінної>,...,<ім'я_змінної>:<тип>;
…;
procedure Опис_Процедур;
<заголовок_процедури>;
<Блок>;
function Опис_Функцій;
<заголовок_функції>;
<Блок>;
exports Опис_Експортованих_Імен;
{ IV. Розділ операторів (Операторний блок) }
begin
Оператори
end.
Заголовок програми в Turbo Pascal не є обов'язковим і використовується в декоративних цілях. Однак, якщо він все-таки є у програмі, то повинен бути записаний синтаксично коректно.
Приклади:
program Simp1e;
program Print (Output);
program GetPut (Input, Output);
program Complex (Input, Output, MyFile);
Помітимо, що внаслідок необов'язковості заголовка, в Turbo Pascal використовується, як правило, тільки перший з наведених варіантів, а параметри програми сьогодні вже не вказуються. Це вважається атавізмом в програмуванні.
Розділ вказівки використовуваних модулів (Речення uses)
Розділ вказівки використовуваних модулів починається із зарезервованого слова uses. Присутність у програмі речення uses не обов'язково. Воно описується у випадках, якщо в програмі використовуються константи, типи, змінні, процедури або функції, визначені в стандартних модулях Turbo Pascal, крім модуля System, або в модулях, створених користувачем.
Синтаксис речення uses має такий вигляд.
Приклади:
uses Crt, Graph;
uses Crt, Graph, Mylib, Stack;
Речення uses у кожній окремій програмі може бути описано тільки однократно й повинне розташовуватися безпосередньо після заголовка програми.
Стандартний модуль System завжди використовується за замовчуванням і вказувати його в реченнї uses не потрібно. Цей модуль підтримує такі засоби, як файлове введення-виведення, опрацювання рядків, операції із плаваючою комою, динамічний розподіл пам'яті. Інші стандартні модулі Turbo Pascal, такі як Dos, Crt, Graph і інші автоматично не підключаються й, у випадку використання, обов'язково вказуються в реченні uses.
Розділ описів
Розділ описів також як і попередні розділи є не обов'язковим. Однак без його використання можна написати тільки самі примітивні програми.
Підрозділи опису констант {const), типів (type), змінних (var), процедур (procedure), функцій (function) і експорту (exports) можуть повторрюватися багаторазово в рамках розділу описів у будь-якому порядку. Необхідно стежити лише за виконанням наступного правила.
type описи для розв’язування
var підзадачі 1
procedure
{------------------------------------------- }
label описи для розв’язування
const підзадачі 2
var
{------------------------------------------- }
…
{------------------------------------------- }
const
type описи для розв’язування
var підзадачі N
function
|
Правило: Якщо в описі якого-небудь елемента В (константи, типу, змінної, процедури, функції, списку експорту) використовується елемент А (константа, тип і т.д.), то елемент А повинен бути описаний перед елементом В.
Підрозділ опису експорту exports підтримується тільки версіями компілятора, що використають захищений режим процесора.
Багаторазове використання однакових підрозділів опису застосовується як у необхідних випадках, щоб виконати вимоги наведеного правила, так і для поліпшення структурованості описів і підвищення читабельності програми.
Наприклад,
Описи міток (позначок)
Мітки можуть передувати будь-якому операторові програми й відокремлюються від операторів двокрапкою (:). Використовуються мітки разом з операторами переходу goto, у яких мітка записується без двокрапки.
Наприклад,
label 1, Quit;
…
goto 1;
1: а := 1;
goto Quit;
…
Quit: end.
|
Будь-який оператор програми можна виділити (або позначити), поставивши перед ним мітку. Коли виникає необхідність перейти до якогось оператора програми для продовження алгоритму або повернутися назад і багаторазово повторити дії, можна користуватися мітками. Мітки в програмі дають можливість посилатися на потрібні оператори в спеціальних операторах керування й змінювати природний хід виконання програми. Всі мітки, що використовуються в програмі, повинні бути перераховані в розділі міток
Опис міток без звертання до них оператором goto безглуздо, хоча помилкою не вважається. Відзначимо також, що використання міток і операторів goto у більшості випадків суперечить принципам структурного програмування й тому рекомендується уникати застосування цих конструкцій у програмах.