Кроме понятия процедуры, в языке Турбо-Паскаль существует также понятие функции. Функция предназначена для вычисления какого-либо параметра. Она имеет два основных отличия от процедуры.
Первое отличие функции в ее заголовке. Он состоит из слова FUNCTION, за которым следует имя функции, далее в скобках – список формальных параметров, а затем через двоеточие записывается тип функции – тип возвращаемого параметра.
Второе отличие заключается в том, что внутри функции ее имени обязательно должно быть присвоено значение указанного типа.
В примере 16 вместо процедуры SumArray можно использовать такую функцию:
1 2 3 4 5 6 7 8 9 10 |
FUNCTION SumArray(Arr: IntArray) : integer; var i: integer; begin SumArray:=0; for i:=1 to N do SumArray:=SumArray+Arr[i]; end; |
В этом случае основная часть программы изменится так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
BEGIN InputArray(A); InputArray(B); InputArray(C); SA:=SumArray(A); SB:=SumArray(B); SC:=SumArray(C); if SA<SB and SA<=SC then OutputArray(A) else if SB<SA and SB<=SC then OutputArray(B) else OutputArray(C); END. |