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

Рис. 7.17. Структуры данных для полной «системы» отчета по ресторану.

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

(б)

Рис. 7.17. Продолжение.

Однако с точки зрения программ РШп на файлы структура этих файлов несколько отличается. Компоненты ЭЛЕМЕНТ ЗАКАЗА фактически упорядочены по каждому ЗАКАЗУ так что структура Ш1, ШЗ или Ш4 «с точки зрения программы PWn» является вариантом промежуточного файла Шп, который служит для генерации программ РШп. Часто промежуточные файлы, которые строятся для разрешения столкновения структур, могут изображаться различными способами в зависимости от того, какая программа «рассматривает» их. Как и для всех структур данных, это весьма ценное свойство.

Файл WS может иметь любую структуру, удобную для требуемой обработки. Повторение РАБОТНИК будет соответствовать в точности каждому из файлов Ш1, ШЗ, Ш4. Структура под работником предназначается для того, чтобы сделать как можно более простой заключительную генерацию выдаваемого отчета. (Здесь весьма кстати старое изречение: «Не мудрствуй лукаво»*).) Структура данных ОТЧЕТ ПО РЕСТОРАНУ описывалась ранее.

Как показано на рис. 7.18, соответственно просты и получаемые в результате структуры программ.

Программа РА организована самым естественным образом. Она просто читает поток входных записей и помещает каждую запись в подходящий для нее файл Шп. Компоненту РАТЕЛО могли бы подчиняться три выбираемых подкомпонента, за счет которых сам компонент РАТЕЛО стал бы выбором. Но тем самым решение было бы привязано к ситуации только с тремя работниками. Сделав РАТЕЛО повторением, мы обобщили решение на случай произвольного количества официантов и официанток. (Конструирование и реализация программ с гарантией их гибкости и способности к расширениям, отражающим произвольные изменения экономических потребностей, является весьма существенным достижением, к которому упорно стремятся профессиональные специалисты по обработке данных!)

Программе РА соответствует следующее структурированное изложение:

РА поел

Открыть файл заказов, Открыть файлы Уп,

1) В оригинале игра слов: «К>ер И Simple Stupid! - KISS.- Прим.перев.

Читать элемент заказа РАТЕЛО повт пока не КФ-заказов или требование отчета ОБРАБОТКА ЭЛЕМЕНТА ЗАКАЗА поел Писать элемент заказа в файл Читать элемент заказа ОБРАБОТКА ЭЛЕМЕНТА ЗАКАЗА конец РАТЕЛО конец

Закрыть файл заказов, Закрыть файлы Уп СТОП РА конец

Программа РА заносит запись «Элемент заказа» в подходящий файл проверяя подробности записи и идентифицируя того официанта (или официантку), который ввел этот конкретный элемент.

Программа РШп несколько больше по объему выполняемой ею работы, но не сложнее предыдущей. Не забывайте, что основная цель нашей методики состоит в том, чтобы обеспечивать простоту. Структурированное изложение для РШп выглядит так:

РИп поел

Открыть файл Уп, Открыть МБ Читать элемент заказа Установить счетчик заказов (М) = 1 Писать заголовок для работника в МБ Р\П*ЕЛ0 повт пока не КФ-Уп ОБР.ЗАКАЗА поел

Установить ЗАКУСКИ (М) = О Установить ГОРЯЧЕЕ (М) = О Установить ДЕСЕРТЫ (М) = О Установить НАПИТКИ (М) = О ОБРАБОТКА ТЕЛА ДЛЯ ЗАКУСОК повт пока не элемент заказа не закуска ОБР.ЗАКУСОК поел


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