Составители:
Рубрика:
Пример
Передача сечений массива в подпрограмму.
Программа, Fortran Пояснения
INTERFACE
SUBROUTINE PRINTARR(A)
REAL, DIMENSION (1:) :: A
END SUBROUTINE
END INTERFACE
REAL :: A(6) = (/2,3,1,4,2,48/)
PRINT *,'МАССИВ А - 1-Я ПОЛОВИНА'
CALL PRINTARR(A(1:3))
PRINT *,'МАССИВ А - 2-Я ПОЛОВИНА'
CALL PRINTARR(A(4:6))
END
SUBROUTINE PRINTARR(A)
REAL, DIMENSION (1:) :: A
PRINT *, A
END SUBROUTINE
Блок интерфейса
Исходные данные
Вызов п/п на
сечении A(1:3)
Вызов п/п на
сечении A(4:6)
П/п, параметр -
массив A
Результаты работы:
МАССИВ А - 1-Я ПОЛОВИНА
2. 3. 1.
МАССИВ А - 2-Я ПОЛОВИНА
4. 2. 48.
На Фортране фактическим параметром для массива может быть
его элемент (тогда массив в подпрограмме «начнется» с этого эле-
мента). Это позволяет выполнить передачу части массива проще.
Пример
Формальный параметр – массив, соответствующий фактиче-
ский параметр – элемент массива.
17
Пример
Передача сечений массива в подпрограмму.
Программа, Fortran Пояснения
INTERFACE Блок интерфейса
SUBROUTINE PRINTARR(A)
REAL, DIMENSION (1:) :: A
END SUBROUTINE
END INTERFACE
REAL :: A(6) = (/2,3,1,4,2,48/) Исходные данные
PRINT *,'МАССИВ А - 1-Я ПОЛОВИНА' Вызов п/п на
CALL PRINTARR(A(1:3)) сечении A(1:3)
PRINT *,'МАССИВ А - 2-Я ПОЛОВИНА' Вызов п/п на
CALL PRINTARR(A(4:6)) сечении A(4:6)
END
SUBROUTINE PRINTARR(A) П/п, параметр -
REAL, DIMENSION (1:) :: A массив A
PRINT *, A
END SUBROUTINE
Результаты работы:
МАССИВ А - 1-Я ПОЛОВИНА
2. 3. 1.
МАССИВ А - 2-Я ПОЛОВИНА
4. 2. 48.
На Фортране фактическим параметром для массива может быть
его элемент (тогда массив в подпрограмме «начнется» с этого эле-
мента). Это позволяет выполнить передачу части массива проще.
Пример
Формальный параметр – массив, соответствующий фактиче-
ский параметр – элемент массива.
17
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »
