Лекция_3_1_программирование_цикл_20150921.ppt
- Количество слайдов: 21
Инструкции для выполнения циклов (операции повтора) Цикл – это последовательность повторяющихся операций В VBA имеется несколько операторов повтора: For…Next – повторяет набор инструкций заданное число раз For Each…Next – повторяет набор инструкций для каждого объекта семейства VBA 1
Do While …Loop - повтор инструкций, пока условие выполняется. Do Until…Loop - повтор инструкций, пока не начнет выполняться условие. With…End With - позволяет провести несколько операций с одним объектом. VBA 2
Оператор For (для)…Next (следующий) Имеет синтаксис Начало Конец Шаг Имя For = To Step цикла переменной Операторы тела цикла Next VBA 3
Оператор For (для)…Next (следующий) • Закрашивает ячейки цветом, согласно номеру строки. VBA 4
Оператор For (для)…Next (следующий) • Закрашивает ячейки цветом, согласно номеру строки. Sub NColor() Dim i As Integer For i = 1 To 56 '57 - Colores in Excel Cells(i, 1). Interior. Color. Index = i Next i End Sub VBA 5
1. 2. 3. 4. 5. Работает так: Переменной цикла присваивается начальное значение. i=0 Выполняются операторы тела цикла. Оператор Next возвращает управление оператору For. Оператор For увеличивает значение переменной цикла на шаг i=i+1 проверяет условие окончания цикла. (i<=56) не выходим 6. При выполнении условия происходит переход к оператору, следующему за Next. При невыполнении повторяются п. п. 2 – 6. VBA 6
Пример • Пример 1. ( Функция одной переменной для шагового аргумента). Построить таблицу значений функции y=x 2 для аргумента x, изменяющегося от 0 до 1, 5 с шагом 0, 3. Решение Sub Tabulir() Dim i As Integer Dim x, y As Single i = 1 ' для № строки при выводе For x = 0 To 1. 5 Step 0. 3 ' изменение х в заданных пределах y=x*x i=i+1 Cells(i, 1). Value = x ' пишем x в i -ую строку Cells(i, 2). Value = y ' пишем y в i -ую строку Next x End Sub VBA 7
VBA 8
Пример. Вычислить среднее арифметическое четных Пример чисел из N чисел, вводимых с клавиатуры. VBA 9
VBA 10
Циклы с неизвестным числом повторений Оператор While (пока)…Wend (конец цикла) Структура оператора: While Условие Операторы тела цикла Wend Работает так: проверяется условие. Если оно выполняется, работают операторы тела цикла. Если не выполняется – переход к следующему оператору после Wend. VBA 11
VBA 12
VBA 13
• • • Операторы Do …Loop Существуют два типа операторов Do. Оператор Do While…Loop повторяет вычисления, пока условие истинно (выполняется), то есть работает точно так же, как оператор While…Wend. Оператор Do Until…Loop повторяет вычисления, пока условие не станет истинным (то есть работает только пока условие не выполняется). VBA 14
VBA 15
VBA 16
VBA 17
VBA 18
Do While —тип циклической структуры, представленной в VBA. В отличие от цикла For-Next, цикл Do while выполняется до тех пор, пока удовлетворяется заданное условие. Do While условие инструкции [Exit Do] [инструкции] Loop или Do инструкции [Exit Do] [инструкции] Loop While условие Цикл с предусловием Это цикл работает пока значение условия равно Истина Цикл с постусловием VBA 19
Циклы Do Until —тип циклической структуры, представленной в VBA. В отличие от цикла For-Next, цикл Do Until выполняется до тех пор, пока неудовлетворяется заданное условие. Do Until условие конструкции [Exit Do] [инструкции] Loop или Do конструкции [Exit Do] [инструкции] Loop Until условие VBA Цикл с предусловием Это цикл работает пока значение условия равно Ложь Цикл с постусловием 20
Существуют определённые правила выбора типа цикла: 1. Если известно заранее число повторений тела цикла, лучше всего использовать оператор цикла For; 2. Если вам заранее не известно число повторений тела цикла и если окончание цикла зависит от выполнения некоторого условия, лучше использовать конструкции While …Wend, Do While…Loop или Do Until … Loop. 3. Если необходимо, чтобы цикл всегда выполнялся хотя бы один раз, то используйте конструкции Do … While Loop или Do … Until Loop . VBA 21