Реклама:

КА

ЛОС-АНДЖЕЛЕС

ПАСАДЕНА

1-Й

7 ООО

КА

ЛОС-АНДЖЕЛЕС

ПАСАДЕНА

2-Й

5 ООО

КА

ЛОС-АНДЖЕЛЕС

ПАСАДЕНА

3-й

20 ООО

КА

Т

Штат

ЛОС-АНДЖЕЛЕС т

Округ

САН-МАРИНО

Т

Город

1-й т

Участок

15 ООО т

Избиратели

Рис. 3.6. Программа записей об избирателях - формат входных записей.

На рис. 3.7 изображена логическая структура файла записей о численности избирателей. На самом верхнем уровне множество записей разделяется на группы записей для каждого .штата, повторение ШТАТ. В пределах каждой группы записей штата содержится ряд групп округов, повторение ОКРУГ. Каждый округ включает несколько групп городов, повторение ГОРОД. Каждая группа для города является набором записей участков, повторение УЧАСТОК. Эта структура адекватно описывает входные данные.

Требуемые форматы вывода показаны на рис. 3.8 и 3.9

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

Рис. 3.7. Программа записей об избирателях - структуры и соответствия данных.

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

Рис. 3.8. Программа записей об избирателях - формат вы хода-1.

Выход-1, представленный на рис. 3.8, - это печатный отчет, который озаглавлен как ОТЧЕТ О ЧИСЛЕННОСТИ ИЗБИРАТЕЛЕЙ. Тело отчета содержит ряд строк, сгруппированных по штатам. Каждый набор информации о штате начинается с названия штата, например, ШТАТ: КАЛИФОРНИЯ. В рамках любого набора информации о штате имеются группы строк, представляющие каждый округ в штате. Любая группа строк округа начинается с названия округа, например, ОКРУГ: ЛОС-АНДЖЕЛЕС. Каждая строка, относящаяся к некоторому округу, представляет общее число зарегистрированных избирателей в одном из городов этого округа, например,

ГОРОД: ПАСАДЕНА Избирателей: = 110 ООО

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

Рис. 3.9. Программа записей об избирателях - формат выхода-2.

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

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

В конце отчета помещена запись общей численности избирателей, т. е. суммарное количество избирателей по всем штатам.

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

Структура данных для этого отчета показана на рис. 3.7 как ВЫХ0Д-1.

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

Рис. 3.10. Программа записей об избирателях - структура программы и распределение операций.

Вторая часть выходных данных, ВЫХОД-2 (рис. 3.9), будет получаться на поддающемся считыванию компьютерном носителе, возможно, на диске или даже на магнитной ленте. По аналогии с выходным отчетом записи об участках суммируются в записи о городах. Эти записи о городах сортируются в группы по штатам, причем для этой выходной информации несущественна и поэтому не учитывается группировка по округам. Каждая группа записей о городах в пределах штата завершается записью о суммарной численности избирателей в штате. (Эта конкретная группировка записей об избирателях, возможно, послужит неким корыстным целям политических лидеров, так что не следует предусматривать никакой логической цели!)


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