Пример 1.

Условие задачи:

Написать программу, которая вычисляет среднее арифметическое значений элементов одномерного массива.

Схема алгоритма:

При обработке массивов часто используется структура «цикл с параметром», так как индекс массива представляет собой счетчик и изменяется с шагом, равным 1.

Форма Программа
Private Sub CommandButton1_Click() Dim a() As Single Dim n As Integer, S As Single, i As Integer n = Val(TextBox1.Text) 'Ввод кол-ва элементов массива ReDim a(n) As Single For i = 1 To n 'Ввод элементов массива a(i) = InputBox("Введите a(" + Str(i) + ")") Next i S = 0 'Вычисление суммы элементов массива For i = 1 To n S = S + a(i) Next i S = S / n TextBox2.Text = Str(S) 'Вывод результата End Sub

С помощью текстового поля TextBox1 определяется переменная n, значение которой используется для определения граничного индекса. Redim позволяет выделить память под динамический массив.

Массив а — это массив вещественных чисел. Индекс элементов массивы изменяется в интервале от 0 до n.

Переменная i используется в качестве параметра оператора цикла. Переменная n — количество элементов массива, исходная величина. S — результат вычислений. В этой переменной накапливается сумма элементов массива.

Рассмотрим отдельно фрагмент ввода массива.

For i = 1 To n 'Ввод элементов массива

a(i) = InputBox("Введите a(" + Str(i) + ")")

Next i

Ввод массива (и вывод тоже) необходимо производить поэлементно. Ввести массив — это значит ввести все его элементы. Индекс элемента массива должен пробежать все значения от 1 до n. Для этого организуем цикл, в котором индекс массива является параметром цикла. Оператор For здесь особенно уместен.

Ввод элементов массива осуществляется с помощью функции InputBox. Эта функция выводит на экран диалоговое окно. В качестве аргумента функции используется строковая константа-подсказка: "Введите a(" + Str(i) + ")"

Ввод элементов массива можно осуществлять с текущего листа электронной таблицы. Обратиться к ячейкам таблицы можно с помощью свойства таблицы Cells.

For i = 1 To n ‘ Ввод элементов массива

a(i) = Cells(1, i)

Next i

У свойства Cells два параметра. Первый — номер строки таблицы. I — номер столбца. При этом, элементы массива должны быть предварительно введены в ячейки таблицы.

Для расчета суммы используется прием накопления суммы.

S = 0

For i = 1 To n

S = S + a(i)

Next i

Этот прием заключается в том, что в формуле вычисления суммы в правой и левой частях выражения записано имя одной и той же переменной. Начальное значение должно быть равно 0. В цикле к текущему значению суммы S прибавляется значение очередного элемента массива, и результат записывается в переменную S, которая для следующего прохода цикла становится текущим значением.

По окончании работы оператора цикла в переменной S накопится сумма всех элементов массива. Для определения среднего значения полученную сумму следует разделить на количество элементов массива и вывести результат на экран.