информатика1ё / wesna / labor1 / 6в
.docЗадание 6
Вычислить величину Z, используя подпрограмму вычисления , при обращении к которой конкретизируется функция . Значения и элементов массива заранее не определены, а должны вводиться в процессе выполнения программы
Подпрограмма типа GOSUB
CLS
INPUT ℓ, a
DIM X (ℓ)
FOR i = 1 to ℓ
INPUT x (i)
NEXT i
GOSUB M1
IF p < a THEN GOSUB M2 ELSE GOSUB M3
z = p1
PRINT “Z=”;Z
END
M1: p = 1
FOR i = 1 to ℓ
p = p * (x (i) + 0.5)
NEXT i
RETURN
M2: p1 = 1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i) ^3)
NEXT i
RETURN
M3: p1=1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i)) / (1+x (i))
NEXT i
RETURN
Подпрограмма типа SUB
CLS
DECLARE SUB pr1 (ℓ, x ( ), p)
DECLARE SUB pr2 (ℓ, x ( ), p1)
DECLARE SUB pr3 (ℓ, x ( ), p1)
INPUT ℓ, a
DIM x (ℓ)
FOR i=1 TO ℓ
INPUT x (i)
NEXT i
CALL pr1 (ℓ, x ( ), p)
IF p < a THEN CALL pr2 (ℓ, x ( ), p1) ELSE CALL pr3 (ℓ, x ( ), p1)
z = p1
PRINT “Z=”;Z
END
SUB pr1 (ℓ, x ( ), p)
p = 1
FOR i = 1 to ℓ
p = p * (x (i) + 0.5)
NEXT i
END SUB
SUB pr2 (ℓ, x ( ), p1)
p1 = 1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i) ^3)
NEXT i
END SUB
SUB pr3 (ℓ, x ( ), p1)
p1=1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i)) / (1+x (i))
NEXT i
END SUB
Подпрограмма типа FUNCTION
CLS
DECLARE FUNCTION pr1 (ℓ, x ( ))
DECLARE FUNCTION pr2 (ℓ, x ( ))
DECLARE FUNCTION pr3 (ℓ, x ( ))
INPUT ℓ, a
DIM x (ℓ)
FOR i=1 TO ℓ
INPUT x (i)
NEXT i
IF pr1 (ℓ, x ( )) < a THEN
z = pr2 (ℓ, x ( ), p1)
ELSE
z = pr3 (ℓ, x ( ), p1)
ENDIF
PRINT “Z=”;Z
END
FUNCTION pr1 (ℓ, x ( ), p)
p = 1
FOR i = 1 to ℓ
p = p * (x (i) + 0.5)
NEXT i
END FUNCTION
FUNCTION pr2 (ℓ, x ( ), p1)
p1 = 1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i) ^3)
NEXT i
END FUNCTION pr3 (ℓ, x ( ), p1)
p1=1
FOR i = 1 to ℓ
p1 = p1 * (1- x (i)) / (1+x (i))
NEXT i
END FUNCTION