logo
ИТвМ-12-09-осень2013

Программирование циклов

В VISAUL BASIC существуют три циклические конструкции операторов:

  1. For … Next

  2. While … Wend

  3. Do … Loop

Оператор цикла For … Next

Оператор цикла For…Next имеет формат:

For счетчик=началоToконец[Stepприращение]

операторы

Next [счетчик]

Рассмотрим пример решения задачи, использующей цикл со счетчиком. Требуется найти сумму 10 чисел.

Private Sub Command1_Click()

Dim b(10) As Integer, s As Integer

s = 0

For i = 1 To 10

b(i) = Val(InputBox("Введите число"))

s = s + b(i)

Next

Print s

End Sub

Оператор цикла WHILE…WEND

Используется для организации циклов с предусловием и имеет следующий формат:

While условие продолжения цикла

операторы тела цикла

Wend

Например, выведем в форму все значения, большие 1, причем каждое последующее значение получается путем деления предыдущего пополам:

Private Sub Command1_Click()

Dim y As Single

y = InputBox("Введите число")

While y > 1

'MsgBox y

Print y

y = y / 2

Wend

End Sub

Оператор цикла DO…LOOP

Используется для организации циклов с неопределенным числом повторений (с предусловием и с постусловием).

Этот оператор для организации цикла с предусловием может использоваться в двух модификациях:

а) Do Whileусловие продолжения цикла

операторы тела цикла

Loop

б) Do Untilусловие прекращения цикла

операторы тела цикла

Loop

Для организации цикла с постусловием этот оператор также может быть использован в двух модификациях:

в) Do

операторы тела цикла

Loop Whileусловие продолжения цикла

г) Do

операторы тела цикла

Loop Untilусловие прекращения цикла

На рис. 61 приведен пример использования цикла с постусловием для решения задачи сортировки одномерного массива по возрастанию элементов.

Рис. 61. Пример использования цикла с постусловием