Циклы в инженерных расчетах
Если в программе необходимо повторить один оператор или последовательность операторов несколько раз, используются операторы циклов. Операторы циклов заключают такой оператор или группу операторов между ключевыми словами начала и конца цикла и определяют условия повтора выполнения. Параметром цикла называется переменная, которая используется при проверке условия цикла и принудительно изменяется на каждой итерации. Если параметр цикла целочисленный, он называется счетчиком цикла. Имеется большой выбор средств организации циклов, которые можно разделить на две группы: циклыFor ... Nextи циклыDo ... Loop
Циклы For ... Next
Циклы For…Next используются, когда заранее определено, сколько раз должны выполняться операторы цика.
For <счетчик> = <нач. значение> То <кон. значение> Step <приращение>
<операторы>
Next
В роли счетчика количества повторений в цикле может выступать любая переменная числового типа. Приращение может быть как положительным, так и отрицательным числом. Если приращение равно единице, то конструкция Step может быть опущена. Если приращение отрицательно, то начальное значение, естественно, должно быть больше конечного.
Например, в следующей программе счетчиком является переменная целого типа, увеличивающаяся на каждом шаге цикла на 1:
For i = 1 To 10
C=i^2
MsgBox C
Next
В результате выполнения программы будут выведены в окно сообщений квадраты целых чисел от 1 до 10.
В другом примере значения функции Sin(x) полученные на интервале от 0 до 1 с приращением аргумента 0,1, будут выведены в ячейки первого столбца рабочего листа Лист1начиная с первой строки:
i=1 ‘номер строки, в ячейки которой осуществляется вывод
For x = 0 To 1 Step 0.1
y=Sin(x)
Worksheets(“Лист1”).Cells(i, 1)=y
i=i+1 ‘номер строки увеличивается на 1
Next
Циклы Do...Loop
Циклы Do...Loop используются в тех случаях, когда заранее неизвестно, сколько раз должна выполняться расположенная в теле цикла группа операторов. Такой цикл продолжает работу до тех пор, пока не будет выполнено определенное условие. Существуют 4 типа операторов цикла Do...Loop:
1) Цикл с ключевым словом While продолжает свою работу, пока условие остается истинным, т.е. пока условие выполняется, и задается в двух вариантах, представленных ниже.
Do While <условие> <операторы > Loop | Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. |
Do <операторы> Loop While <условие> | Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
2) Цикл с ключевым словом Until продолжает свою работу, пока условие является ложным, т.е. условие не выполняется, и задается в двух вариантах, представленных ниже.
Do Until <условие> <операторы> Loop | Условие проверяется до того, как выполняется группа операторов, образующих тело цикла. |
Do <операторы> Loop Until <условие> | Условие проверяется после того, как операторы, составляющие тело цикла, будут выполнены хотя бы один раз. |
Если условие постоянно будет ложно, то программа зациклится. Чтобы этого не произошло, значения переменных, входящих в условие, должны изменяться в теле цикла. Если произошло зацикливание (зависание машины), надо прервать программу нажатием Ctrl + Break и исправить ошибку.
Пример 1. На складе ежедневно происходит обновление товара. Все данные о видах товара заносятся в таблицу рис. 5.1. Необходимо определить, какое количество видов товара находится на складе.
Для решения этой задачи необходимо подсчитать, количество записей в таблице. Для этого создадим командную кнопку и напишем для нее следующую процедуру: