информатика1ё / wesna / labor1 / 6вгабб
.docЗадание 6
Вычислить величину Z, используя подпрограмму вычисления , при обращении к которой конкретизируется функция . Значения и элементов массива заранее не определены, а должны вводиться в процессе выполнения программы
Подпрограмма типа GOSUB
CLS
INPUT a,ℓ
DIM X (ℓ)
FOR i = 1 to ℓ
INPUT x (i)
NEXT i
N=1: GOSUB M1: y1=y
N=2: GOSUB M1: y2=y
N=3: GOSUB M1
IF y1 < a THEN z=y2 ELSE z = y
PRINT “Z=”;Z
END
M1: y = 1
FOR i = 1 to ℓ
ON N GOTO 10,20,30
10 B=X(I)+0.5 : GOTO 40
20 B=(1-X(I))^3: GOTO 40
30 B=(1-X(I))^3/(1+X(I)^3)
40 Y = Y * B
NEXT i
RETURN
Подпрограмма типа SUB
CLS
DECLARE SUB pr (N,Y)
INPUT a, ℓ
DIM x (ℓ)
FOR i=1 TO ℓ
INPUT x (i)
NEXT i
CALL pr (1, p1)
CALL pr (2, p2)
CALL pr (3, p3)
IF p1 < a THEN z=p2 ELSE z=p3
PRINT “Z=”;Z
END
SUB pr (n,y)
SHARED ℓ, x ( )
y = 1
FOR i = 1 to ℓ
ON N GOTO 10,20,30
10 B=X(I)+0.5 : GOTO 40
20 B=(1-X(I))^3: GOTO 40
30 B=(1-X(I))^3/(1+X(I)^3)
40 Y = Y * B
NEXT i
END SUB
Подпрограмма типа FUNCTION
CLS
DECLARE FUNCTION pr (n))
INPUT a, ℓ
DIM x (ℓ)
FOR i=1 TO ℓ
INPUT x (i)
NEXT i
IF pr(1) < a THEN z = pr(2) ELSE z = pr(3)
PRINT “Z=”;Z
END
FUNCTION pr (n)
SHARED ℓ, x ( )
p = 1
FOR i = 1 to ℓ
ON N GOTO 10,20,30
10 B=X(I)+0.5 : GOTO 40
20 B=(1-X(I))^3: GOTO 40
30 B=(1-X(I))^3/(1+X(I)^3)
40 p = p * B
NEXT i
Pr=p
END FUNCTION