Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Инфа теор вопр.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
94.22 Кб
Скачать

24. Формальные и фактические параметры при использовании подпрограмм. Правила их соответствия.

При описании подпрограмм и вызова их используются понятия формальных и фактических параметров.

Формальные параметры - это переменные, фиктивно (формально) присутствующие в процедуре и определяющие тип и место подстановки фактических параметров.

Фактические параметры - это реальные объекты программы, заменяющие в теле процедуры при ее вызове формальные параметр

Формальные параметры подпрограммы указывают, с какими параметрами следует обращаться к этой подпрограмме (количество параметров, их последовательность, типы). Они задаются в заголовке подпрограммы в виде списка формальных параметров, разбитого на группы, разделенные точками с запятыми. В группу формальных параметров включаются однотипные параметры одной категории.

Правила соответствия формальных и фактических параметров:

  1. Должны соответствовать по типу, количеству, порядку следования

  2. В качестве формальных параметров может выступать: простые переменные, переменные с индексом, имя массива, имя функции

  3. В качестве фактических параметров может выступать: const, выражения, простые переменные, переменные с индексом, имя массива, имя функции

  4. Должно соблюдаться следующее соответствие

формальные параметры

фактические параметры

простые переменные

const, ПП, переменные с индексом

массив

массив, переменная с индеском

имя функции

имя функции

5) Как правило, формальные параметры вызываются по значению, то есть время выполнения процедуры под формальный параметр выделяется ячейка, в которой помещается значение фактического параметра. При выполнение оператора END (RETURN) производятся обратные действия, значение формального параметра записываются в ячейку, отведенную под фактический параметр

6) В некоторых случаях формальные параметры вызываются по наименованию, тогда формальный параметр заключается в скобки / / и при этом, при вызове, записывается адрес фактического параметра

7) Все формальные параметры - массивы, вызываются по наименованию (имя массива не надо заключать в скобки). Благодаря этому, формальные параметры массивы можно отписывать с неопределенными границами, так как под него не отводится память

8) Количество и границы измерений массива формального и фактического параметра (аргумента) могут не совпадать, но размер массива аргумента не должен быть меньше размера формального параметра

9) Если массив - формальный параметр определен в подпрограмме с изменяющимися границами (границы представлены переменной), то эти границы должны быть представлены либо формльными параметрами, либо определены через общую область и при обращении к подпрограмме их фактического значения не должны превышать действительные значения границы аргумента.

10) Формальные параметры не могут встречаться в операторе common

В fortrane 90 допускается рекурсивное обращение к процедуре, то есть обращение к самой себе прямо или косвенно.