Читайте также: |
|
DIMENSION A(10),B(20),C(15)
READ (5,2) A,B,C
FORMAT(G8.3)
При вводе по такому формату необходимо вводить значения элементов массивов А, В, С по одному и после каждого элемента нажимать ввод. Если записать (5F8.2), то необходимо будет вводить по 5 чисел в строку и нажимать ввод, что гораздо удобнее.
BET=SUMF(A,10)/FMAX(A,10)-SUMF(B,20)/FMAX(B,20) *+2.*SUMF(C,15)/FMAX(C,15)**2
В SUMF(А,10) идёт обращение к подпрограмме-функции SUMF вычисления суммы всех элементов массива. Здесь фактическими параметрами является массив А и количество элементов этого массива – 10. Аналогично эту функцию мы использовали для массивов В и С.
WRITE (6,*) ‘Бета =’,BET
PAUSE
STOP
END
C Подпрограмма-функция SUMF
FUNCTION SUMF(X,N)
В подпрограмму-функцию передаётся массив Х и этот массив обязательно нужно описать, хотя он и описан в головной программе. Описание осуществлено при помощи DIMENSION.
DIMENSION X(100)
SUMF=0.
DO 2 I=1,N
Несмотря на то, что метка 2 уже используется в головной программе, эту метку можно использовать и в подпрограмме. Имена переменных и номера меток в головной программе и в подпрограммы независимы. Стыковка головной программы и подпрограммы осуществляется только через список формальных – фактических параметров.
2 SUMF=SUMF+X(I)
RETURN
END
C Подпрограмма-функция FMAX
FUNCTION FMAX(X,N)
DIMENSION X(N)
Здесь выполнено динамическое описаниемассива Х [А2] (описание массива переменной размерности). Такое описание массивов возможно ТОЛЬКО в подпрограммах и только в тех случаях, когда имя массива и его размерность записаны в списке формальных параметров. В головной программе так описывать массивы нельзя. (Типичная ошибка).
FMAX=X(1)
DO 3 I=2,N
3 FMAX=AMAX1(FMAX,X(I))
RETURN
END
Правило:
Массивы можно описывать динамически только в подпрограммах и только в том случае, когда имя массива и его размерность находятся в списке формальных параметров. В головной программе динамически описывать массивы нельзя.
Оперативная память ЭВМ отводится динамическим массивам подпрограмм при работе головной программы. Эти массивы располагаются на месте реальных массивов, описанных в головной программе. Размерность динамического массива может меняться, но не может превосходить размерность соответствующего массива головной программы.
Подпрограмма SUBROUTINE.
Общий вид записи подпрограммы SUBROUTINE:
SUBROUTINE имя (список формальных параметров)
…
RETURN
END
Вызов подпрограммы SUBROUTINE осуществляется при помощи оператора CALL:
Дата добавления: 2015-07-26; просмотров: 69 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Оператор RETURN служит для выхода из подпрограммы FUNCTION и передачи результата вычисления в головную программу на то место, откуда шло обращение к подпрограмме-функции. | | | Решения Комиссии по вопросу повестки дня заседания Комиелюдях. | |