собой полное описание процедуры. Процедура считается описанной с помощью опережающего описания.
Если в программе будет содержаться довольно много подпрограмм, то программа перестанет быть наглядной, в ней будет тяжело ориентироваться. Во избежание этого некоторые подпрограммы хранят в виде исходных файлов на диске, а при необходимости они подключаются к основной программе на этапе компиляции при помощи директивы компиляции.
Директива – это специальный комментарий, который может быть размещен в любом месте программы, там, где может находиться и обычный комментарий. Однако они различаются тем, что у директивы имеется специальная форма записи: сразу после закрывающей скобки без пробела записывается знак S, а затем, опять же без пробела, указывается директива.
Пример
1) {SE+} – эмулировать математический сопроцессор;
2) {SF+} —формировать дальний тип вызова процедур и функций;
3) {SN+} – использовать математический сопроцессор;
4) {SR+} – проверять выход за границы диапазонов.
Некоторые ключи компиляции могут содержать параметр, например:
{$1 имя файла} – включить в текст компилируемой программы названный файл.
ЛЕКЦИЯ № 4. Подпрограммы
1. Параметры подпрограмм
В описании процедуры или функции задается список формальных параметров. Каждый параметр, описанный в списке формальных параметров, является локальным по отношению к описываемой процедуре или функции, и в модуле, связанном с данной процедурой или функцией, на него можно ссылаться по его идентификатору.
Существуют три типа параметров: значение, переменная и нетипизированная переменная. Они характеризуются следующим.
1. Группа параметров без предшествующего ключевого слова является списком параметров-значений.
2. Группа параметров, перед которыми следует ключевое слово const и за которыми следует тип, является списком параметров-констант.
3. Группа параметров, перед которыми стоит ключевое слово var и за которыми следует тип, является списком нетипизированных параметров-переменных.
4. Группа параметров, перед которыми стоит ключевое слово var или const, за которыми не следует тип, является списком нетипизированных параметров-переменных.
2. Типы параметров подпрограмм
Формальный параметр-значение обрабатывается как локальная по отношению к процедуре или функции переменная, за исключением того, что он получает свое начальное значение из соответствующего фактического параметра при активизации процедуры или функции. Изменения, которые претерпевает формальный параметр-значение, не влияют на значение фактического параметра. Соответствующее фактическое значение параметра-значения должно быть выражением, и его значение не должно иметь файловый тип или какой-либо структурный тип, содержащий в себе файловый тип.
Фактический параметр должен иметь тип,