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

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

Чтобы позволить транслятору осуществлять оптимизирующие преобра­зования, в описания некоторых языков (Алгол, Pascalи др.) включают до­вольно странное, на первый взгляд, указание: значение параметра цикла forне определено после естественного завершения, т. е. завершения изза лож­ности условия продолжения (в примере г < 100). Смысл указания становит­ся понятным в контексте приведенных выше рассуждений: оно разрешает разработчикам трансляторов программировать циклы так, как это удобно в конкретной вычислительной среде.

Как вы думаете, сможет ли какойлибо транслятор построить подобный код для данного фрагмента программы? Конец примера 7.2.6.

Само определение циклаforуказывает на то, что эта конструкция отража­ет схему потоковой обработки с инициализацией, включающей генерацию элемента потока (см. табл. 7.16).

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

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

§ 7.3. ЛОГИЧЕСКАЯ СТРУКТУРА ЦИКЛА

Чем выше мы поднимаемся по лестнице абстракций алгоритмических языков, тем более мощные средства анализа приходится применять для вы­явления сути предлагаемых конструкций и для их анализа. Во вводном курсе программирования грех и игнорировать возникающие сложности (общепри нятость греха не является извинением для грешника), и углубляться в них. Здесь мы даем поверхностный анализ, а более серьезный анализ являет­ся предметом одной из глав фундаментального курса (скажем, «Семантики алгоритмических языков»).

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама