Cтраница 3
Обе эти ссылки составляют основную часть так называемой связующей информации [26], обеспечивающей возобновление нормального выполнения операторов после вычисления значения процедуры-функции с учетом блочной структуры программы. [31]
Такая блочная структура программы придает ей большую универсальность: замена того или иного изолированного блока обеспечивает возможность перехода к расчету задач для сред с другими физическими свойствами. [32]
Разработанная схема четырехступенчатой структуры программы создает основу для обеспечения комплексного АТП в автоматическом цикле. Такая многоступенчатая блочная структура программы АТП создает основу для автоматизации программирования и использования стандартных подпрограмм. [33]
Программист всегда должен стремиться построить программу, в которой используются отдельные обособленные стандартные блоки программ и подпрограмм. Применение блочной структуры программ является наиболее эффективным способом организации программ. Стандартные блоки программы и стандартные подпрограммы являются самостоятельными частями программы, выполняющими часто употребительные совокупности операций, например операции по вычислению значений синуса. [34]
В большинстве алгоритмических языков принята блочная структура записи алгоритмов с любой степенью вложенности. Учитывая специфику управляющих программ, блочная структура программ для уровня языка алгоритма может быть ограничена. Ввод блоков обычно преследует две цели: во-первых, дать возможность использовать одни и те же идентификаторы в различных блоках, и, во-вторых, обеспечить экономию памяти. Естественно, снимая с программиста задачу разбиения программы на блоки, к трансляторам предъявляют требования обеспечения глобальной экономии памяти по всей программе. [35]
Этот пример, в результате которого будет получен вывод на печать строки по, иллюстрирует также применение условного оператора. В языке EULER используется аналогичная АЛГОЛу блочная структура программы и по предложению Вирта и Вебера добавлен оператор for [311], что делает структуру программы крайне мощной и универсальной. В языке EULER есть еще ряд полезных свойств: например, вызов процедур по значению или по наименованию более прост, чем в АЛГОЛе. [36]
Язык ПЛ / 1 появился после целого ряда весьма совершенных языков, и, конечно, эти языки-предшественники оказали существенное влияние на его структуру. Так, в нем сохранены от АЛГОЛа блочная структура программы ( правда, слегка видоизмененная), возможность динамического распределения памяти, имеется аппарат вызова процедур ( в том числе и рекурсивных), способ задания форматов аналогичен используемому в ФОРТРАНе. В то же время язык ПЛ / 1 имеет много новых свойств. Это позволяет существенно расширить области его применения, например, считается, что язык удобен для моделирования, решения логических задач, исследования логических схем, решения задач в реальном масштабе времени и даже для разработки системы математического обеспечения. Особенности языка позволяют повысить эффективность выполнения рабочих программ и более рационально использовать имеющееся на машине оборудование. [37]
Основными элементами программы, написанной на языке PL / 1, являются операторы, с помощью которых описываются как данные, так и операции их обработки. По аналогии с Алголом PL / I допускает блочную структуру программ. [38]
Компилятор языка программирования ПЛ / 1 обеспечивает возможность программирования на подмножестве G языка ПЛ / 1, включающем в себя наиболее популярные средства языка. Компилятор поддерживает работу с различными арифметическими, символьно - и битово-строчными и управляющими типами данных, блочную структуру программ и модульное программирование, обработку исключительных ситуаций, гибкие средства управления распределением памяти и обработки списковых структур, широкий диапазон средств ввода-вывода и работы с файлами. [39]
Алгоритмический язык АЛГОЛ-60, подобно языкам ФОРТРАН и АКИ, предназначен для решения задач численного анализа. Этот язык более сложный, но и более выразительный: в нем допускается динамическое распределение памяти и произвольная индексация элементов массива. Блочная структура программ, записанных на языке АЛГОЛ-60, обеспечивает возможность независимого написания отдельных частей программы и экономию памяти. [40]
Алгоритмический язык АЛГОЛ, подобно языку ФОРТРАН, предназначен для решения задач численного анализа. Этот язык более сложен, но и более выразителен: в нем допускается динамическое распределение памяти и произвольная индексация элементов массива. Блочная структура программ, записанных на языке АЛГОЛ, обеспечивает возможность независимого написания отдельных частей программы и экономию памяти. Однако это приводит к усложнению транслятора и увеличению времени трансляции. [41]
Метки и операторы перехода. Каждый оператор Алгола может быть помечен с помощью метки и двоеточия, которые ставятся перед оператором. С блочной структурой программ связан ряд тонких особенностей в применении операторов goto. Метки операторов описываются неявно через использование, во всех остальных отношениях они являются идентификаторами и подчиняются тем же правилам области действия, что и другие идентификаторы. Эта структура означает, что оператор goto внутри подпрограммы или блока может вызвать передачу управления оператору вне этого блока или подпрограммы в некоторый объемлющий блок, поскольку все метки в объемлющем блоке доступны из внутренних блоков или определений под программ. Подобная ситуация возникает в том случае, когда метка оператора передается в качестве параметра подпрограмме и используется как объект в операторе goto внутри подпрограммы. Такие переходы к нелокальным меткам интерпретируются как нормальный выход из подпрограммы или блока непосредственно перед передачей управления. Таким образом, уничтожение массивов, переменных и среды ссылок, ко торое происходит при обычном выходе из блока или подпрограммы, также должно произойти, когда выполняются такие переходы к нелокальным меткам. Подробное описание этих концепций и их моделирования во время выполнения можно найти в разд. [42]
Написание и отладка программы существенно упрощаются, если ее разбить на отдельные блоки - модули. Каждый блок соответствует определенному этапу вычислительного алгоритма. Особенно удобной блочная структура программы становится при использовании метода раздельных прогонок. [43]
АЛГОЛ является более сложным, но и более стройным и выразительным языком, чем ФОРТРАН. В нем допускаются динамическое распределение памяти и произвольное начало индексации элементов массивов. Существенным достоинством АЛГОЛа является блочная структура программы, обеспечивающая экономию памяти и возможность независимого написания отдельных частей программ, хотя это и ведет к усложнению транслятора и увеличению времени выполнения программы. [44]
![]() |
Состояние стека в случае, когда процедура-функция р дважды обратилась к самой себе. [45] |