Урок из серии: «Программирование на Visual Basic.NET для школьников»
В предыдущем уроке рассказывалось, как описать массив и заполнить его данными.
В этом уроке мы начнем изучать алгоритмы, связанные с обработкой массивов.
Часто требуется вычислить сумму элементов массива, их среднее арифметическое значение или найти значения и номера максимального и минимального элементов, а также изменить значения элементов массива и т.д.
При этом для одномерного и двумерного массивов используются аналогичные алгоритмы, но в случае двумерного массива требуются вложенныециклы.
В этом уроке рассмотрим алгоритм нахождения максимального элемента в массиве, довольно-таки типичная задача для большого количества данных.
Проект «Поиск максимального элемента»
Задание.Разработать проект, в котором числовой массив, содержащий 10 элементов, заполняется случайными числами в диапазоне от 0 до 100. Осуществить в этом числовом массиве поиск максимального элемента и его индекса.
Ход выполнения проекта
-
- Создание графического интерфейса проекта.
Поместить на форму:- две надписи label1 и label2 для вывода поясняющего текстов.
- надпись label3 для вывода значения максимального элемента;
- надпись label4 для вывода номера максимального элемента;
- список listBox1 для вывода значений индекса элементов массива;
- список ListBox2 для вывода значений элементов массива;
- кнопку Button1 для заполнения массива;
- кнопку Button1 для поиска максимального элемента массива.
- Объявим целочисленные переменные I и Max, а также целочисленный массив A(9), содержащий 10 элементов.
Dim I, a(9), max As Integer
- Создание графического интерфейса проекта.
- Создадим обработчик события для заполнения целочисленного массива случайными числами.
Заполним массив целыми случайными числами от 0 до 100.' Заполнение массива случайными числами Randomize() ListBox1.Items.Clear() ListBox2.Items.Clear() For i = 0 To 9 A(I) = Int(Rnd() * 100) ListBox1.Items.Add(Str(I)) ListBox2.Items.Add(Str(a(I))) Next i
- Создадим обработчик события для поиска максимального элемента и его индекса.Будем считать, что сначала максимальный элемент равен первому элементу массива, т.е. A(imax) = A(0) и imax = 0В цикле со счетчиком i с использованием оператора ветвления последовательно сравним максимальный элемент массива со всеми остальными элементами.
Если какой либо элемент массива окажется больше, то присвоим переменной max значение этого элемента, запомним в переменной imax индекс этого элемента.
Результат поиска, т.е. индекс максимального элемента и сам максимальный элемент, выведем на надписи.
Получится следующий программный код:
'Поиск максимального элемента max = 0 : max = a(0) For I = 1 To 9 If a(I) > max Then max = a(I) : imax = I Next I Label1.Text = imax Label2.Text = max
- Запустим проект.
Щелкните по кнопку Заполнить и Найти несколько раз.
На надписи будут выводиться результаты поиска индекса максимального элемента и сам максимальный элемент для различных вариантов заполнения массива.
- Сохранить проект
-
В этом уроке мы познакомились с алгоритмом для нахождения максимального элемента в одномерном массиве.
В следующем уроке рассмотрим алгоритмы сортировки одномерных массивов.
Следующий урок: «Сортировка числового массива»