Циклическая инструкция - Большая Энциклопедия Нефти и Газа, статья, страница 1
Земля в иллюминаторе! Земля в иллюминаторе! И как туда насыпалась она?!... Законы Мерфи (еще...)

Циклическая инструкция

Cтраница 1


Циклические инструкции, такие, как инструкции DO в Фортране и ПЛ / 1, инструкции for в Алголе и варианты инструкции PERFORM в Коболе, представляют во многих языках еще одну основную управляющую структуру. В отличие от условных инструкций, которые всегда необходимы в той или иной форме, циклические инструкции часто можно заменить последовательностями более простых инструкций.  [1]

Основу структуры циклической инструкции составляет тело и заголовок. Тело обычно является произвольной последовательностью инструкций, а заголовок состоит из выражения, указывающего, сколько раз следует выполнить тело. На тело циклической инструкции не накладывается сколько-нибудь существенных ограничений, вместе с тем можно встретить много вариантов структуры заголовка. Рассмотрим некоторые, наиболее типичные из них.  [2]

В простейшем типе заголовка циклической инструкции указывается, что тело должно быть выполнено некоторое фиксированное число раз.  [3]

Эти вопросы в применении к рассмотренным простым циклическим инструкциям могли бы показаться незначительными, но те же вопросы возникают для любой формы циклической инструкции, поэтому важно разобрать их здесь в простейшем виде. В любом случае целесообразно спросить: ( 1) когда производится проверка окончания и ( 2) когда вычисляются значения переменных, используемых в заголовке.  [4]

Находят применение и многие другие варианты циклических инструкций. Мы не ставим своей целью осветить все их. Иллюстрацию дополнительных возможностей можно найти в части II при описании языков Алгол, ПЛ / I и Кобол. Циклические инструкции образуют еще одну основную альтернативу механизму меток и переходов. Как и в случае условных инструкций, циклические инструкции не требуют использования меток, и структура всей инструкции легко анализируется.  [5]

Инструкция PERFORM в Коболе служит и как циклическая инструкция, и как простой вызов подпрограммы без параметров.  [6]

Смысл этой конструкции изображен блок-схемой на рис. 5.9. В циклической инструкции этого вида выражение, используемое для проверки, перевычисляется каждый раз после выполнения тела. Еще одно замечание: здесь мы должны предполагать, что выполнение тела изменяет значения каких-то переменных, входящих в выражение для проверки - иначе повторение, раз начавшись, никогда не закончилось бы.  [7]

Структуры, используемые для связи инструкций или групп инструкций, такие, как условные и циклические инструкции.  [8]

Основной структурой данных в АПЛ также являются однородные массивы, однако в АПЛ нет циклических инструкций, и, даже если ввести их, они фактически имели бы относительно-малое значение. Причина заключается в том, что для АПЛ не характерна последовательная обработка массивов по одному элементу. Большинство операторов работают сразу с целыми массивами в качестве операндов. От программиста скрыта последовательная обработка массива, которая, возможно, происходит внутри этих операторов. Вообще программа на АПЛ обычно содержит относительно мало управляющих структур на уровне инструкций.  [9]

Эти вопросы в применении к рассмотренным простым циклическим инструкциям могли бы показаться незначительными, но те же вопросы возникают для любой формы циклической инструкции, поэтому важно разобрать их здесь в простейшем виде. В любом случае целесообразно спросить: ( 1) когда производится проверка окончания и ( 2) когда вычисляются значения переменных, используемых в заголовке.  [10]

Циклические инструкции, такие, как инструкции DO в Фортране и ПЛ / 1, инструкции for в Алголе и варианты инструкции PERFORM в Коболе, представляют во многих языках еще одну основную управляющую структуру. В отличие от условных инструкций, которые всегда необходимы в той или иной форме, циклические инструкции часто можно заменить последовательностями более простых инструкций.  [11]

Вновь возникает вопрос о том, когда выполняется проверка окончания; когда и как часто вычисляются различные выражения, входящие в заголовок. В данном случае эти вопросы имеют первостепенную важность для разработчика транслятора еще и потому, что такие циклические инструкции являются главными объектами оптимизации, а различные ответы на поставленные вопросы могут оказать сильное влияние на допустимые типы оптимизации. Как мы увидим в разд.  [12]

Используя сканеры и генераторы, можно создать такие управляющие структуры для обработки структур данных, которые во многих языках непосредственно построить трудно. Например, в таких языках, как Фортран и Алгол, где для создания сканеров массива обычно применяется циклическая инструкция, мы оказываемся в затруднительном положении, если алгоритм требует нескольких независимо продвигающихся сканеров для одного массива. Структура инструкции DO в Фортране или инструкции for в Алголе позволяют описывать в одной инструкции только одну индексную переменную. Это требование делает невозможным независимое продвижение индексных переменных.  [13]

Основу структуры циклической инструкции составляет тело и заголовок. Тело обычно является произвольной последовательностью инструкций, а заголовок состоит из выражения, указывающего, сколько раз следует выполнить тело. На тело циклической инструкции не накладывается сколько-нибудь существенных ограничений, вместе с тем можно встретить много вариантов структуры заголовка. Рассмотрим некоторые, наиболее типичные из них.  [14]

В качестве указателя в массиве используется индексная переменная - простая целая переменная, последовательно принимающая значения индексов соответствующих элементов массива. Инструкция DO в Фортране или инструкция for в Алголе отражают эту естественную структуру, позволяя легко организовывать циклы, выполнять начальную установку индексной переменной, ее изменение и проверку. Поскольку последовательная, элемент за элементом, обработка массивов в этих языках - весьма часто встречающийся процесс, циклические инструкции широко используются, и их отсутствие заметно ухудшило бы эти языки.  [15]



Страницы:      1    2