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

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

Рассмотренные варианты процедур не выходят за рамки нетрадиционных моделей вычислений, абсолютизируя строго последовательный ход вычис­лительного процесса, императивность и пассивность памяти. И хотя они заметно различаются, но не кардинально. Новые качества процедурности неизбежно появляются в системах, которые пытаются внедрить идею изъ­явительного наклонения в языки программирования. Рассмотрим их в той же последовательности, что и ранее (см. § 3.1).

1. Системы продукций. Процедуры в таких системах должны приме­няться для следующих целей:

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

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

Примером продуктивной реализации идеи может служить язык Ре фал (см. § 13.1), в котором аналогом процедуры являются правила с совпадающим детерминативом. Такие процедуры применяются как для объединенного описания однотипных сопоставлений, так и для выполнения внешних, в частности, арифметических действий.

2. Системы функций. Как уже упоминалось, форма задания традицион­ных процедур во многом унаследована от функциональной схемы, ко­торая оказалась существенно сужена при проецировании на фон Ней­мановскую модель. Указанные выше возможности (частичная парамет­ризация, оперирование с типами высоких порядков, понятие предель­ного перехода и т. д.), реализуемые в противовес (а чаще в дополне­ние) к императивным средствам, характеризуют операционный аспект процедурности в системах функционального программирования. Осо­бенностью процедур функциональных систем является возможность гибкой реализации параметризации, в частности, параметризации по необходимости, размножения параметров и др.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама