Подпрограмма - именованная логически завершенная группа операторов, которую можно вызвать для выполнения по имени любое количество раз из раз-личных точек программы.
Модуль – подпрограммы и связанные с ними данные, представленные как отдельный файл, компилируемый раздельно.
Достоинства:
1) упрощение процесса написания и отладки;
2) сокращение объема программ;
3) уменьшение времени на перекомпиляцию;
4) возможность использования другими программами; Недостатки:
1) увеличение затрат времени на написание модуля;
2) увеличение времени на обращение к модулю;
Подпрограммы в Паскале подразделяются на процедуры и функции. Отличие процедур и функций, в том что функция возвращает один результат, а процедура может выполнять выполнять некоторое действие не возвращая значений, возвращать одно или несколько значений. Процедуры и функции делят на: встроенные и пользовательские.
Глобальные переменные – переменные, которые используются и доступны одновременно и в основной программе и в подпрограммах.
Локальные переменные — переменные, которые используются (видимы) только внутри данной подпрограммы.
Формальные параметры – имена переменных, массивов и др., используемых в подпрограмме. Формальные параметры получают значения фактических параметров и могут передавать результат.
Фактические параметры – передают значения формальным параметрам.
Требования к параметрам
1) кол-во фактических параметров должно равняться количеству формальных;
2) порядок следования параметров должен совпадать;
3) типы формальных и фактических параметров должны совпадать;
Область действия идентификаторов
1) Каждый идентификатор должен быть описан перед использованием;
2) Область действия идентификатора-блок, в котором он описан;
3) Все идентификаторы в блоке должны быть уникальными;
4) В каждом блоке идентификатор может быть определен по-разному;
5) Если идентификатор подпрограммы совпадает с именем cтандартной процедуры или функции, то стандартная функция игнорируется, а выполняется под¬программа пользователя в области действия.