Это подпрограмма имеет следующую структуру:
FUNCTION имя [(список параметров) STATIC]
[Операторы подпрограммы]
имя = выражение
END FUNCTION
Для обращения к функции используют указатель функции содержащую имя функции и в скобках конкретные значения ее аргументов.
Пример 10. Вычислить , где .
Сумму вычислить с точностью 0,0001.Для этого необходимо суммировать до тех пор, пока очередной член суммы не станет меньше заданной точности.
Используем подпрограмму функцию.
DECLARE FUNCTION R(X)
U=R(1/2)+R(1/3)+R(1/4)
PRINT “U=”;U
END
FUNCTION R(X)
S=0: K=1
WHILE ABS(X^K/K^2)>1E-4
S=S+X^K/K^2
K=K+1
WEND
R=S
END FUNCTION
Пример 11. Вычислить скалярное произведение векторов:
Используем подпрограмму, вычисляющую скалярное произведение векторов :
.
REM “Основная программа”
DECLARE FUNCTION SP(X(),Y(),N)
INPUT K,M
DIM A(1 TO K),B(1 TO K),C(1 TO M),D(1 TO M)
FOR I=1 TO K
INPUT A(I),B(I)
NEXT
FOR I=1 TO M
INPUT C(I),D(I)
NEXT
S1=SP(A(),B(),K)
S2=SP(C(),D(),M)
PRINT S1,S2
END
REM “Подпрограмма”
FUNCTION SP(X(),Y(),N)
S=0
FOR I=1 TO N
S=S+X(I)*Y(I)
NEXT
SP=S
END FUNCTION