ВУЗ:
Составители:
Рубрика:
Весьма важно также, что эти конструкции являются уже математиче-
скими объектами (что, посуществу, и объясняет причину успеха струк-
турного программирования). Доказано, что для каждой неструктуриро-
ванной программы можно построить функционально эквивалентную
(т.е. решающую ту же задачу) структурированную программу.
Для структурированных программ можно математически доказывать
некоторые свойства, что позволяет обнаруживать в программе некото-
рые ошибки. Этому вопросу будет посвящена отдельная лекция.
Структурное программирование иногда называют еще «программирова-
нием без GO TO». Однако дело здесь не в операторе GO TO, а в его бес-
порядочном использовании. Очень часто при воплощении структурного
программирования на некоторых языках программирования (например,
на ФОРТРАНе) оператор перехода (GO TO) используется для реализа-
ции структурных конструкций, не снижая основных достоинств струк-
турного программирования. Запутывают программу как раз «неструк-
турные» операторы перехода, особенно переход на оператор, располо-
женный в тексте модуля выше (раньше) выполняемого оператора пере-
хода. Тем не менее, попытка избежать оператора перехода в некоторых
простых случаях может привести к слишком громоздким структуриро-
ванным программам, что не улучшает их ясность и содержит опасность
появления в тексте модуля дополнительных ошибок. Поэтому можно
рекомендовать избегать употребления оператора перехода всюду, где
это возможно, но не ценой ясности программы.
К полезным случаям использования оператора перехода можно отнести
выход из цикла или процедуры по особому условию, «досрочно» пре-
кращающего работу данного цикла или данной процедуры, т.е. заверша-
ющего работу некоторой структурной единицы (обобщенного операто-
ра) и тем самым лишь локально нарушающего структурированность
программы. Большие трудности (и усложнение структуры) вызывает
структурная реализация реакции на возникающие исключительные (ча-
сто ошибочные) ситуации, так как при этом требуется не только осуще-
ствить досрочный выход из структурной единицы, но и произвести
необходимую обработку (исключение) этой ситуации (например, выда-
чу подходящей диагностической информации). Обработчик исключи-
тельной ситуации может находиться на любом уровне структуры про-
граммы, а обращение к нему может производиться с разных нижних
уровней. Вполне приемлемой с технологической точки зрения является
следующая «неструктурная» реализация реакции на исключительные
ситуации [1]. Обработчики исключительных ситуаций помещаются
в конце той или иной структурной единицы и каждый такой обработчик
программируется таким образом, что после окончания своей работы
83
Страницы
- « первая
- ‹ предыдущая
- …
- 81
- 82
- 83
- 84
- 85
- …
- следующая ›
- последняя »
