Реклама:

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

16. Читать входной

Наконец, последний набор операций относится к «управлению внутренними переменными». В основном существует три типа таких операций:

1. Инициализация переменных до начальных значений в начале программы и при необходимости возобновление начальных значений этих переменных.

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

3. Использование для сравнения значений при решении вопроса о завершении повторений. (Часто речь идет об «управляющих переменных», служащих для «контроля прерываний». )

Для нашей программы требуются две операции типа 1, инициализирующие соответственно переменные «транзакции» и «сумма»:

17. Установить транзакции значение О

18. Установить сумма значение О

Нам не нужны операции типа 2, так как в структуре программы нет выборов.

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

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

Ниже приводится полный набор исполнимых операций:

1. СТОП

2. Открыть входной

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

4. Закрыть входной

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

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

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

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

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

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

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

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

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

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

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

16. Читать входной

17. Установить транзакции значение О

18. Установить сумма значение О

Используя описанный в гл.2 метод распределения, получаем полную структуру программы, показанную на рис 3.5.


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