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

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 Уровень повыше. Теоретика