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 условие


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: