Непейвода Н.Н. Программирование. Раздел 3

Непейвода Н.Н. Программирование. Страница 269

состоящей из тех данных, которые:

(7.6)

определяют поведение выполнения фрагмента и

изменяются при выполнении фрагмента.

Эти два признака характеризуют понятие обстановки. В частности, локаль­ные данные, возникающие и исчезающие вместе с фрагментом, не являются

элементами его обстановки. Не следует включать в обстановку и то, что не является формально необходимым, даже если содержательный смысл фраг­мента при его удалении страдает. Применительно к выделенному фраг­менту программы 7.3.2 это переменная h. С одной стороны, она не обладает самостоятельным формальным смыслом, а с другой — ее использование как среднего арифметического imiи imaоблегчает понимание смысла выделен­ного фрагмента. Сами переменные imiи imaможно рассматривать или с локальной точки зрения, внутри одной итерации, и тогда тело цикла тракту­ется как поиск х среди элементов массива a[imi],..., a[ima]; или глобально, интересуясь их предельными значениями, и тогда весь цикл трактуется как поиск х среди элементов массива а[0] a[SZA].

В обстановку могут входить и призраки, например оценка числа остав­шихся шагов цикла с предусловием.

Обычно в языках программирования нет средств явного указания обста­новки фрагментов программ, поскольку данное понятие остается неуточ ненным до конца. В какойто мере суррогатом обстановки являются прави­ла локализации имен, задающие контексты фрагментов программы. Дадим некоторые формальные определения, связанные с контекстами.

Определение 7.3.2.Локальным контекстом фрагмента программы назы­вается совокупность всех локальных описаний констант, переменных и дру­гих имен, записанных в данном фрагменте.

Глобальный контекст фрагмента программы — объединение локальных контекстов всех фрагментов программы, которые окружают данный фраг­мент в тексте либо другим образом указаны как источники описаний, исполь­зуемых в данном фрагменте программы (например, во фрагментах, которые включены как библиотечные файлы директивой #includeязыка C/C++ или находятся в модулях, подключаемых директивойusesязыка ObjectPascal). Если при объединении контекстов возникают коллизии или противоречия (несколько одинаковых имен или одно и то же имя в разных смыслах), они разрешаются согласно правилам локализации имен, задаваемым в описании языка или системы программирования. Конец определения 7.3.2.

Новости

  • 1
  • 2
Prev Next

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

24.01.2016

Ракета "Ангара-А5В" в ближайшее десятилетие не полетит

Роскосмос не планирует в течение ближайшего десятилетия осуществлять пуск тяжёлой ракеты-носителя А...

Ученые РФ опровергли выводы исследований о вреде ГМО

24.01.2016

Ученые РФ опровергли выводы исследований о вреде ГМО

Исследователи из Института проблем передачи информации (ИППИ РАН) проанализировали несколько самых п...

Летающие "Крокодилы"

24.01.2016

Летающие "Крокодилы"

20 удивительных фактов о боевом вертолете Ми-24.Этот вертолет стал таким же узнаваемым символом сове...

В Аргентине описали новый вид динозавра-гиганта

24.01.2016

О ранее неизвестном виде динозавра, относящемуся к инфраотряду зауроподов, рассказали аргентинские п...

Реклама