Cтраница 4
ЦВМ, в случае если она не определяется транслятором автоматически. Изменение показания счетчика необходимо, во-первых, для внесения в подпрограмму вставок, если нецелесообразно перепрограммировать смежные с ней подпрограммы, а во-вторых, при резервировании памяти под массивы информации. В последнем случае счетчик изменяется на количество элементов массива. [46]
Наиболее естественный путь достижения этой цели состоит в том, чтобы значение п вводить с перфокарт наряду с послеловательногтью чител, подлежащих суммированию. Для этого в нашей программе вместо константы с именем N, пред -: т2вдяю: цел конкретное значение п, введем а употребление переменную с тем же именем ( с помощью команды резервирования памяти N DS F), а в начале блока 1 добавим макрокоманду ввода с перфокарт значения п ( предложение IN N), так что в программе будет использоваться значение переменной N, присвоенное ей по операции ввода. [47]
Особым случаем ( при использовании приведенных в данной книге макрокоманд ввода / вывода) является резервирование областей памяти, в которые данные заносятся путем их ввода с перфокарт. Если в макрокоманде ввода используется элемент списка ввода, не содержащий в себе информации о типе вводимых данных, то этот тип определяется по предложению резервирования данной области памяти. Поэтому резервирование памяти для битовых данных, вводимых с перфокарт, следует делать с использованием спецификатора В. [48]
Как бЦгю указано ( см. подраздел 3.4), модуль ПЕЧАТЬ состоит из двух модулей PRINT и LIBRARY. Модуль LIBRARY выполняет сервисные функции и включает н себя программы SPACE, PROG и REPORT. Сервисные функции заключаются в резервировании памяти на магнитном диске для библиотечного набора данных ОПИСАНИЕ, в котором хранятся писания структуры и признаков редактирования таблиц, записываемые или считываемые в процессе работы модуля PRINT программой MANAGER. Модуль LIBRARY должен отработать раньше модуля PRIlsfT всякий раз, когда на магнитном диске нет набора данных ОПИСАНИЕ или в существующем наборе данных ОПИСАНИЕ нет места для добавления нового описания структуры и признаков редактирования таблицы. [49]
Первая из указанных директив обеспечивает четность текущего значения счетчика адресов путем прибавления к нему единицы в случае его нечетности. ODD гарантирует нечетность текущего значения счетчика адресов. EVEN рекомендуется использовать после директив резервирования памяти, если они предшествуют операторам машинных команд или вызовам макрокоманд. В этом случае счетчик адресов указывает на границу слова, что позволяет избежать возможных ошибок адресации при формировании цифровых кодов машинных команд. [50]
Псевдокоманды служат для передачи информации транслятору Ассемблера, а не для вставки их в машинную программу. Псевдокомандам в программах на машинном языке не соответствуют никакие команды. Примером может служить псевдокоманда, указывающая на резервирование памяти. [51]
Система MATLAB для каждой инициализируемой переменной ( массива) выделяет область памяти. Поэтому, когда в программе увеличивают размер массива, MATLAB сначала инициализирует новый массив указанного размера и выделяет память для него, копирует туда значения элементов прежнего массива и новые значения и возвращает указатель на эту область. Таким образом, выполняется большой объем дополнительных операций, которых можно избежать путем резервирования памяти. [52]
Несвязной называют структуру, при которой ни одна из записей данных не содержит сцепления с другой связной записью, а взаимосвязи через индексы не устанавливаются. Несвязные структуры используются в большинстве баз данных, предназначенных для коммерческих применений. Они относительно просты для проектирования, реализации и использования и могут быть осуществлены путем резервирования памяти в каждой записи для последующего добавления перекрестных ссылок, индексов и цепных связей, которые превращают несвязные структуры в связные Применение несвязных структур, позволяющих в дальнейшем учитывать и включать элементы взаимосвязи, допускает постепенную реализацию интегрированных управленческих информационных систем. Благодаря своей относительной простоте несвязные структуры обычно ориентированы не на удобство потребителя информации, а на удобство программирования. Если, например, пользователю нужна информация о нескольких взаимосвязанных объектах, то для каждого из них в случае несвязной структуры ему необходимо инициировать специальный запрос в базу данных. Наоборот, если эта же база данных была изменена так, что в ее структуре появились сцепления со связными объектами, пользователь сможет получить ту же самую информацию о нескольких объектах с помощью всего лишь одного запроса, вводимого в базу. Однако программа выдачи одиночного ответа ( на один запрос) проста для написания, в то время как программа выдачи нескольких ответов ( тоже на один запрос) может оказаться довольно сложной. [53]