Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
80
Добавлен:
27.04.2015
Размер:
290 Кб
Скачать
☆

2.5.1.4. Средства программирования регулярных циклических структур

 

Алгоритмы регулярной циклической структуры характеризуются заданным (известным) числом повторений: иногда это число за­дается явно, иногда его предварительно вычисляют. К таким ал­горитмам относятся: алгоритмы вычисления значений функций одной или нескольких переменных, у которых аргументы изменяются в известном диапазоне и с заданным шагом изме­нения; алгоритмы вычисления конечных сумм и произведений и многие дру­гие. Программирование такой алгоритмической структуры на языке QB производится при помощи оператора FOR...NEXT, имеющего следующий формат: 

FOR параметр=выражение1 TO выражение2 [STEP выражение3]      блок_операторов

[EXITFOR] NEXT параметр 

 

Здесь параметр цикла – это переменная, для которой выражение1 является начальным значением, выражение2 – конечным значением, а выражение3 - шаг изменения параметра цикла. Причем шаг изменения параметра может быть как положительным, так и отрицательным. По умолчанию его значение равно 1. Блок операторов, находящихся между конструкциями FOR и NEXT, называется телом цикла, количество повторений которого опре­деляется числом возможных значений параметра цикла. Перед каждым повторением цикла, в том числе первым входом в цикл, текущее значение параметра цикла сравнивается со значением выражение2 (конечным значением). После каждого выполнения операторов тела цикла к переменной (параметру цикла) прибавляется значение выражение3 (шаг) и снова производится сравнение параметра с конечным значением. Тело цикла перестает выполняться, когда значение параметра станет больше конечного значения (шаг положителен) или меньше конеч­ного значения (шаг отрицателен). Если условие выхода из цикла выполняется при начальном значении параметра, то тело цикла пропускается, и управление сразу же передается оператору, следующему за NEXT. Для выхода из цикла до его завершения мо­жно использовать оператор EXIT  FOR.

При организации вложенных циклов (цикл в цикле) используются пары операторов FOR…NEXT , которые не должны “пересекаться” друг с другом. Другими словами, каждой конструкции FOR должна соответствовать конструкция NEXT. При этом конструкция NEXT для внут­реннего цикла должна предшествовать конструкции NEXT внешнего цикла. Для преждевременного выхода из цикла по условию используется оператор EXIT FOR. Например: 

FOR i = 1  TO  10  FOR j = 1  TO  2

' тело внутреннего цикла

IF g=2 THEN  EXIT  FOR    NEXT  j

NEXT i

 

2.5.1.5. Средства программирования итеративных циклических структур

Отличительной особенностью алгоритмов итеративных циклических структур является заранее неиз­вестное число повторений цикла. К ним от­носятся, например, алгоритм проверки ввода исходных данных, алгоритмы вычисления отдельных членов, суммы или произведения членов бесконечных последо­ва­тельностей, алго­ритмы вычислений по итерационным формулам и некоторые другие алгоритмы. При программировании алгоритмов итеративных циклических структур ис­пользуется оператор DO…LOOP в одном из двух возможных форматов.

Первый формат оператора DO…LOOP используется при программировании итеративной циклической структуры с предусловием:

 

DO [{ WHILE | UNTIL } логическое_выражение]

блок_операторов

[EXIT DO]

LOOP

 

Второй формат оператора DO…LOOP реализует структуру с постусловием:

 

DO  блок_операторов

[EXIT DO] LOOP [{ WHILE | UNTIL } логическое_выражение]

 

При использовании конструкции WHILE тело цикла будет вы­полняться до тех пор, пока значение логического_выражения истинно. Как только это выражение становится ложным, происходит выход из цикла и управление передается оператору, следующему за LOOP. При использовании конструкции UNTIL тело цикла выполняется до тех пор, пока выражение оста­ется ложным. Как только оно становится истинным, происходит выход из цикла и управление передается оператору, следующему за LOOP. Поэтому, после WHILE записывается условие продолжения цикла, а после UNTIL - условие окончания цикла.

Если конструкция WHILE или UNTIL в операторе цикла опущена, то имеет место бесконеч­ный цикл, выход из которого на оператор, следующий после LOOP, осуществляется только при использовании оператора EXIT DO. Оператор EXIT DO может ис­пользоваться и при наличии конструкций WHILE и UNTIL для орга­низации досрочного выхода из цикла по некоторому дополнительному усло­вию.

Соседние файлы в папке 2 Уровень повыше. Теоретика