Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб9_VisualBasic.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
217.09 Кб
Скачать

3. Вывод массива или отдельных его элементов

Способы вывода элементов массива:

1)  На форму:

For i = 1 To n

Print A(i)

Next i

2)  В текстовое поле:

For i = 1 To n

Text1.Text = Text1.Text + " " + Str(A(i))

Next i

3) С помощью элемента управления ListBox (Список):

For i = 1 To n

List1.AddItem A(i)

Next i

и другие

1.6. Массивы однотипных элементов

  • При создании интерфейса приложения часто возникает необходимость организации значительного количества однотипных объектов (например, кнопок, текстовых полей, …).

  • Имена каждого объекта такого набора должны быть уникальными, то есть РАЗНЫМИ:

Имя1 , Имя2, Имя3, … .

  • К уникальным именам объектов неудобно обращаться в циклических алгоритмах.

  • Для удобства обращения к именам объектов в циклических алгоритмах рационально создавать массивы объектов.

  • Каждый объект в массиве объектов имеет ОДИНАКОВОЕ ИМЯ и индекс, указываемый в скобках:

Имя(1), Имя(2), Имя(3), ….

  • К имени объекта из массива объектов удобно обращаться в циклических алгоритмах. Например, при захвате значений из десяти текстовых полей:

For i = 0 To 10

A (i) = txtPole(i).Text

Next i

Порядок создания массива объектов:

  • Занести первый объект в форму обычным способом.

  • Скопировать занесенный объект в буфер обмена.

  • Вставить из буфера обмена элемент в форму. ВНИМАНИЕ! При вставке возникнет системный запрос: создать массив, или добавить обычный объект. Надо создать массив.

2. Типовые задачи на обработку одномерных массивов

2.1. Поиск максимального (минимального) значения в массиве

Рассмотрим две задачи.

1. Синоптики фиксировали дневные температуры в течение всего года. Найти максимальную (минимальную) годовую температуру.

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

Решение. Подход к решению этих на первый взгляд задач должен быть различным. Очевидно, что для решения первой задачи совсем не обязательно заводить массив для хранения информации, так как запоминать значения температуры в каждый день года вовсе не обязательно. Эти значения можно обработать последовательно и получить требуемый результат.

Вот пример кода для решения подобной задачи.

Const n As Integer = 365

Dim i As Integer, t As Integer, max As Integer

max = InputBox("Введите температуру 1- го дня")

For i = 2 To n

t = InputBox("Введите температуру" + Str(i) + "- го дня")

If t > max Then max = t

Next

MsgBox "Максимальная температура равна" + Str(max)

При поиске минимального значения достаточно заменить условный оператор на следующий: If t < min Then min = t.

Вторую задачу решить без использования массивов не представляется возможным. Рассматриваемая задача делится на две подзадачи:

  1. поиск максимального значения среди всех годовых температур;

  2. определение дней со значением температуры, равной максимальной.

Для выполнения этих подзадач необходимо обработать каждое значение два раза, что требует их хранения в памяти компьютера.

Const n As Integer = 365

Dim masT(1 To n) As Integer

Dim i As Integer, max As Integer, st As String

For i = 1 To n

masT(i) = InputBox("Введите температуру" + Str(i) + "- го дня")

Next

max = masT(1)

For i = 2 To n

If masT(i) > max Then max = masT(i)

Next

st = "Дни с максимальной температурой: "

For i = 1 To n

If masT(i) = max Then st = st + " " + str(i)

Next

MsgBox st

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]