Вложенный блок - Большая Энциклопедия Нефти и Газа, статья, страница 1
Думаю, не ошибусь, если промолчу. Законы Мерфи (еще...)

Вложенный блок

Cтраница 1


Вложенные блоки а и ft введены для динамического распределения памяти, благодаря чему каждому из массивов х и у отводится один и тот же участок памяти.  [1]

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

Если во вложенном блоке какой-то идентификатор внешнего блока переопределен ( т.е. объявлен заново), то в этом вложенном блоке виден только переопределенный идентификатор. Например, если во внешнем блоке объявлена переменная In, а затем во вложенном блоке переменная In объявлена повторно, то эта новая локальная переменная не имеет ничего общего с внешней переменной. Во вложенном блоке, где переменная объявлена повторно, видна только эта новая переменная. А во внешнем блоке видна только внешняя переменная.  [3]

Действие этих режимов распространяется на все вложенные блоки, если в них эти режимы не изменены явно.  [4]

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

Подди-рективы трансляции по условию игнорируются во вложенных блоках, если условие внешнего блока не выполнено.  [6]

Исключение передается в стек вызовов для каждого вложенного блока. По мере прохождения стека вызываются деструкторы для локальных объектов, в результате чего эти объекты разрушаются.  [7]

Оператор case реализует выполнение одного из нескольких вложенных блоков ( операторов) в зависимости от значения условного выражения.  [8]

Поэтому если вы хотите также обработать исключение, то обычно используются вложенные блоки try. Внутренний блок связывается с выражением finally, а внешний - с except, или наоборот, в зависимости от ситуации.  [9]

Входными данными для него служат оттранслированная с исходного языка строка и таблица имен с учетом вложенных блоков. Так как ЦП работает с языком высокого уровня, а именно с объектной строкой обратной польской записи, то он использует для операндов стек магазинного типа. То есть при выборке данных осуществляется проход по всем косвенным ссылкам до точки, в которой находится адрес памяти, и затем прямая ссылка помещается в стек. Этот процесс продолжается до тех пор, пока в объектной строке не встретится оператор. Каждый оператор берет одну или две ( одноместный или двуместный оператор) записи из верхушки стека, производит обработку и результат ( ы) помещает в стек.  [10]

Напомним, что оператор ON действует только на те операторы окаймляющего ON-оператор блока ( и вложенных блоков), которые выполняются после выполнения данного оператора ON, но до выполнения следующего оператора ON. Это дает возможность для ошибок, возникающих в разных блоках или разных местах одного и того же блока, задавать печать различных переменных.  [11]

12 Пример активизации и окончания блоков. [12]

Оператор GO TO может также прекращать выполнение нескольких активных блоков путем передачи управления из группы вложенных блоков или из внешней процедуры, которая была вызвана. Оператор GO TO должен передать управление на блок, который является активным. Как только приведенная на рис. 6.2 программа начнет выполняться, главная процедура ( А) активизируется и остается активной в течение всего времени выполнения программы. При выполнении оператора CALL G вызывается и становится активной процедура G. Когда выполняется оператор END G, процедура G заканчивается, и управление передается на следующий оператор процедуры А, который активизирует блок BEGIN В. Оператор CALL С активизирует процедуру С, которая в свою очередь активизирует процедуру D. Теперь все блоки А, В, С и D активны.  [13]

Если во вложенном блоке какой-то идентификатор внешнего блока переопределен ( т.е. объявлен заново), то в этом вложенном блоке виден только переопределенный идентификатор. Например, если во внешнем блоке объявлена переменная In, а затем во вложенном блоке переменная In объявлена повторно, то эта новая локальная переменная не имеет ничего общего с внешней переменной. Во вложенном блоке, где переменная объявлена повторно, видна только эта новая переменная. А во внешнем блоке видна только внешняя переменная.  [14]

В случае блоков PROCEDURE и BEGIN ситуация прерывания оказывает действие на все операторы вплоть до оператора END, включая все вложенные блоки. На вызываемые процедуры, лежащие вне блока, влияние ситуации прерывания, указанной перед данным блоком, не распространяется.  [15]



Страницы:      1    2    3    4