Cтраница 1
Массив рабочих ячеек не вводится в оперативный накопитель, поэтому для него важен лишь относительный порядок расположения значений величин. [1]
Так как длина массива рабочих ячеек МЗ известна, то можно определить начальный адрес следующего массива. [2]
Передача значений а и b из массива М в массив М2 и полученного значения у обратно из массива М2 в массив Ml выполняется через массив рабочих ячеек МЗ. Поэтому обращение из массива Ml в массив М2 записывается в виде одной команды передачи управления с возвратом. [3]
Таким образом, рабочую программу предполагается собрать из двух новых программных массивов ( Ml и М2), которые нужно запрограммировать заново, одного массива рабочих ячеек ( МЗ) и шести библиотечных подпрограмм. [4]
Передача значений а и Ь из массива Ml в массив М2 и полученного значения функции у обратно из массива М2 в массив Ml осуществляется через массив рабочих ячеек МЗ. Поэтому обращение из массива М-1 в массив М2 записывается только в виде команды передачи управления с возвратом. [5]
При выполнении больших программ или программ, обрабатывающих большие объемы информации, объем оперативной памяти может оказаться недостаточным, что приведет к необходимости использовать один и тот же массив рабочих ячеек для хранения различной информации на разных этапах выполнения программы. Это особенно относится к специальным рабочим ячейкам, например индексным, фиксированным входным и выходным ячейкам подпрограмм. Такое положение является источником ошибок 2 - й группы. [6]
В этой строке Mi-номер массива; Л / - - номер зоны магнитной ленты, откуда должен быть произведен ввод в оперативную память массива с номером Mi ( если массив подлежит вводу с перфокарт или вовсе не подлежит вводу, как, например, массив рабочих ячеек, то Nt - 0000); at - действительный номер ячейки, начиная с которой должен быть размещен массив. [7]
Определение РАБ ( рабочие ячейки) служит для резервирования нескольких ячеек памяти для промежуточных и окончательных результатов, количество которых указывается в графе Адреса и замечания. Этикетке присваивается адрес первой ячейки массива рабочих ячеек, под все остальные результаты отводятся следующие по порядку ячейки. [8]
Это облегчит отладку - достаточно вывести массив рабочих ячеек, чтобы проследить, как работает программа. [9]
Для распределения памяти используется информация как о длине каждого массива, так и о характере их использования при решении конкретных задач. В частности, ряд массивов ( например, массивы рабочих ячеек) часто приходится помещать на одно и то же место в памяти, если такое совмещение не вызывает неправильной работы программы. Ради краткости изложения мы не будем рассматривать вопрос об автоматическом распределении памяти и в дальнейшем будем предполагать, что ТРП составляется вручную. [10]
В оперативную память машины вводится ОП ( объединяющая программа), все массивы стандартной подпрограммы, кроме массивов с безразличным содержимым ячеек ( таких, например, как массив рабочих ячеек), а также массивы постоянной и переменной информации. ОП перерабатывает сперва программный массив и массив констант восстановления, используя при этом переменную и постоянную информацию. [11]
Просматривается каждый адрес, и, если в нем обнаруживается условное число величины, оно заменяется ее действительным адресом, взятым из ТРВ. Если в адресе встречается условное число константы ( восстановления, переадресации или числовой) или рабочей ячейки, блок Я стирает первые ( двоичные) цифры этого условного числа ( определяющие его вид), уменьшает результат на единицу и прибавляет к нему номер начальной ячейки соответствующей таблицы констант или массива рабочих ячеек, взятый из ТРП. [12]
Ранее отмечалось, что транслятор распределяет память машины по описаниям. Если программа состоит из нескольких блоков, то распределение памяти под локальные и глобальные переменные производится по-разному. Память, отведенная для хранения глобальных переменных, не может использоваться ни в какой другой части программы для размещения других объектов. Память же для хранения локальных неременных представляет собой массив рабочих ячеек, содержимое которых сохраняется только при выполнении операторов данного блока и занимается другими величинами при входе в другой независимый блок. Отсюда понятен смысл неопределенности идентификаторов локальной переменной за пределами блока. Значение переменной не сохраняется при повторном входе в блок. [13]
Ранее отмечалось, что транслятор распределяет память машины по описаниям. Если программа состоит из нескольких блоков, то распределение памяти под локальные и глобальные переменные производится по-разному. Память, отведенная для хранения глобальных переменных, не может использоваться ни в какой другой части программы для размещения других объектов. Память же для хранения локальных переменных представляет собой массив рабочих ячеек, содержимое которых сохраняется только при выполнении операторов данного блока и занимается другими величинами при входе в другой независимый блок. Отсюда понятен смысл неопределенности идентификаторов локальной переменной за пределами блока. Значение переменной не сохраняется при повторном входе в блок. [14]
С выполняемыми на ЦВМ программами связана совокупность информационных и управляющих слов. Упорядоченная последовательность слов, имеющая определенное значение ( смысл), образует массив. Количество ячеек памяти, используемое для представления массива в машине, называется длиной массива. В программах можно выделить следующие информационные массивы: массив рабочих ячеек, используемых для хранения промежуточных значений, получаемых в процессе вычисления выражений; массивы простых переменных; массивы, идентифицированные и описанные в программе. [15]