Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.8 Mб
Скачать

Циклические алгоритмы.

Использование циклических структур.

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

Специальные команды, находящиеся в начале и в конце цикла сообщают компьютеру:

  1. Начало и конец повторяющегося набора действий.

  2. Сколько раз, или при каком условии необходимо выполнять нашу группу операций.

Основными циклическими структурами в VBA являются:

1. Циклы: 1) FOR … NEXT (для … следующий)

2) DO … LOOP (делать … петлю)

Рассмотрим циклы for … next

Одна из модификаций данного цикла имеет вид:

FOR< переменная цикла > = <начальное значение> TO < конечное значение>

<действия >

NEXT <переменная цикла>

Соответственно, каждую из приведенных выше строк можно назвать:

(заголовок цикла)

(тело цикла)

(окончание цикла)

Как действует данный цикл?

Переменная цикла (называемая еще счетчиком цикла) принимает свое начальное значение и с этим значением выполняет действия внутри цикла. Обращаем внимание если начальное значение не больше конечного значения. Если больше, то выходим из цикла сразу, не сделав ни одного действия внутри цикла.

По достижению оператора NEXT управление передается на начальный оператор цикла FOR. Переменная цикла увеличивает свое значение на 1, и проверяется, будет ли это значение больше конечного. Если будет больше, то выходим из цикла, если нет – выполняем ещё раз действия цикла и т.д. пока переменная цикла не станет больше конечного значения.

Пример.

Найти сумму всех натуральных чисел от 2 до 1000.

Характерная особенность циклов по нахождению некоторой суммы: вводится переменная, в которой будет накапливаться нужная нам сумма. Первоначальное значение этой переменной равно 0.

В переменной S хранится накапливаемая сума

Замечание 1. В теле цикла запрещается изменять значения переменной цикла.

Замечание 2. Досрочный выход из цикла осуществляется с помощью оператора EXIT FOR.

Цикл типа FOR … NEXT может изменять переменную цикла не только на 1. В общем виде оператор FOR … NEXT имеет вид:

FOR <Переменная цикла> = <начальное знач.>TO <конечное значение>STEP < шаг цикла>

<действия>

NEXT <переменная цикла>

Пример

Найти произведение целых чисел от к до м с шагом 2

К = 10 М = 21

Р = 10*12*14*16*18*20

Характерная особенность циклов, в которых находится произведение: вводится переменная, в которой будет храниться накапливаемое произведение. Первоначальное значение этой переменной должно быть равным 1.

Найти произведение

SUB цикл

К = InputBox (“Ввести К”)

М = InputBox (“Ввести М”)

Р = 1 ‘начальное значение произведения

FOR і = К TO М STEP 2 ‘заголовок цикла

P = P* і

IF P = 0 THEN EXIT FOR ‘Досрочный выход из цикла’

NEXT і ‘окончание цикла’

MSGBOX «произведение равно» & P ‘вывод произведения

END SUB

Замечание.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]