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

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

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

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

7.3.4. Входные и выходные потоки. Сопрограммы

До сих пор потоки рассматривались исключительно с одной позиции: с точки зрения их генерации для конкретной обработки. То, что они могут использоваться как цель обработки, разумеется, не исключалось. Более того, при обсуждении программ о простых числах об этом говорилось прямо. Другой наглядный пример: использование потока псевдослучайных чисел. Пусть имеется следующая программа: Программа 7.3.1

Эта программа подпадает под схему 1 с инициализацией, не включающей ге­нерацию. Но что можно сказать о функциях srandи rand, если рассматривать их независимо от использующей пг^П^ммы? Первая из них инициализиру­ет поток, а вторая генерирует его элементы независимо от того, как будут они применяться. Иными словами, здесь поток — цель некоторой (оставшей­ся вне рассмотрения) обработки, или, подругому, выходной поток, который является входным потоком для программы 7.3.1.

С другой стороны, каждая итерация цикла программы 7.3.1 поставляет число, которое требуется напечатать, функции printf. Вполне правдоподобно представить реализацию этой функции как часть программы, которая рас­печатывает последовательность выводимых элементов, передаваемых через параметры printf(эта программа производит еще другую дополнительную работу, обеспечивающую корректность вывода: оперирование с позициями курсора на экране, форматирование и др.). Иными словами, имеет место вы­ходной поток элементов, генерируемый программой 7.3.1. Таким образом, программа 7.3.1 потребляет один поток и в ходе его обработки порождает другой поток.

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама