Циклы с заданным количеством повторений For

 

Очень часто в программах надо выполнить определённые операторы несколько раз. Не логично записывать эту последовательность действий 20 или 50 раз подряд. В этих случаях организуют циклические вычисления. Алгоритм называется циклическим, если определенная последовательность шагов выполняется несколько раз в зависимости от заданной величины, которая называется параметром цикла.

Цикл – это оператор или группа операторов, которые программа многократно выполняет до тех пор, пока не получит команду начать выполнение чего-нибудь другого.

В Visual Basic существуют два основных типа циклов: циклы со счетчиком (For … Next) и циклы с условием (While и Do).

Вторая классификации циклов: с предусловием (когда сначала выполняется проверка условия, а затем тело цикла и постусловием (когда сначала выполняется тело цикла, а затем проверяется условие). Конструкция For … Next относится к циклам с предусловием.

8.1. Цикл For … Next

Общий вид алгоритма конструкции оператора For…Next, который позволяет выполнить группу операторов или один оператор заданное количество раз, следующий – см. рисунок.

Синтаксис для цикла For…Next следующий:

 

For i = N1 To N2 Step h

P1

.

. Тело цикла

[Exit For]

PN

Next

 

i = N1 , N2

 

P1

 

 

P2

 

 

PN

 

 

 

 

где For (для), To (до), Step (шаг), Exit For (выход из For), Next (следующий) – служебные слова VBA, а P1, PN - операторы. Step является необязательным параметром. Если он опущен в программе, то значение параметра i увеличивается на 1. Параметр Step может быть любым действительным числом, как целым, так и дробным, как положительным, так и отрицательным. Оператор Exit For позволяет выйти из цикла For…Next до его завершения. Тем самым программа сможет среагировать на определённое событие, не выполняя цикл заданное число раз.

Работает оператор For следующим образом: при первом вхождении в цикл, параметр цикла i принимает значение, равное величине нижней границы N1 , и выполняется оператор или операторы в теле цикла. Затем значение параметра увеличивается на величину шага и вновь выполняется тело цикла. Подобные действия будут повторяться до тех пор, пока значение параметра цикла не станет больше величины N2, после чего осуществляется выход из цикла.

 

Демонстрируется выполнение практического задания

 

8.2. Вложенные циклы For … Next

Если телом цикла является циклическая структура, то такие циклы называются вложенными. Цикл, содержащий в себе другой цикл, называют внешним, а цикл, содержащийся в теле другого цикла, называют внутренним.

Общий вид алгоритма конструкции сложного цикла For…Next следующий:

 

 


Синтаксис операторов сложного цикла:

 

For i = N1 To N2
For j = M1 To M2

P1

теловнутреннего теловнешнего

. цикла цикла

PN

Next

Next

 

При первом вхождении в цикл параметр внешнего цикла i принимает значение, равное N1 , и управление передаётся во внутренний цикл, в котором параметр цикла j принимает значение, равное M1 , и выполняется оператор (операторы), которые записаны во внутреннем цикле. Затем параметр внутреннего цикла j увеличивается на 1, и вновь выполняется тело цикла. Операторы P1, PN будут выполняться до тех пор, пока параметр цикла j не станет больше величины М2. Затем параметр внешнего цикла i увеличивается на 1, и вновь начинает свою работу внутренний цикл, в котором параметр цикла j будет изменяться от М1 до М2, и при каждом прохождении цикла будут выполняться операторы P1 и PN. Внешний цикл закончит свою работу, когда параметр цикла i станет больше величины N2.