Главная страница Библиотека (скачать книги) Скачать софт Введение в программирование Стандарты для C++ Уроки по C# Уроки по Python HTML Веб-дизайн Ассемблер в среде Windows ActiveX Javascript Общее о Линукс Линукс - подробно Линукс - новое Delphi Паскаль для начинающих Турбопаскаль Новости Партнеры Наши предложения Архив новостей |
Операторы повторения цикла и выхода из цикла К группе операторов управления следует отнести также операторы вызова стандартных процедур Continue и Break (доступные только в версии Турбо Паскаль 7.0). Эти два оператора являются очень полезными, гак как улучшают структуру программы, позволяя обходиться в циклах без операторов перехода ("выводящих" из цикла или передающих управление на конец цикла - для следующего его повторения). Они очень естественны при описании логики алгоритма. Continue начинает очередную итерацию цикла (любого типа). Его исполнение вызывает переход на вычисление очередного значения параметра цикла или вычисление условия в том операторе повторения, в котором находится этот оператор Continue. Break завершает цикл (самый внутренний цикл из охватывающих этот оператор), т.е. выполняет выход из оператора цикла (любого вида) на оператор, следующий за ним.
Иногда в программе нужно организовать "бесконечный" цикл, т.е. цикл, завершающийся не проверкой условия цикла, а некоторым условием, проверяемым в теле цикла. В этом случае организуют цикл с предусловием (в котором условие дает всегда истинное значение, например while true) или цикл с постусловием (в котором условие дает всегда ложное значение, например until false). Типичный случай использования бесконечного цикла- выдача программой меню действий (операций), которые может выполнять эта программа.
Рекомендации к программированию алгоритмов со сложной логикой Напомним, что одним из принципов структурного программирования является структурность применяемых управляющих конструкций языка (управляющих операторов). Свойство структурности управляющих конструкций состоит в том, что каждая из них должна иметь в тексте одну входную точку (с которой начинается исполнение конструкции) и одну выходную точку (в которой завершается исполнение конструкции). Большинство управляющих операторов языков программирования построено именно таким образом - таковы составной оператор, условный оператор, оператор выбора, операторы повторения. Однако логика реальных алгоритмов бывает очень сложной и ее часто трудно (неэкономично, неестественно) представить, используя только структурные управляющие операторы. Поэтому, в частности, в языке и оставлен оператор перехода goto. Он позволяет упрощать использование структурных управляющих операторов, естественно и экономично задавая переход на или за выходную точку структурного оператора, завершение исполнения программной структуры (программы, подпрограммы). Однако использование оператора goto может привести к непредвиденным последствиям, делает программу ненадежной. Решение указанной проблемы для операторов повторения достигается путем использования операторов Continue и Break. Описание сложно-структурированных "ветвящихся" алгоритмов с использованием только структурных операторов (условного и выбора) также нередко сильно усложняет программу - она становится избыточной, запутанной и трудно читаемой. Укажем несколько приемов надежного и экономичного программирования, используемых при программировании "ветвящихся" алгоритмов.
Нахождение корней квадратного уравнения. program d_5_8;
Вычисление N! (факториала). program d_5_9;
|
||
Библиотека программиста. 2009. |
|