При описании процедуры (функции) в ее заголовке могут быть указаны параметры следующих видов:
- параметры-значения;
- параметры-переменные;
- параметры-константы;
- параметры-процедуры;
- параметры-функции.
При записи параметров необходимо помнить:
- число формальных и фактических параметров должно быть одинаково;
- порядок следования и тип фактических параметров должен совпадать с порядком и типом соответствующих формальных параметров;
- идентификаторы формальных и фактических параметров могут совпадать;
- формальные параметры в языке Турбо Паскаль в заголовке находятся вместе с описаниями и объявлять их в разделе описаний процедуры(функции) не требуется;
- формальные параметры должны иметь простые или ранее определенные типы.
При передаче в подпрограмму массива его тип объявляют предва-рительно в разделе описания типов TYPE. Например.
| TYPE TV=ARRAY [1..30] OF INTEGER; TM=ARRAY [1..20,1..20] OF REAL; ... PROCEDURE TOP ( A:TM; VAR B: TV ; N: INTEGER); ...
| |
| | |
Здесь описаны два типа массивов. TV - для одномерного массива и TM для двумерного массива. Затем в списке формальных параметров для переменных А и В используются эти ранее определенные типы при описании соответственно матрицы и вектора.
Список параметров, задаваемых в заголовке процедуры или функции обеспечивает связь подпрограммы с вызывающей программой. Через него в подпрограмму передаются исходные данные и возвращается результат (в процедуре). В языке Турбо Паскаль предусмотрены два принципиально отличающихся механизма передачи параметров : по значению и по ссылке.