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

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

Если результат вычисления 1 — истина, то Вычислить ветвь <Действия>.

Если Р_Ьгеак и Р_сопйпие сброшены, то Перейти к 1.

Сбросить Р_сопйпие. // Нет нужды его специально проверять!

Если Р_Ьгеак выставлен, то

Сбросить Р_Ьгеак. Завершить вычисление <оператора Цикла с пред ус ловием>.

6. Перейти к 1.

Аналогично корректируются остальные алгоритмы. Предлагается проделать это самостоятельно (см. задачу 10 на стр. 336).

Приведенные алгоритмы работы абстрактного вычислителя характерны в том отношении, что показывают возможность использования небольшой общей памяти для экстренного завершения всех вызовов типа "Вычислить": это переменные Р__Ьгеак и Р_сопйпие. В реальных трансляторах могут ока­заться удобнее другие алгоритмы, но любой из них должен обеспечить эк­вивалентность результатов вычислений той процедуре, которая только что приведена.

Знакомство с только что приведенными алгоритмами завершения мо­жет вызвать чувство неудовлетворенности. Проверки на каждом шагу с тем, чтобы данный шаг пропустить, если вдруг ктото раньше потребовал завер­шения конструкции, кажутся не очень естественными.

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

Любой конкретный вычислитель имеет среди своих команд оператор без­условного перехода по адресу, а потому для реализации завершения доста­точно следующего. Просматривая транслируемый текст, надо:

расставить метки, куда надо переходить при выполнении завершения (а также в иных случаях, например, при организации циклов);

составить таблицу таких меток с полями: имя метки и адрес в про­грамме;

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

Летающие &quot;Крокодилы&quot;

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

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

24.01.2016

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

Реклама