Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
18
Добавлен:
12.05.2015
Размер:
35.84 Кб
Скачать

Задание 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

Соседние файлы в папке labor1