Подпрограммы 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