Вычисляем значение переменной игрек равное икс в квадрате
Следующее значение икс
По этой программе будут вычисляться значения квадратов переменной х. Сначала для х=-4, х=-3.9, х=-3.8 и т.д до х=3.8, х=3.9, х=4. Цикл закончится, когда значение переменной цикла х станет равным 4.1, но в квадрат это значение возводиться не будет.
Блок-схема цикла со счетчиком имеет вид:
Запись x = -4; 4; 0.1 означает, что икс меняется от -4 до 4 с шагом 0,1
Если тело цикла отсутствует, то такой цикл называется пустым или циклом задержки.
For i = 1 To 100000
Данный вид цикла применяется в том случае, если надо задержать на экране какую-либо информацию на некоторое время. Цикл задержки на быстродействующих компьютерах для длительного времени мало эффективен. Для задержки следует пользоваться командой Timer или создать программу:
Sub SleepVB (Seconds) ' ожидание Seconds секунд
Dim Start
Start = Timer ' текущее время в секундах
Do While Timer < Start + Seconds
' обеспечивает параллельное выполнение других процессов
DoEvents
Loop
End Sub
Функция DoEvents позволяет производить другие процессы параллельно с выполнением текущего цикла. (DoEvents передает управление операционной системе, а сама функция возвращает число открытых форм в данном VB-приложении).
Если начальное значение переменной цикла больше конечного её значения, то шаг изменения переменной цикла от начального значения к конечному, будет отрицательным.
'Цикл For...To...Step...с отрицательным шагом
For n = 100 To 1 Step -1
s = s + n
Print “s=”; s
Один цикл может располагаться внутри другого. Сначала должен быть закрыт внутренний цикл, а затем внешний.
Так правильно:
Так не допустимо:
For i = 1 To 1000
For j = 1 To 10
s = s + a(i,j)
Next j
Next i
For i = …
For j = …
…
Next i
Next j
Занятие 14. Циклы с условием Do…Loop
Циклы с пред и постусловием имеют и другую интерпретацию. Недостатком ранее рассмотренных примеров цикла является то, что в них применялся оператор безусловного перехода GoTo. Предложенные разработчиками варианты цикла устраняет этот недостаток.
Возможны 4 варианта записи этих циклов:
С постусловием
С предусловием
Do
Тело цикла
Loop While условие продолжения цикла
Do While условие продолжения цикла
Тело цикла
Loop
Until (читается – антил, переводится –до тех пор пока (не) или до).
Итак, программа делает петлю, т.е. цикл и выход из него происходит по условию.
Задача: составьте программу вычисления n! (эн факториал). Факториал это форма записи произведения, например, 5! = 1×2×3×4×5.
Рассмотрим её решение с новыми видами цикла.
Цикл Do…Loop While…
Это вариант цикла с постусловием. Делай петлю, пока выполняется условие. Тело цикла хотя бы один раз будет выполнено. Проверяется условие продолжения цикла.
Private Sub Command1_Click()
n!=InputBox(“Введите n”)
k% = 1:
P = 1
Do
P = P * k
k = k + 1
Loop While k <= n
Print n; “!=”; P
End Sub
Начало подпрограммы
Вводим число n
Начальное значение счетчика равно 1
Начальное значение произведения = 1
Произведение (факториал) умножается
на очередное значение счетчика
Счетчик k увеличивается на 1
Возвращаемся к началу цикла
Проверка условия: если k<=n, то
Выполняем тело цикла:
Печатаем значение факториала Р
Конец подпрограммы.
Цикл Do…Loop Until…
Это вариант цикла с постусловием. Делай петлю до достижения условия. Тело цикла хотя бы один раз будет выполнено. Проверяется условие выхода из цикла.