Cтраница 2
В ряде случаев возникает необходимость в расширении области действия описания. [16]
![]() |
Схема распределения оперативной и внешней памяти для данных. [17] |
Области действия описаний этих блоков пересекаются с областью действия описаний блока А, а между собой-не пересекаются. [18]
Из программы рассмотренного примера ясно, как локализация области действия описаний позволяет экономить память машины в тех случаях, когда в программе имеется несколько блоков одного уровня. При трансляции программы переменные в подблоках могут занимать одни и те же ячейки памяти. Если принять во внимание, что вместо простых переменных в подблоках могут фигурировать массивы, то экономия памяти, достигаемая благодаря блочной структуре алгольной программы, значительна. [19]
Обращение к процедуре должно быть в области действия описания процедуры, и, кроме того, если процедура с параметрами, то обращение к процедуре должно быть в области действия описаний объектов, входящих в фактические параметры. Если, например, фактический параметр является идентификатором массива, то размерность и границы индексов рассматриваются в соответствии с описанием массива. [20]
В языке ПЛ / 1 имеются следующие способы описания ( объявления): явное, контекстуальное и неявное. Область действия описания определяется уровнем блока, в котором выполнено описание, и способом описания. [21]
Описания могут быть явными, как в Алголе-60, а также неявными и контекстуальными, когда свойства объектов определяются по принципу умолчания. Область действия описания, как и в Алголе-60, - блок. [22]
В приведенном примере областью действия описания вставки / XI является вся программа, поэтому она может быть использована и во вложенных блоках. Областью действия описаний вставок / У / и / Z / являются блоки, в которых они непосредственно описаны, и поэтому могут быть использованы только в этих блоках. [23]
Наконец, еще одним характерным свойством языка Алгол-60 является блочная структура программы. Блок определяет область действия описаний переменных, массивов, процедур и меток. Это позволяет экономно использовать память при выполнении программы. Но для реализации этой возможности нужно предусмотреть динамическое перераспределение памяти в процессе исполнения программы при входе в каждый новый блок. Транслятор должен обеспечить программирование соответствующих действий в объектной программе. [24]
По умолчанию в этом поле содержится краткое имя описания в символах нижнего регистра. В поле Scope ( область действия) указывается область действия описания, если оно содержится в пакете PL / SQL. Область действия пакетных процедур и функций может быть определена как частная ( Private), тогда они будут доступны только другим функциям и процедурам пакета, или как общая ( Public), такие процедуры и функции доступны любому пользователю, имеющему право доступа к пакету. [25]
На примере составления приведенной выше программы мы познакомились с такими важными понятиями АЛГОЛА, которые в специальных руководствах излагаются на многих страницах. К ним относятся: идентификаторы, описания, массивы ( статические и динамические), ввод и вывод числового материала, оператор присваивания, оператор цикла, составной оператор, области действия описаний, запись формул по правилам АЛГОЛА, знаки арифметических действий и возведения в степень. [26]
Обращение к процедуре осуществляется с помощью оператора процедуры. Аналогично обращение к процедуре-функции производится с помощью указателя функции. Обязательно то, чтобы оператор процедуры ( указатель процедуры-функции) находился в области действия описания. [27]
Многие современные языки, такие, как ПЛ / 1 и АЛГОЛ, допускают блоки и блочные структуры. Блоки могут быть вложены друг в друга как операторы DO в ФОРТРАНе или THROUGH в языке MAD. Блоки задают область действия описаний идентификаторов. [28]
При проектировании некоторые модули были выделены исключительно для удобства написания, чтения и понимания программы. Такие модули имеют простейшую связь с программой более высокого уровня. Другие модули имеют более сложные связи. Их границы определяют как последовательность выполнения операторов, так и область действия описаний данных. [29]
Именами файлов перечисляются параметры программы - файлы, массивы или скалярные переменные, представляющие аргументы вычислений и результаты. Блок включает шесть разделов. Каждый раздел, кроме последнего, может быть пустым. Описания, имеющиеся в процедуре, действуют только внутри нее, в частности, соответствующие имена имеют смысл лишь в тех фрагментах основной программы, которые относятся к описанию этой процедуры. Область действия описания и имени представляет собой весь блок, где оно дано или определено, включая и блоки, определенные в том же блоке. [30]