Информатика: Сегментация программ. Гурьяшова Р.Н - 18 стр.

UptoLike

Программа, Fortran Пояснения
REAL :: A(6) = (/2,3,1,4,2,48/)
PRINT *,'МАССИВ А - 1-Я ПОЛОВИНА'
CALL PRINTARR(A(1),3)
PRINT *,'МАССИВ А - 2-Я ПОЛОВИНА'
CALL PRINTARR(A(4),3)
END
SUBROUTINE PRINTARR(A,N)
REAL, DIMENSION (N) :: A
PRINT *, A
END SUBROUTINE
Исходные данные
Вызов п/п
с 1-го элемента
Вызов п/п
с 4-го элемента
П/п, параметры-
массив A,
длина N
Результаты работы:
МАССИВ А - 1-Я ПОЛОВИНА
2. 3. 1.
МАССИВ А - 2-Я ПОЛОВИНА
4. 2. 48.
Функция как параметр
В некоторых языках можно передавать функцию (процедуру)
как параметр. В Фортране это сделать можно, в QBasic'e – нельзя.
Область применения очевидна: можно написать процедуру сумми-
рования / интегрирования / построения графика произвольной
функции.
На Фортране, для передачи встроенной функции в качестве па-
раметра, необходимо описать ее как INTRINSIC (внутренняя), а
пользовательскуюкак EXTERNAL (внешняя) (или записать для
нее блок интерфейса).
Пример
Процедура ATAB выполняет табулирование переданной функ-
ции на заданном интервале [XN, XK] с шагом H.
Формальные параметры:
F – функция;
18
             Программа, Fortran                 Пояснения
 REAL :: A(6) = (/2,3,1,4,2,48/)           Исходные данные

 PRINT *,'МАССИВ А - 1-Я ПОЛОВИНА'         Вызов п/п
 CALL PRINTARR(A(1),3)                     с 1-го элемента

 PRINT *,'МАССИВ А - 2-Я ПОЛОВИНА'         Вызов п/п
 CALL PRINTARR(A(4),3)                     с 4-го элемента

 END

 SUBROUTINE PRINTARR(A,N)                  П/п, параметры-
    REAL, DIMENSION (N) :: A               массив A,
    PRINT *, A                             длина N
 END SUBROUTINE

   Результаты работы:
  МАССИВ А - 1-Я ПОЛОВИНА
  2. 3. 1.
  МАССИВ А - 2-Я ПОЛОВИНА
  4. 2. 48.

                    Функция как параметр

    В некоторых языках можно передавать функцию (процедуру)
как параметр. В Фортране это сделать можно, в QBasic'e – нельзя.
Область применения очевидна: можно написать процедуру сумми-
рования / интегрирования / построения графика произвольной
функции.
   На Фортране, для передачи встроенной функции в качестве па-
раметра, необходимо описать ее как INTRINSIC (внутренняя), а
пользовательскую – как EXTERNAL (внешняя) (или записать для
нее блок интерфейса).

   Пример
   Процедура ATAB выполняет табулирование переданной функ-
ции на заданном интервале [XN, XK] с шагом H.
   Формальные параметры:
   F – функция;

                                  18