Структура программы на языке Паскаль
Программа состоит из заголовка и блока.
Заголовок программы
В заголовке указывается имя программы и список параметров. Общий вид:
program n (input, output, x, y, ...);
здесь n — имя программы; input — файл ввода; output — файл вывода; x, y — внешние файлы, используемые в программе. Троеточия обозначает, что имен может быть больше.
Заголовка может и не быть, или он может быть без параметров.
Блок
Блок программы состоит из шести разделов, следующих в строго определенном порядке:
- метки (label)
- константы (const)
- типы (type)
- переменные (var)
- процедуры и функции
- действия (операторы)
Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать.
Каждый из первых четырех разделов начинается с соответствующего ключевого слова (label, const, type, var), которое записывается один раз в начале раздела и отделяется от последующей информации только пробелом, либо концом строки, либо комментарием. Названия разделов (const, type, var, ...) указываются только один раз.
Раздел меток
Любой выполняемый оператор может быть снабжен меткой — целой положительной константой, содержащей не более 4-х цифр. Все метки, встречающиеся в программе, должны быть описаны в разделе label. Общий вид:
label l1, l2, l3, ...;
здесь l1, l2, l3 — метки.
Пример. label 5, 10, 100;
Метка отделяется от оператора двоеточием.
Пример. Пусть выражение a := b имеет метку 20. Тогда этот оператор выглядит так:
20: a := b;
Раздел констант
Если в программе используются константы, имеющие достаточно громоздкую запись (например, число π с 8-ю знаками), либо сменные константы (для задания варианта программы), то такие константы обычно обозначаются какими-либо именами и описываются в разделе const, а в программе используются только имена констант. Это делает программу более наглядной и удобной при отладке и внесении изменений. Общий вид:
const a1 = c1; a2 = c2; ...
здесь a1 — имя константы, c1 — значение константы.
Пример. const pi = 3.14; c = 2.7531;
Раздел типов
Если в программе вводится тип, отличный от стандартных, то этот тип описывается в разделе type:
type t1 = newType1; t2 = newType2;
где t1 и t2 — идентификаторы вводимых типов.
Затем тип используется при объявлении переменных.
Пример использования нестандартных типов:
const len=40; type year=1930..2010; names=string[len]; var empl: names; y: year;
Раздел описания типов имеет большое значение в программе на языке Pascal. Если в программе не использовать типы, то можно столкнуться с несовместимостью типов переменных, даже если они описаны одинаково.
Раздел переменных
Пусть в программе встречаются переменные 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;
Каждая переменная должна быть описана до ее использования в программе и отнесена к одному и только одному типу.
Таким образом, в разделе var вводится имя каждой переменной и указывается, к какому типу эта переменная принадлежит. Тип переменной можно задать двумя способами: указать имя типа (например, real, color и т.д.), либо описать сам тип, например: array[1..16] of char.
Раздел процедур и функций
Здесь присутствуют заголовки и тела пользовательских процедур и функций.
Раздел действий (операторов)
Эта часть программы начинается с ключевого слова begin и заканчивается словом end, после которого должна стоять точка. Раздел действий есть выполняемая часть программы, состоящая из операторов.