Реклама:

ОБРАБОТКА ТЕЛА СОПОСТАВЛЯЕМЫХ А + В повт пока не ключ не равен В ОБРАБОТКА СОПОСТАВЛЯЕМОЙ В-записи поел

Прибавить содержимое В к В_НАК0П Читать В

ОБРАБОТКА СОПОСТАВЛЯЕМОЙ В-записи конец

ОБРАБОТКА ТЕЛА СОПОСТАВЛЯЕМЫХ А + В конец

Писать обновленную А-запись в новый

А-файл

Читать А

ОБРАБОТКА СОПОСТАВЛЯЕМЫХ А + В конец ОБРАБОТКА ТЕЛА ГРУППЫ или услов ключ = А ОБРАБОТКА НЕС0П0СТАВЛЯЕМ0И А поел

Писать неизмененную А-запись в новый

А-файл

Читать А

ОБРАБОТКА НЕС0П0СТАВЛЯЕМ0Й А конец ОБРАБОТКА ТЕЛА ГРУППЫ или услов (ключ = В) ОБРАБОТКА. НЕСОПОСТАВЛЯЕМОЙ B-ГРУППЫ поел ОБРАБОТКА ТЕЛА НЕСОПОСТАВЛЯЕМОЙ В-ГРУП-ПЫ повт пока не ключ не равен В ОБРАБОТКА НЕСОПОСТАВЛЯЕМОЙ В-записи поел

Прибавить содержимое В к ВЛАКОП

Читать В

ОБРАБОТКА НЕСОПОСТАВЛЯЕМОЙ B-записи конец ОБРАБОТКА ТЕЛА НЕСОПОСТАВЛЯЕМОЙ B-ГРУППЫ конец Писать новую А-запись в новый А-файл ОБРАБОТКА НЕСОПОСТАВЛЯЕМОЙ B-ГРУППЫ конец ОБРАБОТКА ТЕЛА ГРУППЫ конец Установить ключ = Min (А, В) ОБРАБОТКА ГРУППЫ конец ТЕЛО УПОРЯДОЧЕНИЯ конец Закрыть файлы, СТОП УПОРЯДОЧЕНИЕ конец

Эта программа содержит два новых процесса повторения, каждый из которых обрабатывает все записи в группе

В-записей, обладающих одинаковым значением ИД. При об-аботке этих записей нужно определенным образом накопить содержащуюся в них информацию, чтобы обновить соответствующую основную запись А. Такое накопление обеспечивается двумя операциями: «Установить ВЛАКОП значение 0> и «Прибавить содержимое В к В_НАК0П>. ВЛАКОП -это имя переменной, служащей для накопления информации из В-записей. Ее нужно инициализировать значением 0 в начале обработки каждой А-записи и соответствующих ей В-записей.

6.5. Заключение

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

В настоящее время эти «стандартные» структуры программ успешно способствуют нескольким автоматизированным генераторам программ в построении их конечной продукции.

Все продемонстрированные до сих пор в рамках методики конструирования программ приемы основываются на существовании некоторых полезных соответствий между различными структурами входных и выходных данных. Далее мы покажем, что так дело обстоит не всегда и что существует значительный класс проблем конструирования программ, который не характеризуется таким явным проявлением соответствий. В последующих трех главах мы исследуем подобные проблемы и покажем, как наша методика программирования позволяет справляться с ними.

Глава 7

Более сложные проблемы программирования

«...запутанность и сложность являются пороками программирования, его добродетели - это ясность и простота»^

7.1. А что, если нет соответствий?

До сих пор мы рассматривали ситуации программирования, в которых имелась полная ясность и даже очевидность соответствий обработки между различными структурами данных. К сожалению, такими являются далеко не все программы, которые мы вынуждены конструировать. Существует много случаев, когда не только трудно обнаружить упомянутые соответствия, но иногда их и вовсе нет! В этой главе в рамках уже детализированной методики конструирования описываются приемы, которые позволят проектировщику программ справляться с такими особыми случаями.


⇐ Предыдущая страница| |Следующая страница ⇒