Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Виды циклов и их реализация на VBA.






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

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

For счётчик=нач_знач To конечн_знач Step шаг

операторы

Next счётчик

В этом операторе «счётчик» является, как правило, целочисленной переменной, которой в начале цикла присваивается значение нач_знач. После того как операторы цикла, расположенные до строки Next, выполнятся один раз, значение счётчика увеличится либо на величину шага, либо на единицу, если шаг не задан. После этого, если величина счётчика меньше или равна значению конечн_знач, операторы цикла снова выполняются.

Например, следующий фрагмент кода вычисляет факториал числа.

Dim i, n, m As Integer

Input n

m = 1

For i = 1 To n

m = m*i

Next i

Следующий фрагмент кода выводит на печать всё содержимое массива и демонстрирует использование встроенных функций Lbound(), Ubound() для получения значений индексов массива.

Dim aArray(11 To 23)

For i = Lbound(aArray) To Ubound(aArray)

Print aArray(i)

Next i

Если количество циклов заранее неизвестно, то оно должно зависеть от какого-то условия, чтобы не получился бесконечный цикл. Для таких циклов используется оператор цикла Do…Loop.

Ниже представлен синтаксис оператора с проверкой условия в начале цикла.

Do While условие

операторы

Loop

Сначала проверяется выполнение условия, если условие сразу оказывается ложным, то операторы внутри цикла не выполняются ни разу. Если условие истинно, то выполняются операторы внутри цикла, после чего условие проверяется вновь. Очевидно, операторы внутри цикла должны как-то влиять на истинность условия, иначе получится либо бесконечный цикл, либо он не выполниться ни разу. Ниже представлен фрагмент кода для подсчёта количества введённых чисел, сумма которых превышает 100.

Dim n, m, sum As Integer

sum = 0

n = 0

Do While sum < = 100

Input m

sum = sum + m

n = n + 1

Loop

Print “количество введённых числе =”, n

Имеется ещё один оператор с проверкой условия в начале цикла.

Do Until условие

операторы

Loop

 

Здесь операторы внутри цикла выполняются до тех пор, пока условие не станет истинным. Предыдущий вариант кода можно переписать так:

 

Dim n, m, sum As Integer

sum = 0

n = 0

Do Until sum > 100

Input m

sum = sum + m

n = n + 1

Loop

Print “количество введённых числе =”, n

 

Иногда необходимо выполнить операторы внутри цикла не менее одного раза, например, при реализации проверки правильности введённого пароля. В этом случае необходимо использовать операторы цикла с проверкой условия в конце цикла. Синтаксис таких операторов представлен ниже.

Do

операторы






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.