Cтраница 1
Алгол-программа всегда начинается словом begin ( начало) и кончается словом end ( конец), их поэтому называют операторными скобками, записывается и прописными и строчными латинскими буквами, причем в публикациях операторы записываются полужирным шрифтом. [1]
Выполняется Алгол-программа, изображенная на рис. 6.14. Для каждого идентификатора в каждой подпрограмме или блоке дайте представление в виде пары целых чисел ( n k), где п равно числу таблиц, отсчитываемых вниз по статической цепи, a k равно смещению внутри таблицы. [2]
Запись алгол-программ осуществляется по строго определенным правилам. Основу этой записи составляет последовательность операторов ( единиц действия языка), между которыми проставляется разделительный знак-точка с запятой. Кроме того, для правильной расшифровки и перевода транслятором алгол-программы необходимо, чтобы в ней содержалась некоторая дополнительная информация о характере и свойствах тех элементов, которые фигурируют в операторах. [3]
Если внутри алгол-программы или ее отдельных блоков содержатся ссылки на другие операторы или блоки ( в частности, условные и безусловные переходы), то последние снабжаются метками. Меткой может служить произвольный набор цифр или букв или букв и цифр. В последнем случае первой обязательно должна быть буква. От оператора или блока метка отделяется двоеточием. [4]
Если в алгол-программе используются ранее оттранслированные процедуры, то следует иметь в виду, что в процессе выполнения программы диагностические сообщения программ обработки ошибок ( например, при выходе значения индекса за границы массива) могут относиться и к этим процедурам. В таких процедурах нумерация операторов ведется независимо от основной программы и начинается также с единицы. А в диагностических сообщениях, как обычно, указывается только номер оператора без уточнения того, относится ли он к основной программе или к одной из таких процедур. [5]
В процессе выполнения алгол-программы сперва появляются некоторые пустые ( не имеющие значения) элементы состояния внутренней памяти, затем некоторые из этих элементов наполняются за счет выполнения процедур ввода, другие - за счет выполнения операторов присваивания. Кроме ввода, производится и выдача из элементов состояния внутренней памяти в каналы состояния внешней памяти. После окончания алгоритмического процесса состояние внутренней памяти опять является пустым ( отсутствует), и результатом выполнения алгол-программы является некоторое состояние внешней памяти. [6]
Продвигаясь по записи алгол-программы последовательно от начала к концу, мы можем образовать очередь координат открывающих скобок begin, ожидающих соответствующих закрывающих скобок end. Особенность этой очереди состоит в том, что каждый раз, когда встретится символ end, он будет соответствовать тому begin из очереди, который появился там самым последним. [7]
Ниже приводится блок алгол-программы, реализующий этот алгоритм. Предельное число строк в таблице В и элементов в стеке 5 задается глобальными переменными N м п, процедуры В СТЕК и ИЗ СТЕКА также считаются описанными во внешнем блоке. [8]
На первом этапе составленную алгол-программу на специальных устройствах ( перфораторах) переносят ( пробивают) на перфокарты. Отдельно от алгол-программы на перфокарты переносят и варьируемые исходные числовые данные. [9]
Синтаксический и семантический контроль алгол-программ, а также их отладка выполняются на уровне входного языка. [10]
Управление памятью при выполнении алгол-программ осуществляется динамически. Память под данные выделяется в момент входа в блок в соответствии с описаниями переменных и массивов. [11]
Как правило, операторы алгол-программы выполняются подряд. Однако имеется возможность отклониться от естественной последовательности выполнения операторов. Для реализации такого отклонения служат операторы перехода. [12]
Из того, что всякая алгол-программа содержит блоки, следует, что основными частями алгол-программы являются операторы и описания. Однако в алгол-программу могут быть включены еще так называемые примечания. [13]
Одним из средств повышения наглядности алгол-программ является, как известно, ступенчатое расположение в ней операторных скобок, при котором каждая пара открывающих и закрывающих скобок располагается на одной, своей для данной пары, вертикали. Этой же цели служит и еще одно средство: примечания ( комментарии), которые могут помещаться в программе в начале составного оператора или блока непосредственно после них, а также после любого описания или оператора. На работу программы они не могут оказывать никакого влияния, так как опускаются транслятором при переводе ее на язык машины. [14]
Одним из средств повышения наглядности алгол-программ является, как известно, ступенчатое расположение в ней операторных скобок, при котором каждая пара открывающих и закрывающих скобок располагается на одной, своей для данной пары, вертикали. Зтой же цели служит и еще одно средство: примечания ( комментарии), которые могут помещаться в программе в начале составного оператора или блока непосредственно после них, а также после любого описания или оператора. На работу программы они не могут оказывать никакого влияния, так как опускаются транслятором при переводе ее на язык машины. [15]