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

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

7.3.1. Инвариант и параметры цикла

Любой вид потоковой обработки — это схематическое описание процес­са, управляемого последовательностью &iтакой, что получение элемента из элемента &г задано генерацией потока. С формальной точки зре­ния итерации любого потокового цикла можно рассматривать как обработку некоторого "общего" потока, состоящего из сложных (структурированных) элементов: каждый такой элемент — вся совокупность данных, изменяю­щихся в итерации, но остающихся постоянными во время каждого ее шага. Так что цикл Алгола 68 остановился в развитии на полпути к важной кон­цепции: параметром цикла должна была быть структура всех закономер­но изменяющихся элементов. Для параметров цикла язык С предоставляет значительно более последовательное и красивое решение. Параметры цик­ла могут быть описаны при инициализации цикла, остается лишь вопрос, как вынести наружу финальные значения тех из них, которые нужны после исполнения цикла.

Конечно же, концепция выражений, вырабатывающих значение, также принятая в Алголе 68, могла бы решить данную проблему, если в каче­стве значения цикла выдавалась бы структура всех его параметров, либо подструктура тех параметров, которые описаны как внешние, а дальше уж программист пусть разбирается, что с ней делать. Но именно в операторе цикла Алгол 68 допустил очередную непоследовательность: этот оператор значения не выдает. В итоге видим, что ни в одном общераспространенном языке программирования проблема параметров цикла даже не была правиль­но поставлена.

В качестве редкого исключения можно указать язык ЯРМО, созданный в Новосибирском филиале ИТМ и ВТ для поддержки разработки системного программного обеспечения на ЭВМ БЭСМ 6 и обеспечившего возможность конструирования программ для вычислительных комплексов Эльбрус еще до того, как эти машины начали выпускаться. В языке ЯРМО концепция зна­чений реализована в полной мере: все операторы вырабатывают значение, причем в большинстве случаев значение сложной конструкции наследуется от вложенного оператора, исполнявшейся непосредственно перед ее завер­шением. Даже оператор присваивания был заменен на оператор засылки, явно запоминающий значение предыдущего оператора:

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама