Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

End Sub. lbxТабуляция.AddItem strI + | + _




End If

Else

Y = b ^ sin(a ^ 2) / cos(x * Rad) - d

strY = Y

lbxТабуляция.AddItem strI + "| " + _

strX + "| " + strY

Next x

 

Результаты выполнения программного кода цикла с параметром с использованием оператора цикла FOR … NEXT представлены на рисунке 11.7.

 

Рис. 11.7. Форма (Пример 4) с результатом работы цикла с параметром

 

Кроме того *, в VBA имеется очень похожий на цикл со счётчиком оператор For Each … Next, который повторяет тело цикла для каждого элемента массива или коллекции объектов. При работе с коллекциями (наборами однотипных объектов) количество элементов может быть неизвестно, а концепция начального и конечного значений – не иметь смысла. В таких случаях использование цикла For Each … Next является наиболее предпочтительным.

 

11.5 Оператор цикла FOR … NEXT

 

Оператор цикла FOR … NEXT используется, когда число повторений заранее известно, и определяется оно значениями счётчика (параметра) цикла: начальным, конечным и шагом (приращением). Оператор имеет следующий синтаксис:

 

FOR переменная_цикла = начало TO конец [ STEP приращение ]

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

[ EXIT FOR ]

NEXT [ переменная_цикла [, переменная_цикла ]...]

 

Здесь переменная_цикла – числовая переменная, используемая как счетчик или параметр цикла; начало и конец – выражения, задающие начальное и границу конечного значения переменной цикла; приращение – значение, прибавляемое к переменной цикла при каждом следующем шаге цикла. Если необязательная часть оператора (STEP приращение) не указывается, то приращение принимается равным единице. Количество повторений тела цикла FOR … NEXT определяется целым (без округления!) числом, определяемым формулой (конец – начало) / приращение + 1.

Тело цикла может содержать любую последовательность вложенных алгоритмических структур, имеющих один вход и один выход, в том числе и вложенные циклы. Синтаксис оператора предусматривает также досрочный выход из цикла (EXIT FOR) *.

Несколько вложенных циклов могут закрываться одним ключевым словом NEXT и указанием имён счётчиков всех требующих закрытия циклов в порядке, обратном их открытию.

Рассмотрим работу оператора FOR … NEXT на примере следующего фрагмента программы:

 

For I = Старт To Стоп

lsbРезультат.AddItem I

Next I

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

 

Программный код примера 5 на алгоритмическом языке VBA

 

Private Sub cmbStart_Click()

Dim I As Integer

Dim Старт As Integer

Dim Стоп As Integer

Старт = txtIstart.Value

Стоп = txtIstop.Value

For I = Старт To Стоп

lsbРезультат.AddItem I

Next I

lblВывод.Caption = "* Значение счётчика по завершении цикла ="& I

 

Так, при Старт=1 и Стоп=5 тело цикла выполнится пять раз, при этом переменная I (счётчик) будет изменять своё значение от одного до пяти включительно с шагом, равным единице (поскольку STEP не указан). Тело цикла состоит всего из одной строки, предписывающей объекту lsbРезультат (элемент управления, отображающий список) выполнить метод AddItem (добавить элемент в список), причём в качестве добавляемой строки выступает текущее значение счётчика I, которое на каждом шаге меняется. В результате можно получить вид, представленный на рисунке 11.8.

 

 

Рис. 11.8. Форма (Пример 5) с результатом работы цикла.

 

Для более глубокого понимания работы оператора FOR … NEXT рекомендуется повторить выполнение предложенного примера с другими значениями Старт и Стоп. Ещё лучше выполнить предложенную программу в пошаговом режиме (запуск из меню редактора VBA: Debug – Step Into), в котором очередной выполняемый оператор подсвечивается, ожидая команды продолжения (нажатия F8), а зависание указателя мыши на имени переменной позволяет отобразить её текущее значение.

Оператор FOR … NEXT часто используется при обработке массивов. Например, для одномерного массива можно организовать цикл, используя Счётчик, изменяющийся от значения нижней границы индекса массива Старт до верхней Стоп. Такой цикл выполнится столько же раз, сколько в массиве имеется элементов. Если в теле цикла при обращении к элементу массива использовать в качестве указателя индекса идентификатор Счётчик, то таким образом можно осуществлять поэлементный перебор всего массива [21, 22].

 




Поделиться с друзьями:


Дата добавления: 2014-10-22; Просмотров: 355; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.