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

Тема 4.5

Программирование алгоритмов
регулярных циклических структур

И циклических структур цикл в цикле

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

Базовые алгоритмы регулярных циклических структур и примеры их программирования

Тестовые задания

4.5.4. Лабораторная работа по теме Программирование алгоритмов регулярных циклических структур и циклических структур цикл в цикле»

Вопросы, подлежащие изучению

Общее задание на разработку двух проектов

Варианты индивидуальных заданий

4.5.4.4. Содержание отчёта

Пример выполнения 1-го 2-го заданий

Контрольные вопросы

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

Напомним, что циклическими называются структуры, в которых предусмотрена возможность многократного повторения выполнения участка алгоритма. Этот участок алгоритма называется телом цикла. Различают циклические структуры двух видов: с заранее известным и с заранее неизвестным числом повторений цикла.

Циклические структуры, в которых число повторений цикла заранее известно или может быть определено до начала выполнения цикла, называются регулярными (рис. 4.В.3-9)

В блоке организации цикла используется специальная пере­менная, которая предназначена для определения условия останова цикла – i. Эта переменная называется параметром цикла. Блоки, следующие за заголовком цикла, составляют тело цикла. Тело цикла выполняется для всех значений параметра цикла i, начинаю­щегося со значения m1 и изменяющегося с шагом h до значения m2.

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

Таким образом, алгоритмы регулярной циклической структуры характеризуются известным числом повторений: иногда это число за­дается явно, иногда его предварительно вычисляют.

К базовым ал­горитмам, использующих регулярные циклические структуры относятся: алгоритмы вычисления значений функций одной или нескольких переменных, где аргументы изменяются в известном диапазоне и с заданным шагом изме­нения; алгоритмы вычисления конечных сумм и произведений и многие дру­гие. Программирование такой алгоритмической структуры на языке VBосуществляется операторам For...Next(Рис. 4.5.1-1).

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

For параметр = выражение1 To выражение2 [Step выражение3] Блок Операторов [Exit For] … Next параметр

Рис. 4.5.1-1. Синтаксис опрератор For...Next

При организации вложенных циклов (цикл в цикле) используются пары операторов For…Next, которые не должны «пересекаться» друг с другом. Другими словами, каждой конструкции For должна соответствовать конструкция Next. При этом конструкция Next для внут­реннего цикла должна предшествовать конструкции Next внешнего цикла.

Для преждевременного выхода из каждого цикла по условию можно использовать оператор Exit For.

Наши рекомендации