Do While условие
'операторы
Loop
6. Range - объект для работы с данными в ячейках рабочего листа.
Cells- объект доступа к диапазону ячеек по индексам.
Пример 1 (одномерный массив): заполнить массив случайными вещественными числами, вычислить их сумму, вывести сумму и массив.
Операторы программы | Комментарий |
Option Explicit | |
Public Sub ExecArray() | Начало процедуры |
Const n = 10 | Задание константы |
Dim sngArray(1 To n) As Single | Задание одномерного массива |
Dim i As Integer | Задание счетчика шагов |
Dim mes As String | Задание переменной mes |
Randomize | Активизация генератора случайных чисел |
mes = "V[" | Начальное значение для строки элементов массива |
For i = 1 To n | Начало цикла |
sngArray(i) = Rnd | Получение случайного вещественного числа |
mes = mes & "" & Format(sngArray(i), "###0.00") | Вывод переменной mes с округлением |
Next i | Следующее значение i |
mes = mes + "]" | Конечное значение для строки элементов массива |
Dim s As Single | Задание переменной s |
s = 0 | Начальное значение суммы |
For i = 1 To n | Начало цикла |
s = s + sngArray(i) | Вычисление суммы |
Next i | Следующее значение i |
MsgBox "S=" & s & Chr(10) & Chr(13) & mes, vbInformation, "“ | Вывод результатов в диалог (Chr – управляющие коды для перехода на новую строку) |
End Sub | Окончание процедуры |
Задание:
1. Изменить имя процедуры на «Massiv».
2. Изменить имя массива на L.
3. Убрать начальное и конечное значение переменной mes.
4. Убрать округление переменной mes.
5. Убрать пиктограмму с «!».
Пример 2(одномерный массив): создать макрос для ввода с клавиатуры последовательности чисел, выполнить их суммирование до контрольного значения, которое вводится с клавиатуры.
Код макроса | Комментарий |
Option Explicit | |
Public Sub getNumbers() | Начало процедуры |
Dim strN As String, strX As String | Задание переменных |
Dim n As Single, s As Single, x As Single | |
strN = InputBox(“Вв. Предельное число N") | Диалог для ввода предельного числа |
If Not IsNumeric(strN) Then Exit Sub | Если введено не число - выход из программы |
n = CSng(strN) | Преобразование n в число с плавающей запятой |
s = 0 | Начальное значение суммы |
Do While s < n | Начало цикла по логическому условию |
strX = InputBox(“Введите число") | Диалог для ввода числа |
If Not IsNumeric(strX) Then Exit Do | Если введено не число - выход из программы |
x = CSng(strX) | Преобразование x в число с плавающей запятой |
s = s + x | Вычисление суммы |
Loop | Конец |
MsgBox “Получено=" & s & "N=" & n | Вывод результатов в диалог |
End Sub | Окончание процедуры |
Задание:
1. Заполнить два массива случайными числами, вычислить их сумму.
2. Заполнить два массива случайными числами, создать третий массив, элементы которого являются суммами двух предыдущих.
Пример 3 (операции с матрицами): Заполнить квадратные матрицы А и В размера n x n случайными вещественными числами. Получить новую матрицу Спо формуле: С(i,j)=A(i,j)+B(i,j).
Рабочий лист после обработки данных:
1. Создать 3 командные кнопки, изменить имя и заголовок.
2. Ввести операторы программы в окне VBA