Параметры-значения.

Параметры формальные и фактические.

Функции.

Функция предназначена для вычисления какого-либо произвольного параметра. Общая структура функции совпадает с процедурой. В отличие от процедуры в теле функции , имя функции должно быть определено, то есть ему должно быть присвоено какое-либо значение.

Конструкция заголовка:

FUNCTION <имя_функции>(список_формальных_параметров): <тип функции>;

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

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

Для вызова функции из основной программы или другой подпрограммы необходимо в выражении, которое использует значение функции, указать ее имя со списком фактических параметров, которые должны совпадать по количеству и типам с формальными параметрами.

 

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

Формальные параметры могут быть пяти видов:

1) параметры-значения, которые в основной программе не меняются;

2) параметры-переменные, которые подпрограмма может изменить в основной программе;

3) параметра - константы;

4) параметры – процедуры и параметры - функции;

5) параметры без типа.

Для каждого формального параметра нужно указать имя и, как правило, тип. Для параметра-переменной или параметра константы – его категорию.

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

Тип формальных параметров может быть любым, однако в заголовке подпрограммы нельзя вводить новый тип.

Например:

Procedure ABC(A : array[1..100] of real); {неправильно}

Чтобы правильно записать заголовок следует в основной программе ввести тип-массив, а затем использовать его в ПП.

Type

Vector = array[1..100] of real;

Procedure ABC(A : Vector);

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

Если параметров в значении несколько, и они одного типа, их можно записать в списке, через запятую, а затем указать общий тип.