Подпрограммы QBasic
Часто бывает необходимо выполнять одни и те же действия или проводить некоторые стандартные вычисления в разных местах программы или выполнять их многократно. При этом эти вычисления целесообразно оформить специальным образом группой операторов и выполнять их при случае с помощью специальных операторов. Такие программы называются подпрограммами. В QBasic можно сконструировать подпрограммы трех типов:
1. Блоковая функция пользователя
2. Подпрограммы функции
3. Подпрограммы общего вида (SUB, GOSUB)
1. DEF FNF(параметры)
операторы
имя=выражение
операторы
END DEF
2. DECLARE FUNCTION
z =
s(x) = x-
DECLARE FUNCTION SUMMA (X)
INPUT U: X=U
S1=SUMMA(X)
X=U^2+1
S2=SUMMA(X)
Z=(S1^2+S1)/(1+ABS(S2))
PRINT “Z=”; Z
END
FUNCTION SUMMA(X)
V=X: K=1
P=1: S=0
M1: S=S+
K=K+2
P=P*(K-1)*K
V=-V*X^2
IF ABS>0.00001 THEN GOTO M1
SUMMA=S
END FUNCTION
3. Подпрограммы типа SUB
DECLARE SUB SUMMA(X,S)
INPUT U: X=U
CALL SUMMA(X,S1)
X=U^2+1
CALL SUMMA(X,S2)
Z=(S1^2+S1)/(1+ABS(S2))
PRINT “Z=”; Z
END
SUB SUMMA(X,S)
V=X: K=1
P=1: S=0
M1: S=S+
K=K+2
P=P*(K-1)*K
V= -V*X^2
IF ABS>0.00001 THEN GOTO M1
END SUB
4. Подпрограммы типа GOSUB
CLS
INPUT U: X=U
GOSUB M1: S1=S
X=U^2+1
GOSUB M1: S2=S
Z=(S1^2+S1)/(1+ABS(S2))
PRINT “Z=”; Z
END
M1: V=X: K=1
P=1: S=0
M1: S=S+
K=K+2
P=P*(K-1)*K
V= -*K^2
IF ABS>0.00001 THEN GOTO M1
RETURN