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

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

Рассмотрим подход к специализации, принятый в нынешней теории. Он показывает и возможности, и подводные камни.

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

Здесь х — входная структура данных программы, у — выходная структура данных, А — условие на вход {предусловие), С — область выходных данных, В(х,у) — связь входвыход. С(у)&В(х,у) называется выходным условием (или постусловием) программы. При специализации программы мы можем преобразовать данное условие тремя способами.

Попущения специализации

Усилить условия на вход, чтобы программа применялась к лучше опре­деленному множеству входных данных.

Расширить область выходных данных, чтобы дать возможность искать решение в более либеральных условиях.

Ослабить связь между входом и выходом.

Все эти три попущения могут применяться вместе. Частными случаями их являются добавление входных данных и удаление части выходных данных.

Как показано в работе [63], при специализации у нас возникают следу­ющие основные преобразования:

Специализация элементарных действий: замена вызова некоторой процедуры либо метода на вызов более эффективной и лучше подхо­дящей в данном частном случае процедуры.

Удаление вариантов и (или) действий, которые стали избыточны из за лучше обусловленного условия или более либерально поставленной цели.

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

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

Новости

  • 1
  • 2
Prev Next

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

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

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

24.01.2016

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

Реклама