Реклама:

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

Повторение самого высокого уровня, ОБРАБОТКА ТЕЛА ОТЧЕТА, завершается просто при достижении Конца-файла (КФ) в файле численности избирателей. Итак, это повторение записывается следующим образом:

ОБРАБОТКА ТЕЛА ОТЧЕТА повт пока не КФ

ОБРАБОТКА ТЕЛА ШТАТА является следующим уровнем повторения и завершается при появлении конца группы ^ писей, относящихся к конкретному штату. Это может проц^ зойти при обычном окончании группы штата, а также при поступлении Конца-файла. Конец-файла завершает послед* нюю группу штата. Во многих случаях ситуация Конца-фай^ ла может не изменять запись, находящуюся в области ввода; поэтому на такую ситуацию нужно явно реагировать $ операторе управления повторением. Итак, данная ситуация записывается так:

ОБРАБОТКА ТЕЛА ШТАТА повт пока не (штат не = этот штат) или (КФ)

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

ОБРАБОТКА ТЕЛА ОКРУГА повт пока не (округ не = этот округ) или (штат не = этот штат) или (КФ) ОБРАБОТКА ТЕЛА ГОРОДА повт пока не (город не = этот город) или (округ не = этот округ) или (штат не =

этот штат) или (КФ)

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

ПОЛУЧЕНИЕ ОТЧЕТА поел Открыть Файлы

Читать запись численности участка Установить сумма страны значение О Писать заголовок отчета ОБРАБОТКА ТЕЛА ОТЧЕТА повт пока не КФ ОБРАБОТКА ШТАТА поел

ПОЛУЧЕНИЕ ЗАГОЛОВКА ШТАТА повт Поместить штат в этот штат Писать заголовок штата Установить сумма штата значение О ПОЛУЧЕНИЕ ЗАГОЛОВКА ШТАТА конец ОБРАБОТКА ТЕЛА ШТАТА повт пока не (штат не =

этот штат) или (КФ)

ОБРАБОТКА ОКРУГА повт

ПОЛУЧЕНИЕ ЗАГОЛОВКА ОКРУГА повт Поместить округ в этот округ Писать заголовок округа Установить сумма округа значение О ПОЛУЧЕНИЕ ЗАГОЛОВКА ОКРУГА конец ОБРАБОТКА ТЕЛА ОКРУГА повт пока не (округ не = этот округ) или (штат не = этот штат) или (КФ) ПОЛУЧЕНИЕ СТРОКИ ГОРОДА поел Поместить город в этот город Установить сумма города значение О ОБРАБОТКА ТЕЛА ГОРОДА повт пока не (город не = этот город) или (округ не = этот округ) или (штат не = этот штат) или (КФ) ОБРАБОТКА ЗАПИСИ ЧИСЛЕННОСТИ УЧАСТКА поел Прибавить численность участка к сумме города Читать запись численности участка

ОБРАБОТКА ЗАПИСИ ЧИСЛЕННОСТИ УЧАСТКА конец ОБРАБОТКА ТЕЛА ГОРОДА конец Прибавить сумма города к сумме округа

Писать строку города в отчет Писать строку города в файл ПОЛУЧЕНИЕ СТРОКИ ГОРОДА конец ОБРАБОТКА ТЕЛА ОКРУГА конец ПОЛУЧЕНИЕ ЗАВЕРШИТЕЛЯ ОКРУГА поел Прибавить сумму округа к сумме штата


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