Реклама:

3. Открыть выходной 5. Закрыть выходной

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

6. Писать заголовок отчета

7. Писать ИД клиента

8. Писать число транзакций

9. Писать сумму для клиента 10. Писать завершитель отчета

Операции 7, 8 и 9 могут обеспечить выполнение одной операции Писать строку о клиенте, поскольку строка о клиенте состоит из трех компонентов: ИД клиента, Число транзакций и Сумма для клиента. Поэтому исправленный упрошенный набор операций вывода принимает вид

6. Писать заголовок отчета

7. Писать строку о клиенте

8. Писать завершитель отчета

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

Начнем с заголовка отчета. Он состоит просто из строки подчеркнутого текста, и его можно установить как константу в начале программы и переписать из памяти или же оформить непосредственно как «литеральное» значение оператора записи. Поэтому для создания этих конкретных выходных данных не требуется никаких реальных вычислений. Если заголовок переписывается из константы в памяти, то нужная операция имеет вид

9. Поместить ЗАГОЛОВОК ОТЧЕТА в строку для печати

Операция 9 помещает требуемый текст заголовка в область вывода, из которой оператор записи передает данные на принтер.

Однако выводу строки о клиенте должны предшествовать некоторые вычисления.

ИД клиента нужно переместить из области ввода в печатаемую строку:

10. Поместить ИД клиента в печатаемую строку

Требуется накапливать число транзакций для обрабатываемой конкретной группы клиента. Для этого описывается область накопления, которую мы будем называть «Транзакции», и к этому накопителю нужно прибавлять 1 всякий раз, когда встречается новая транзакция для данного клиента. Итак, эта операция имеет вид

11. Прибавить 1 к транзакциям

Разумеется, в надлежащее время следует поместить окочательное содержимое счетчика транзакций в печатаемую строку:

12. Поместить транзакции в печатаемую строку

Чтобы создать сумму для клиента, нужна область «сумма», к которой следует добавлять «количество» всякий раз, когда возникает запись о клиенте. Как и в предыдущем случае, когда будет готово полное количество, его нужно поместить в печатаемую строку. Итак, следующие две операции таковы:

13. Прибавить количество к сумме

14. Поместить сумму в печатаемую строку

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

15. Поместить ЗАВЕРШИТЕЛЬ ОТЧЕТА в печатаемую строку


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