Структура программы на языке Паскаль

Программа состоит из заголовка и блока.

Заголовок программы

В заголовке указывается имя программы и список параметров. Общий вид:

program n (input, output, x, y, ...);

здесь n — имя программы; input — файл ввода; output — файл вывода; x, y — внешние файлы, используемые в программе. Троеточия обозначает, что имен может быть больше.

Заголовка может и не быть, или он может быть без параметров.

Блок

Блок программы состоит из шести разделов, следующих в строго определенном порядке:

  1. метки (label)
  2. константы (const)
  3. типы (type)
  4. переменные (var)
  5. процедуры и функции
  6. действия (операторы)

Раздел действий должен присутствовать всегда, остальные разделы могут отсутствовать.

Каждый из первых четырех разделов начинается с соответствующего ключевого слова (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, после которого должна стоять точка. Раздел действий есть выполняемая часть программы, состоящая из операторов.