Лекции.Орг


Поиск:




Категории:

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

 

 

 

 


End Sub. Результат выполнения программного кода цикла с предусловием с использованием универсального оператора цикла DO LOOP представлен на рисунке 11.5




 

Результат выполнения программного кода цикла с предусловием с использованием универсального оператора цикла DO … LOOP представлен на рисунке 11.5. Фрагмент программного кода данного примера отображается на форме внутри элемента управления типа Label (метка).

 

 

Рис. 11.5. Форма для примера 3 (Цикл-Пока)

 

Для реализации так называемого цикла со счётчиком (с параметром) используется оператор FOR … NEXT (см.). Блок-схема соответствующей алгоритмической структуры показана на рисунке 11.6. По сути, это частный случай цикла с предусловием. При этом действие, изменяющее значение счётчика с заданным шагом, вынесено из тела цикла непосредственно в заголовок (символ подготовки).

 

Рис. 11.6. Цикл с параметром

Фрагмент программного кода для примера 4 на языке VBA

Dim strY As String * 15

Dim strX As String * 7

Dim I As Integer

Rad = Atn(1) * 4 / 180 'коэффициент для перевода градусной меры угла в радианы

I = 0

For x = -180 To 180 Step 10

I = I + 1

strI = I

strX = x

ModX = Abs(x)

If ModX > 89 And ModX < 91 Or ModX > 269 _

And ModX < 271 Then

strY = "-Нет решения"

Else

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

strY = Y

End If

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





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


Дата добавления: 2015-01-29; Мы поможем в написании ваших работ!; просмотров: 1823 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Победа - это еще не все, все - это постоянное желание побеждать. © Винс Ломбарди
==> читать все изречения...

2280 - | 2114 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.011 с.