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

UptoLike

PRINT *, 'Функция Rnd10: ', RND10()
Z = RND10() - 2
PRINT *, 'Z= ', Z
END
FUNCTION RND10()
CALL RANDOM_NUMBER(RND)
RND10 = 10 * RND
END
REAL FUNCTION TEST (N, K)
TEST = N + K
END FUNCTION
Результаты работы:
Функция Test: 3.
X= 7. Y= 34.
Функция Rnd10: 9.839003
Z= 4.999507
1.5. Подробнее о параметрах
Передача по ссылке и по значению
Фраза «формальные параметры заменяются на значения соответ-
ствующих фактических» не совсем точна. На самом деле существует
два принципиально различных варианта передачи параметров.
Первыйэто передача по значению (by value). При этом спо-
собе значение фактического параметра копируется в новую пере-
менную, далее все действия выполняются над копией. Соответст-
венно даже если формальный параметр внутри подпрограммы ме-
няется, после выхода из подпрограммы значение фактического
параметра не изменится. Так, например, происходит вызов функ-
ции в языке С.
Второй способэто передача параметров по ссылке (by
reference). При этом способе фактический параметр непосредст-
венно подставляется вместо формального, и все изменения в па-
раметрах остаются после выхода из подпрограммы. Так проис-
ходит вызов в языках QBasic и Fortran.
13
 PRINT *, 'Функция Rnd10: ', RND10()
 Z = RND10() - 2
 PRINT *, 'Z= ', Z
 END

 FUNCTION RND10()
    CALL RANDOM_NUMBER(RND)
    RND10 = 10 * RND
 END

 REAL FUNCTION TEST (N, K)
    TEST = N + K
 END FUNCTION

   Результаты работы:
  Функция Test: 3.
  X= 7. Y= 34.
  Функция Rnd10: 9.839003
  Z= 4.999507

               1.5. Подробнее о параметрах
              Передача по ссылке и по значению

    Фраза «формальные параметры заменяются на значения соответ-
ствующих фактических» не совсем точна. На самом деле существует
два принципиально различных варианта передачи параметров.
    Первый – это передача по значению (by value). При этом спо-
собе значение фактического параметра копируется в новую пере-
менную, далее все действия выполняются над копией. Соответст-
венно даже если формальный параметр внутри подпрограммы ме-
няется, после выхода из подпрограммы значение фактического
параметра не изменится. Так, например, происходит вызов функ-
ции в языке С.
    Второй способ – это передача параметров по ссылке (by
reference). При этом способе фактический параметр непосредст-
венно подставляется вместо формального, и все изменения в па-
раметрах остаются после выхода из подпрограммы. Так проис-
ходит вызов в языках QBasic и Fortran.

                              13