![]() Поиск: Рекомендуем: ![]() ![]() ![]() ![]() Категории: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
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 на примере следующего фрагмента программы:
ForI= Старт To Стоп lsbРезультат.AddItem I NextI Щелчок по кнопке позволяет вызвать форму (рис. 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; просмотров: 719 | Нарушение авторских прав | Изречения для студентов Читайте также:
Рекомендуемый контект: Поиск на сайте:
|