Параметрами подпрограмм могут быть переменные не только простых, но и сложных типов, таких как массивы, записи, множества. Рассмотрим для иллюстрации пример с массивами.
Задача: Имеется два массива, по два числа в каждом. Напечатать сумму элементов каждого массива. Использовать функцию sum, единственным параметром которой является имя суммируемого массива.
Программа:
TYPE vector = array [1..2] of Integer;
VAR a,b : vector;
FUNCTION sum (c:vector):Integer;
BEGIN sum:=c[1]+c[2] END;