Cтраница 2
Вы говорите о том, что химическое движение в моей интерпретации механистично. Вы считаете, что химическое движение, описываемое как простое переразмещение электронной плотности и ядер, вполне отвечает представлению о химическом движении как о механическом движении и вполне является соответствующим методологии диалектического материализма. [16]
Описание данных состоит из описания их семантики и описания привязки информации к носителю. Первая составляющая необходима при описании любых преобразований, вторая - только при описании переразмещений. Средства описания привязки к носителю выделены в отдельный раздел этой главы. [17]
Теперь можно более строго распределить функции между различными модулями нашей программы. Прежде всего разделим все модули на две группы: функциональные, реализующие процедуры семантической обработки и переразмещения, и управляющие, осуществляющие управление последовательностью выполнения функциональных модулей. Управляющий модуль может быть один, но если их несколько, то один из них будем называть главным. Главный управляющий модуль должен содержать описание данных, используемых несколькими функциональными модулями ( это в первую очередь обрабатываемые данные), выполнять работу с внешними носителями ( открытие и закрытие файлов), централизованно обрабатывать аварийные ситуации, определять, хотя бы частично, последовательность обращения к функциональным модулям. [18]
Как мы уже говорили, объекты, созданные из SRO, представляющих замороженную память, сами распределяются из замороженной памяти. Переразмещение может происходить, когда управление памятью решает, что для уменьшения фрагментарности основной обычной памяти необходимо уплотнение. Кроме того, объект может стать кандидатом на откачку, когда свободное пространство становится слишком дефицитным. [19]
Все процедуры по своей функциональной природе делятся на две группы. К первой группе относятся процедуры семантических преобразований данных, которые изменяют содержание преобразуемой информации. Ко второй группе относятся процедуры переразмещений, которые меняют только размещение информации на носителе. Средства описания преобразований позволяют описать процедуры каждой группы и связи между этими процедурами. [20]
Это связано с тем, что модули вывода не имеют выходных массивов ( в оперативной памяти) и соответственно параметров их состояния. Если модуль вывода реализует процедуру переразмещения, то для управления им используются параметры состояния не выходных, а входных массивов. Эти параметры одновременно являются параметрами состояния выходных массивов модулей семантической обработки. Обращение к модулю вывода осуществляется только тогда, когда сформирован элемент хоть одного из его входных массивов. При реализации модулей вывода с соблюдением предлагаемых здесь соглашений модуль сам изменяет значение параметра состояния на запросное после осуществления вывода соответствующего массива. При использовании других средств вывода, в том числе непосредственно операторов языка программирования, изменение параметра состояния берет на себя управляющий модуль. [21]
Программы, реализующие задачи АСУ, принадлежат к разным классам, но удельный вес программ разных классов различен. Наибольшую часть составляют программы содержательной обработки структурированной информации, которым уделяется основное внимание. Несколько меньшую часть составляют программы переразмещения информации. [22]
Переразмещение, как может показаться, противоречит нашим устремлениям, поскольку оно приводит к уменьшению баланса после выигрыша и к увеличению баланса активной части после периода проигрыша по счету. Переразмещение является компромиссом между теорией и практикой, а рассматриваемые методы позволяют нам использовать этот компромисс максимально эффективно. В идеале вообще не следует проводить переразмещение. Ваш небольшой счет в 10 000 долларов может вырасти до 10 миллионов долларов без переразмещения, и вы вполне могли бы пересидеть проигрыш, который понизил бы счет 10 миллионов до 50 000 долларов перед новым скачком до 20 миллионов долларов. В теории все это возможно, но на практике следует производить переразмещение по достижении некоторой точки вверху или внизу баланса. [23]
Необходимо помнить, что групповое перемещение отличается от элементарного перемещения. При групповом перемещении группа данных рассматривается как одно буквенно-цифровое данное. При этом не происходит никакого преобразования и никакого переразмещения элементарных данных в группе. Это не относится к оператору MOVE CORRESPONDING, который определяет серию элементарных перемещений. Попытка переместить групповое данное так, как показано ниже в примере, либо вызовет выход из компилятора по ошибке, либо приведет к неправильным результатам. [24]
Структурирование программы должно обеспечить однозначную локализацию каждого изменения с точностью до программного модуля и простоту поиска места и изменения в установленном модуле. При этом необходима гарантия от вторичных ошибок, связанных со взаимным влиянием программных элементов друг на друга. Перечисленные требования могут быть удовлетворены, если в программе каждой процедуре семантического преобразования или переразмещения будет соответствовать отдельный программный модуль, вычислительные операции будут оформлены как обособленная составная часть каждого из таких модулей, связь между модулями будет осуществляться в отдельном ( одном или нескольких) модуле управления и описание данных, подвергаемых обработке, будет выполнено однократно и централизованно. [25]
Раздел, в котором описывается процедура, определяется ее именем. Однако удобно вместо этого названия использовать одно из трех других, соответствующих конкретным частным вариантам переразмещений: ВВОД для ввода информации с внешнего носителя в ЭВМ, ВЫВОД для вывода информации из ЭВМ на внешний носитель и ЭКВИВАЛЕНТНОСТЬ, используемую для переименования массивов. Содержание раздела включает имена массивов и цепей на входе процедуры и имена массивов и цепей на выходе. [26]
Программа анализа ведет непрерывное накопление данных о статистике обращений. Эти данные периодически используются программой оптимизации для проверки качества размещения информационных массивов. Если статистика сильно изменилась и старое решение неудовлетворительно, программа оптимизации находит решение, оптимальное для новой статистики, и принимается решение о переразмещении массивов. [27]
Аналогичные печати реализуются в модуле обработки аварийных ситуаций. Все они выполняются единообразно с помощью оператора PUT EDIT с использованием форматов A, F, X и SKIP - Более сложные печати с оформлением отчетных документов выполняются процедурами переразмещения, при построении которых используется особая методика, здесь не рассматриваемая. [28]
Следует стремиться к тому, чтобы торговая программа опережала периодические снятия со счета. Допустим, в нашем последнем примере счет, равный 100000 долларов, к концу квартала повышается до 110000 долларов. Таким образом, мы получим 27 800 долларов на активном счете и 82 200 долларов на неактивном счете. Так как активный баланс после переразмещения больше, чем в начале предыдущего периода, мы можем сказать, что программа опережает переразмещение. [29]
Это как бы перемещение массива с одного носителя на точно такой же другой. Описание носителей и более подробное разъяснение процедур переразмещений будут даны в 2.5, здесь же остановимся только на форме описания этих процедур, чтобы иметь законченные средства описания задачи. [30]