Составители:
Рубрика:
! Функция вычисления суммы SUM
REAL FUNCTION SUM(C,L,M)
REAL :: C(M),S
INTEGER :: I,L,M
S = 0
DO I = L,M
S = S + TAN(C(I)**2)
ENDDO
SUM = S
END FUNCTION
Функция SUM
Цикл
Вычисление суммы
Результаты работы программы представлены ниже (п. 5).
Примечания. 1. В Фортране имеется встроенная функция SUM (для ра-
боты с массивами). Для того чтобы использовать собственную функцию с тем же
именем, необходимо описать ее как EXTERNAL (внешний).
2. Для вычисления максимума можно использовать встроенную функцию
MAX (табл. 6.1):
Z = MAX(S2, S3) + S1
3. Ввод данных в программе можно «поручить» датчику случайных чисел
(табл. 6.1). Тогда фрагмент программы, осуществляющий ввод-вывод массивов,
может выглядеть следующим образом (обратите внимание на операции над мас-
сивом «целиком»):
Код исходного модуля Пояснения
DIMENSION A(4), B(3)
N = 4; K = 3
CALL RANDOM_SEED()
CALL RANDOM_NUMBER(A)
A=FLOOR(A*5.0)
CALL RANDOM_NUMBER(B)
B=FLOOR(B*5.0)
PRINT 2, N,K,A,B
2 FORMAT(' ИСХОДНЫЕ ДАННЫЕ '/ &
2X,'N = ',I1,' K = ',I1/ &
1X,' МАССИВ A: ',4(F3.0,2X)/&
1X,' МАССИВ B: ',3(F3.0,2X))
END
Заполнение
массива А
Заполнение
массива B
Вывод
данных
49
! Функция вычисления суммы SUM
REAL FUNCTION SUM(C,L,M) Функция SUM
REAL :: C(M),S
INTEGER :: I,L,M
S = 0
DO I = L,M Цикл
S = S + TAN(C(I)**2) Вычисление суммы
ENDDO
SUM = S
END FUNCTION
Результаты работы программы представлены ниже (п. 5).
П р и м е ч а н и я . 1. В Фортране имеется встроенная функция SUM (для ра-
боты с массивами). Для того чтобы использовать собственную функцию с тем же
именем, необходимо описать ее как EXTERNAL (внешний).
2. Для вычисления максимума можно использовать встроенную функцию
MAX (табл. 6.1):
Z = MAX(S2, S3) + S1
3. Ввод данных в программе можно «поручить» датчику случайных чисел
(табл. 6.1). Тогда фрагмент программы, осуществляющий ввод-вывод массивов,
может выглядеть следующим образом (обратите внимание на операции над мас-
сивом «целиком»):
Код исходного модуля Пояснения
DIMENSION A(4), B(3)
N = 4; K = 3
CALL RANDOM_SEED()
CALL RANDOM_NUMBER(A) Заполнение
A=FLOOR(A*5.0) массива А
CALL RANDOM_NUMBER(B) Заполнение
B=FLOOR(B*5.0) массива B
PRINT 2, N,K,A,B Вывод
2 FORMAT(' ИСХОДНЫЕ ДАННЫЕ '/ & данных
2X,'N = ',I1,' K = ',I1/ &
1X,' МАССИВ A: ',4(F3.0,2X)/&
1X,' МАССИВ B: ',3(F3.0,2X))
END
49
Страницы
- « первая
- ‹ предыдущая
- …
- 47
- 48
- 49
- 50
- 51
- …
- следующая ›
- последняя »
