Реклама:

КОНТРОЛЬ поел

Открыть файлы, Читать запись ОБ. ЗАКАЗА повт пока не КФ - Файл заказов Установить СЧЕТЧИК ЭЛЕМЕНТОВ значение О Установить СУММА ЗАКАЗА значение О Очистить БУФЕР СТРОЧНЫХ ЭЛЕМЕНТОВ * ОБ.ТЕЛА ЗАКАЗА допустить корректный ОБ.КОРР.ТЕЛА повт пока не ИТОГИ Прибавить 1 к СЧЕТЧИКУ ЭЛЕМЕНТОВ Прибавить ЦЕНУ В ЭЛЕМЕНТЕ к СУММЕ

ЗАКАЗА

Писать СТРОЧНЫЙ ЭЛЕМЕНТ в БУФЕР * Читать запись ОБ.КОРР.ТЕЛА конец

ОТВОД если СЧЕТЧИК ЭЛЕМЕНТОВ не равен ИТОГОВОМУ СЧЕТЧИКУ ЭЛЕМЕНТОВ ИЛИ если СУММА ЗАКАЗА не равна ИТОГОВОЙ СУММЕ ЗАКАЗА Писать СТРОЧНЫЕ ЭЛЕМЕНТЫ с БУФЕРА ис- * пользуя Накопленный счетчик элементов * для контроля числа строк * ОБ.ТЕЛА ЗАКАЗА принять некорректный Писать СООБЩЕНИЕ ОБ ОШИБКЕ в отчет (Три строки удалены) * Читать запись ОБ.ТЕЛА ЗАКАЗА конец ОБ.ЗАКАЗА конец Закрыть файлы, СТОП КОНТРОЛЬ конец

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

Этап 1

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

Этап 2

Заменить в конструкции выбора элементы выб и или соответственно на допустить и принять. Поместить операторы «Отвод» там, где условия выбора могут быть оценены в части «допустить» исходного выбора. Добавить любые операторы, необходимые для того, чтобы произвести такую оценку в этих местах. (Может быть несколько операторов «Отвод». ) Отвод представляет собой условное ответвление к оператору принятия.

Этап 3

Обработать побочные эффекты. Существуют три типа побочных эффектов:

1. Недопустимые.

2. Удачные.

3. Нейтральные.

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

Нейтральными побочными эффектами можно пренебрегать.

Удачными называются такие побочные эффекты, результаты которых благоприятны для новой «откатной» формы программы. Эти побочные эффекты могут проявляться в сокращении программы или в повышении ее эффективности или же могут порождать результаты, которые пригодятся при последующей обработке. (В примере контрольных итогов тот факт, что строчные элементы уже обработаны к моменту входа в оператор «Принять», позволяет отказаться от повторяющегося чтения элементов в операторе «Принять». Эта экономия способствует сокращению кода программы. )

Удачные побочные эффекты можно использовать.

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


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