Циклические программы.
Примеры циклических алгоритмов:
Безусловный оператор цикла FOR |
Условный оператор цикла с предусловием WHILE |
Условный оператор цикла с постусловием WHILE |
|
|
|
Циклы типа FOR.
Синтаксис оператора For
for переменная = выражение 1 То выражение2 [Step выражениеЗ]
операторы
операторы
...
Next [ переменная ]
Пример: Написать программу, которая 200 раз напечатает слово "Ура!".
Private Sub Command2_Click()
For i = 1 To 200
Print "Ура!"
Next i 'Увеличение i на 1 и возврат
End Sub
Слово For переводится как "для". Слово То переводится как "до". Конструкция For i=1 To 200 понимается так:
Для i, изменяющегося от 1 до 200, выполняй операторы, стоящие ниже вплоть до слова Next. Слово Next говорит о том,
что надо увеличивать i на 1 и возвращаться к началу цикла. При первом выполнении цикла i будет
равно 1, при втором - 2 и т. д. При последнем - 200. Переменная i называется переменной цикла.
В данном конкретном случае сами по себе значения i не важны, тот же результат мы бы получили и
с оператором For i = 501 То 700. Переменная цикла (по умолчанию) меняется с шагом 1. Шаг (Step)
можно задавать любой.
Оператор Do While... Loop
Синтаксис оператора Do While... Loop:
Do While условие продолжения работы цикла
операторы
операторы
...
Loop
пример:
Private Sub Command7_Click()
Print "Начало счета";
f = 3
Do While f<=9
Print f;
f = f + 2
Loop
Print "Конец счета"
End Sub
Do While f <= 9 понимать следует так: Пока f <= 9, выполняй нижестоящие операторы вплоть до Loop.
Оператор Do Until... Loop
Синтаксис оператора Do Until... Loop:
Do Until условие завершения работы цикла
операторы
операторы
...
Loop
Пример:
Private Sub Command8_Click()
Print "Начало счета";
f = 3
Do Until f>9
Print f;
f = f + 2
Loop
End Sub
Do Until f > 9 понимать следует так: Выполняй нижестоящие операторы вплоть до Loop, до тех пор пока не выполнится условие f > 9.
Пример:
Вывести на печать 5 случайных. Числа, которые делятся на 4, вывести в текстовое поле отдельно.
Создайте кнопку и текстовое поле. В поле свойств multiline текстового поля установите значение true
(чтоб в текстовом поле отображалось несколько строк).
Dim a As Integer
Dim i As Byte
Private Sub Command1_Click()
Randomize
For i = 1 To 5
a = Rnd * 10
'случайные числа от 0 до 10
Print a
If (a Mod 4) = 0 Then
b = a
Text1.Text = text1.text+str(b) ' str(b)-означает, что b строка
End If
Next i
End Sub