Массивы
Пример 1 Сформировать массив, содержащий n элементов, состоящий из случайных чисел в диапазоне от -10 до 10. 1. Найти сумму элементов массива, значения которых положительны. 2. Найти максимальный элемент массива. 3. Найти произведение элементов массива с четными индексами. 4. Элементы массива, имеющие отрицательные значения, возвести в квадрат. 5. Поменять местами максимальный и предпоследний элементы
2. Проектируем экранную форму. Label 1 Command. Button 1 Text. Box 1 List. Box 2
3. Текст программы Основной модуль Sub lab 4() User. Form 1. Show End Sub
Описание объектов и заполнение массива Private Sub Command. Button 1_Click() Dim n, i, k As Integer, s, p, w, a(100) As Single n = CInt(Text. Box 1. Text) Randomize For i = 1 To n a(i) = -10 + 20 * Rnd List. Box 1. Add. Item ("a("+CStr(i)+ ")="+ CStr(a(i))) Next i
1. Вычисление суммы элементов, значения которых положительны. s=0 For i = 1 To n If a(i) > 0 Then s = s + a(i) End If Next i 2. Нахождение максимального элемента массива с определением его номера. k = 1: am = a(1) For i = 1 To n If a(i) > am Then k = i: am = a(i) End If Next i
3. Возведение в квадрат элементов значения которых отрицательны For i = 1 To n If a(i) < 0 Then a(i) = a(i) ^ 2 End If Next i 4. Вычисление произведения элементов с четными индексами p=1 For i = 2 To n Step 2 p = p * a(i) Next i
5. Меняются местами максимальный и предпоследний элементы w = a(k): a(k) = a(n - 1): a(n - 1) = w 6. Вывод результатов For i = 1 To n List. Box 2. Add. Item ("a(" + CStr(i) + ")=" + CStr(a(i))) Next i List. Box 2. Add. Item List. Box 2. Font. Size = 10 List. Box 2. Add. Item ("s=" + CStr(s)) List. Box 2. Add. Item ("a max=" + CStr(am)) List. Box 2. Add. Item ("p=" + CStr(p)) End Sub
Пример расчета
Пример 2 Нахождение суммы (выделенных) элементов массива. Экранная форма
Пример 2 Выбор события Initialize для формы
1. Заполнение массива Private Sub User. Form_Initialize() With List. Box 1. List = Array(2. 1, -1. 2, 3. 5, 4. 5, -3. 6, 4. 7, -1. 8, 0. 2). Multi. Select = fm. Multi. Select. Multi End With End Sub
2. Нахождение суммы выделенных элементов Private Sub Command. Button 2_Click() s=0 With List. Box 1 For i = 0 To. List. Count - 1 If. Selected(i) = True Then s = s +. List(i) End if Next i Text. Box 1. Text = CStr(s) End With End Sub
Пример 2 После запуска программы
Пример 2 Выделяем элементы (используем Ctrl)
Пример 2 После щелчка по кнопке OK