Цикл с конечным числом повторений FOR…NEXT
1. Простые циклы
1.1. Задача. Вычислить сумму конечного ряда
В задании кратко записана сумма конечного ряда:
Такие задачи обычно называются задачами с накапливающими суммами, т.к. здесь сумма вычисляется не сразу (в одном операторе), а накапливается постепенно в цикле.
Алгоритм решения:
1. Объявить переменные: i – счетчик цикла , n – количество элементов в сумме и S – сумма элементов ряда;
2. Обнулить переменную S, в которой будем хранить сумму;
3. Организовать цикл, в котором к предыдущему состоянию суммы будет прибавляться очередной элемент ряда. Применение цикла позволит кратко записать обработку n элементов ряда. Переменная i – степень, в которую возводится число 2, изменяется от 1 до n с шагом 1, что позволит использовать ее в качестве счетчика цикла;
4. Вывести значение суммы S.
В начале работы цикла переменная i получает начальное значение, т.е. 1.С этим значением выполняется тело цикла, т.е. оператор S=S+2^i. Затем к значению i прибавляется шаг (step 1) и новое значение счетчика цикла сравнивается с конечным значением n. Если значение переменной i не превысило конечное значение n, то тело цикла выполняется еще раз. Если i>n, то цикл завершает свою работу. Другими словами, цикл работает, пока i<=n. После завершения работы цикла переменная-счетчик цикла больше конечного значения n на величину шага.
Шаг цикла необязательно должен быть равен 1. Он может быть отрицательным или дробным числом.
Благодаря тому, что мы сделали переменную i счетчиком цикла, изменяющимся от 1 до n с шагом 1, все элементы нашего ряда можно теперь записать в общем виде: 2^i .В приведенном примере тело цикла (оператор S=S+2^i) выполняется n раз, при этом на каждом проходе значение переменной i разное, отличающееся от предыдущего на 1.Другими словами мы проходим по всем элементам ряда, последовательно прибавляя их к сумме.
! Распространенные ошибки
Выход из зацикливания CTRL+BREAK.
2. Обработка диапазона ячеек с использованием цикла FOR…NEXT
2.1. Задача. Заполнить n ячеек, расположенных в первой строке рабочего листа случайными числами.
Обратиться к ячейке из программы можно несколькими способами, например, указав адрес ячейки (Range(“A2”)) или, указав номера строки и столбца, на пересечении которых находится ячейка (Cells(2,3)). Если из программы необходимо обработать одну ячейку, то можно воспользоваться первым способом, если несколько – то вторым.
Для присвоения ячейке случайного целого значения, пользуемся следующей формулой:.
Здесь функция Rnd() возвращает случайное вещественное число, с 15-ю знаками после запятой, в диапазоне от 0 до 1. Чтобы получить число большее 1, результат работы функции Rnd() домножаем на какой-нибудь коэффициент, не меньший 10. Чтобы из полученного значения вычленить целую часть, используем функцию Int.
Чтобы в полученном ряде случайных значений примерно половина чисел были отрицательными, формулу можно дополнить следующим образом:
Алгоритм решения:
1. Объявить нужные переменные: n – количество ячеек, j –номер столбца, в котором расположена ячейка. Переменную, отвечающую за номер строки, объявлять не будем, т.к. все обрабатываемые ячейки, по условию задачи, располагаются в первой строке.
2. Организовать цикл, в котором последовательно будут обрабатываться n ячеек.
Если в этой задаче не использовать цикл, то текст программы будет состоять из n однотипных операторов. Например, если необходимо присвоить случайные значения 25-и ячейкам первой строки, то придется набрать 25 операторов вида:
Cells(1,1).Value=Int(Rnd()*10)
Cells(1,2).Value=Int(Rnd()*10)
Cells(1,3).Value=Int(Rnd()*10)
Cells(1,4).Value=Int(Rnd()*10)
Cells(1,5).Value=Int(Rnd()*10)
…………………………………
Cells(1,25).Value=Int(Rnd()*10)
Блок-схема:
|
2.2. Комбинация цикла и ветвления
Задача. На листе дано 25 целых чисел, расположенных в столбце В. Найти среднее геометрическое отрицательных и четных.
Вспомним, что среднее геометрическое нескольких чисел можно вычислить, разделив произведение этих чисел на их количество.
Четное число – это такое число, которое делится на 2 без остатка.
В данной задаче необходимо последовательно пройти по каждой ячейке в столбце В, проверяя является ли значение очередной ячейки числом четным и отрицательным. Если да, то необходимо добавить это число в произведение и посчитать его. После того, как будут рассмотрены все 25 ячеек, вычисляется среднее геометрическое.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.