Паскаль позволяет работать с внешними процедурами (функциями), которые существуют вне главной программы (PROGRAM).
Если модуль является стандартным (библиотечным), то никаких описаний его в программе не требуется.
* (Работа с внешними модулями - расширение стандарта языка паскаль.)
В остальных случаях внешний модуль должен быть описан в PROGRAM следующим образом:
1. Процедура паскаля:
Здесь N - имя процедуры, Р1, . . . - формальные параметры Т1, . . .- типы формальных параметров (напоминаем, что параметру, предназначенному для результата, должно предшествовать ключевое слово VAR).
2. Функция паскаля:
Здесь F - имя функции, X - формальный параметр, TYPEX - тип этого параметра, TYPEF - тип результата, EXTERNAL (EXTERN) - указание на то, что эта функция существует вне данной программы.
Замечание. На БЭСМ-6 следует писать EXTERNAL, па ЕС ЭВМ - EXTERN;
3. Подпрограмма фортрана:
Здесь X - параметр, TYPEX - его тип, FORTRAN - указание на то, что использован фортраниый модуль.
4. Подпрограмма-функция фортрана:
Ниже приводится пример, который поможет читателю использовать внешние модули в своих программах.
Пример. (ЕС ЭВМ).
В этом примере выполняется программа GETHER, использующая внешние фортранные модули SUB и F, а также модули паскаля PROC и FUNPSCL, описанные вне программы GETHER.
Внешние процедуры и функции не должны иметь в качестве параметров параметры-функции и сами не могут быть переданы в качестве параметров.
Внешняя процедура может использоваться рекурсивно и передана как параметр только процедуре, декларированной внутри нее самой.