Dim Massiv(1 To 5), S As Single, I As Integer
I = 1 ‘Начинаем с первого элемента, его индекс равен 1 (присваиваем I значение 1)
Povtor1: ‘Это метка оператора, который стоит следующим (определяет место перехода)
Massiv(I) = Val(InputBox("Введите элемент массива " & Str(I), "Окно ввода"))
If I<5 Then ' Проверка достижения конца массива
I = I + 1 ' Переход к следующему элементу (индекс увеличивается на 1)
GoTo Povtor1 ‘Это оператор перехода (изменяет последовательность выполнения)
EndIf
I = 1 ‘Начинаем с первого элемента, его индекс равен 1 (присваиваем I значение 1)
S = 0 ‘Начальное значение суммы элементов массива равно 0
Povtor2: ‘Это метка оператора, который стоит следующим (определяет место перехода)
S = S + Massiv(I) ‘Общий вид выражения для последовательного суммирования
If I<5 Then ' Проверка достижения конца массива
I = I + 1 ' Переход к следующему элементу (индекс увеличивается на 1)
GoTo Povtor2 ‘Это оператор перехода (изменяет последовательность выполнения)
EndIf
MsgBox "Сумма элементов массива равна " & Str(S), , "Ответ"
Во фрагменте программе два раза используется типичный алгоритм перебора элементов массива: первый раз для ввода значений элементов массива, второй - для вычисления суммы элементов.
В этой программе используется оператор перехода (синтаксис:GoTo метка), который изменяет последовательность выполнения операторов программы (после перехода выполняется оператор стоящий следующим за соответствующей меткой).
Метка обозначает следующий за ней оператор программы и может включать не более 40 символов (первый обязательно буква), заканчивается двоеточием (:).
Поясняющие надписи в тексте программы называются комментариями. Комментарии не воспринимаются транслятором. Должны начинаться с символа «‘» (нижний регистр клавиши слева от клавиши «Enter»).
Обратите внимание на типовой алгоритм последовательного нахождения суммы. Вначале обозначающая сумму переменная обнуляется (S = 0). На каждом шаге алгоритма сумма последовательно увеличивается-S = S + Massiv(I).
Этот фрагмент программы может быть помещен в какую-нибудь процедуру обработки событий и после запуска программы и реализации события выполнен.
В данном фрагменте программы используются так называемые «ручные циклы», т.е. явно текущему индексу элемента массива вначале присваивается значение 1, далее это значение увеличивается на 1 и проверяется достижение конца массива.
Так как циклические вычисления очень распространены, то в языках программирования существуют специальные средства для организации циклических вычислений -операторы цикла. В Visual Basic существует несколько операторов цикла.
Оператор цикла For-Next:
For параметр цикла = начальное значение To конечное значение Step шаг
операторы- эти операторы выполняются несколько раз (определяется начальным
Nextи конечным значениями параметра цикла)
Если шаг=1, то его обычно опускают.
Приведенный фрагмент программы с этим оператором будет иметь вид:
Dim Massiv(1 To 5), S As Single, I As Integer
For I=1 To 5[Step=1]
Massiv(I) = Val(InputBox("Введите элемент массива " & Str(I), "Окно ввода"))
Next При использовании оператора цикла фрагмент программы
становится короче
S = 0
For I=1 To 5[Step=1]
S = S + Massiv(I)- этот оператор выполняется 5 раз
Next
MsgBox "Сумма элементов массива равна " & Str(S), , "Ответ"
Циклы For применяют в тех случаях, когда количество проходов и диапазон изменения счётчика цикла заранее известны. Циклы Do While[Do Until] предназначены для ситуаций, когда количество проходов цикла заранее неизвестно, но зато известно условие выхода из цикла.
Операторы цикла Do-Loop бывают: с предусловиеми с постусловием.Циклс предусловием - цикл с верхним окончанием, в котором проверка условия выхода из цикла осуществляется в начале выполнения тела цикла.
Оператор цикла Do-Loop:
Do While условие Do Until условие