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

UptoLike

CALL TEST
SUB TEST
PRINT "X="; X; " НЕДОСТУПЕН ";
PRINT " (НЕ ОПРЕДЕЛЕН) "
PRINT "Y="; Y; " ДОСТУПЕН ";
PRINT " (ЧЕРЕЗ COMMON) "
END SUB
Подпрограмма TEST,
доступ только к
глобальным
переменным
Результаты работы:
X= 0 НЕДОСТУПЕН (НЕ ОПРЕДЕЛЕН)
Y= 2 ДОСТУПЕН (ЧЕРЕЗ COMMON)
Fortran имеет конструкцию «общая область» (COMMON). Об-
щую область необходимо описывать в каждой программной еди-
нице (головной программе, внешней подпрограмме, внешней
функции), которая будет ее использовать. Переменные, описанные
в общей области разных программных единиц, размещаются в од-
ном и том же месте памяти (соответствие идет не по именам, а по
порядку следования в описанииВАЖНО). Общие области могут
быть именованными, что позволяет создать группы переменных,
доступные в разных подпрограммах.
Кроме того, имеются вариации у самого понятия глобальности.
Может различаться глобальность «вообще» и глобальность
внутри программного файла (для систем, поддерживающих разде-
ление исходного кода на отдельные файлы, например, в языке С).
«Внутренние» подпрограммы Fortran'а (находящиеся в конце го-
ловной программы или внешней подпрограммы после слова
CONTAINS и до завершающего END) имеют доступ к переменным
«родительской» программной единицы.
Пример
Видимость переменных, Fortran.
Программа, Fortran Пояснения
COMMON Y, Z
X = 1
Y = 2
Z = 3
Общая область
21
 CALL TEST

 SUB TEST                                Подпрограмма TEST,
   PRINT "X="; X; " НЕДОСТУПЕН ";        доступ только к
   PRINT " (НЕ ОПРЕДЕЛЕН) "              глобальным
   PRINT "Y="; Y; " ДОСТУПЕН ";          переменным
   PRINT " (ЧЕРЕЗ COMMON) "
 END SUB

   Результаты работы:
 X= 0   НЕДОСТУПЕН (НЕ ОПРЕДЕЛЕН)
 Y= 2   ДОСТУПЕН (ЧЕРЕЗ COMMON)

   Fortran имеет конструкцию «общая область» (COMMON). Об-
щую область необходимо описывать в каждой программной еди-
нице (головной программе, внешней подпрограмме, внешней
функции), которая будет ее использовать. Переменные, описанные
в общей области разных программных единиц, размещаются в од-
ном и том же месте памяти (соответствие идет не по именам, а по
порядку следования в описании – ВАЖНО). Общие области могут
быть именованными, что позволяет создать группы переменных,
доступные в разных подпрограммах.
   Кроме того, имеются вариации у самого понятия глобальности.
   Может различаться глобальность «вообще» и глобальность
внутри программного файла (для систем, поддерживающих разде-
ление исходного кода на отдельные файлы, например, в языке С).
«Внутренние» подпрограммы Fortran'а (находящиеся в конце го-
ловной программы или внешней подпрограммы после слова
CONTAINS и до завершающего END) имеют доступ к переменным
«родительской» программной единицы.

   Пример
   Видимость переменных, Fortran.

             Программа, Fortran                Пояснения
 COMMON Y, Z                             Общая область
 X = 1
 Y = 2
 Z = 3


                                  21