Common-блок - Большая Энциклопедия Нефти и Газа, статья, страница 3
Экспериментальный кролик может позволить себе практически все. Законы Мерфи (еще...)

Common-блок

Cтраница 3


В программе 6.1 F одношаговый интегратор системы ОДУ оформлен в виде подпрограммы с именем EUL со следующими параметрами: N - число уравнений в системе; X - начальная точка; Н - шаг интегрирования; Y - массив размерности N для начальных условий и результатов; RP - имя подпрограммы для вычисления правых частей решаемой системы ОДУ. Последний формальный параметр позволяет из одной программы обращаться к решению разных систем ОДУ. Параметры системы ОДУ передаются в подпрограмму вычисления правых частей через COMMON-блок, чтобы не нарушать общности подпрограммы интегратора.  [31]

В листинге программы 7.3 F не приведены подпрограммы метода секущих SECANT и интегратора Рунге-Кутты RK21, взятые без изменения из программ 1.6 F и 6.2 F. Названные подпрограммы записаны в отдельном файле, который подсоединяется к программе 7.3 F на этапе компиляции и редактирования. Предлагаемый способ передачи параметров не нарушает общности подпрограммы SECANT и RK21 и позволяет использовать их без изменения. Синтаксис языка Фортран запрещает включать формальные параметры подпрограмм и функций в COMMON-блоки.  [32]

В программе 5.1 F метод средних прямоугольников оформлен в виде подпрограммы RECT, имеющей входные параметры: А, В - пределы интегрирования; N - число разбиений интервала интегрирования; F - имя подпрограммы для вычисления подынтегральной функции и выходной параметр; S - приближенное значение интеграла. Введение имени F в число формальных параметров позволяет составлять программы, включающие вычисление интегралов от нескольких различных функций. В вызывающей программе имена подпрограмм всех подынтегральных функций должны быть включены в оператор EXTERNAL. Порядок Р и аргумент функции Бесселя Z передаются в подпрограмму-функцию F ( X) через неименованный COMMON-блок.  [33]

О динамической загрузке программ следует сказать особо. С другой стороны, счетные модули, впервые реализованные на БЭСМ-6, широко используют эти средства. Основной принцип динамической загрузки состоит в том, что каждый очередной оверлей формируется с учетом ранее загруженных программ. Если какая-либо подпрограмма или COMMON-блок в момент обращения к динамической загрузке уже находятся в памяти, они не включаются в загружаемый оверлей, тем самым каждая подпрограмма или COMMON-блок присутствуют в памяти в единственном экземпляре.  [34]

Если информация, содержащаяся в COMMON-блоке, не нужна, то в программе можно не описывать соответствующий COMMON-блок. Поэтому при составлении подпрограммы обычно придерживаются такого принципа. Информация, необходимая для работы подпрограммы, а также основные результаты оформляются в виде формальных параметров. Иногда представляют интерес и промежуточные значения каких-либо переменных подпрограммы. Такие результаты выдаются через COMMON-блоки.  [35]

Эта подпрограмма по содержимому своего аргумента - четырехкомпонентного вектора атрибутов - генерирует четыре элемента списка данных. Нулевое значение какой-либо компоненты вектора атрибутов IAV включает режим умолчания - используется некоторое стандартное для данного случая значение атрибута. Если программа L4STATS вызывается из процедуры, генерирующей элемент, то в режиме умолчания используется значение соответствующего атрибута сегмента, к которому принадлежит элемент. Если эта подпрограмма вызывается при инициализации сегмента, то нулевые компоненты вектора атрибутов заменяются значениями, определенными при создании пакета. Атрибуты сегмента помещаются в помеченный COMMON-блок, и поэтому они легко доступны при генерации элементов.  [36]

О динамической загрузке программ следует сказать особо. С другой стороны, счетные модули, впервые реализованные на БЭСМ-6, широко используют эти средства. Основной принцип динамической загрузки состоит в том, что каждый очередной оверлей формируется с учетом ранее загруженных программ. Если какая-либо подпрограмма или COMMON-блок в момент обращения к динамической загрузке уже находятся в памяти, они не включаются в загружаемый оверлей, тем самым каждая подпрограмма или COMMON-блок присутствуют в памяти в единственном экземпляре.  [37]



Страницы:      1    2    3