Програма складається з заголовка і блоку.
Тема програми
У заголовку вказується ім'я програми і список параметрів. Загальний вигляд:
program n (input, output, x, y, ...);
тут n - ім'я програми; input - файл вводу; output - файл виводу; x, y - зовнішні файли, використовувані в програмі.
Заголовка може і не бути або він може бути без параметрів.
Блок
Блок програми складається з шести розділів, наступних у суворо визначеному порядку:
- розділ міток (label)
- розділ констант (const)
- розділ типів (type)
- розділ змінних (var)
- розділ процедур і функцій
- розділ дій (операторів).
Розділ дій повинен бути присутнім завжди, решта розділи можуть бути відсутні.
Кожен з перших чотирьох розділів починається з відповідного ключового слова (label, const, type, var), яке записується один раз на початку розділу і відокремлюється від подальшої інформації тільки прогалиною, або кінцем рядка, або коментарем.
Розділ міток (label)
Будь виконуваний оператор може бути забезпечений міткою - цілої позитивної константою, що містить не більше 4-х цифр. Усі мітки, що зустрічаються в програмі, повинні бути описані в розділі label.
Загальний вигляд:
label l1, l2, l3 ...;
тут l1, l2, l3 - мітки.
Приклад. label 5, 10, 100;
Мітка відділяється від оператора двокрапкою.
Приклад. Нехай оператор a: = b має позначку 20. Тоді цей оператор виглядає так:
Розділ констант (const)
Якщо в програмі використовуються константи, які мають досить громіздку запис (наприклад, число пі з 8-ма знаками), або змінні константи (для завдання варіанту програми), то такі константи зазвичай позначаються якими-небудь іменами і описуються в розділі const, а в програмі використовуються тільки імена констант. Це робить програму більш наочною і зручною при налагодженні та внесення змін.
Загальний вигляд:
const a1 = c1; a2 = c2; ...
тут a1 - ім'я константи, c1 - значення константи.
Приклад. const pi = 3.14; c = 2.7531;
Розділ типів (type)
Якщо в програмі вводиться тип, відмінний від стандартного, то цей тип описується в розділі type:
type t1 = від_тіпа;
t2 = від_тіпа;
де t1 і t2 - ідентифікатори вводяться типів.
Потім тип використовується при оголошенні змінних.
Приклад використання нестандартних типів:
Const
Len = 40 ;
Type
Year = 1930..2010;
names = string [ len ] ;
VAR
EMPL : names;
y : year;
Розділ опису типів має велике значення в програмі на мові Pascal. Якщо в програмі не використовувати типи, то можна зіткнутися з несумісністю типів змінних, навіть якщо вони описані однаково.
Розділ змінних (var)
Нехай в програмі зустрічаються змінні v11, v12, ...; всі вони повинні бути описані наступним чином:
var v11, v12, ...: type1;
v21, v22, ...: type2; ...
тут v11, v12, ... - імена змінних; type1 - тип змінних v11, v12, ...; type2 - тип змінних v21, v22, ....
Приклад. var k, i, j: integer; a, b: real;
Кожна змінна повинна бути описана до її використання в програмі і віднесена до одного і тільки одного типу. Назви розділів (const, type, var ...) вказуються лише один раз.
Приклад.
VAR A : real ;
b : real ;
Таким чином, в розділі var вводиться ім'я кожної змінної і вказується, до якого типу ця змінна належить. Тип змінної можна задати двома способами: вказати ім'я типу (наприклад, real, color і т.д.), або описати сам тип, наприклад: array [1..16] of char
Розділ процедур і функцій
Тут присутні заголовки і тіла користувальницьких процедур і функцій.
Розділ дій (операторів)
Ця частина програми починається з ключового слова begin і закінчується словом end, після якого повинна стояти крапка. Розділ дій є виконувана частина програми, що складається з операторів.