Реклама:

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

1. Должно совпадать число соответствующих между собой компонентов данных.

2. Соответствующие компоненты должны появляться в одинаковом порядке. *

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

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

Поскольку речь идет о процессе идентификации соответствий, читателю полезно обратиться к рис. 2.33.

Кинг Д. Создание эффективного программного обеспечения

Какой компонент структуры входа соответствует компоненту вершины структуры выхода, компоненту ВЫХОДНОЙ ФАЙЛ? Очевидно, что это компонент ВХОДНОЙ ФАЙЛ. Иначе говоря, эти два вершинных компонента соответствуют друг другу, потому что их количество одинаковое: один и один; если имеется только по одному из них, они НЕИЗБЕЖНО появляются в одинаковом порядке; наконец, их можно обрабатывать совместно, поскольку вся задача задуманной программы состоит в том, чтобы обработать ВХОДНОЙ ФАЙЛ, создав в результате ВЫХОДНОЙ ФАЙЛ. Линия с двумя стрелками, проведенная между этими двумя компонентами, обозначает их соответствие.

Далее можно обнаружить аналогичное взаимно однозначное соответствие между компонентами ЗАПИСЬ ЗАГОЛОВКА во входной структуре и ЗАПИСЬ ЗАГОЛОВКА на выходе, а также между компонентами ТЕЛО ФАЙЛА в разных структурах.

Спускаясь вниз по схемам, мы обнаруживаем еще взаимно однозначные соответствия между компонентами ТИП ФАЙЛА в разных структурах, а также между компонентами ДАТА СОЗДАНИЯ и ДАТА СОЗДАНИЯ ФАЙЛА.

Когда мы доходим до компонентов КОЛИЧЕСТВО Т, КОЛИЧЕСТВО М, КОЛИЧЕСТВО -5 в выходной структуре, непосредственного соответствия с какими-либо компонентами и с чем-либо во входной структуре нет. Каждый из компонентов Т, М и Б во входной структуре представляет отдельное появление этих записей, тогда как компоненты КОЛИЧЕСТВО на выходе представляют суммирование количеств всех записей каждого типа.

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

Создание структуры программы

После того как установлены все соответствия между структурами данных, остаются, как часто случается в жизни, три этапа создания структур программ. Они состоят в следующем:

1. Слить соответствующие компоненты данных, чтобы сформировать компоненты программы, создав тем самым упрошенную структуру программы. Каждый из вновь сформированных компонентов программы нужно снабдить именем вида «Обработка X для создания У».


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