Теоретическое обоснование

VISUAL BASIC: ОБРАБОТКА МАССИВОВ

Цель и содержание работы: изучениепринципов работы с массивами,создание приложений и отладка программ для задач с одномерными массивами.

Теоретическое обоснование

Массив – поименованный структурированный тип данных, состоящий из фиксированного числа элементов одного типа, которым присвоено общее имя.

Массивы характеризуются: именем, размерностью и типом данных, которые хранятся в данном массиве. Элементами массива могут быть целые числа, вещественные числа, а также символы.

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

Положение элемента массива среди остальных задается значением индекса. В зависимости от количества индексов массивы бывают одномерными (один индекс), двумерными (два индекса) и т. д.

Например, А(40) – одномерный массив целых чисел под именем А размерностью 40.

В Visual Basic существуют массивы фиксированного размера и динамические массивы. Массив фиксированного размера имеет неизменный размер, заданный при его объявлении. Динамические массивы могут изменять размер в процессе выполнения.

Объявление массива фиксированного размера зависит от области его видимости и осуществляется следующим образом:

- глобальный массив объявляется с помощью оператора public в секции Declaration модуля;

- массив уровня модуля – с помощью оператора private в секции Declaration модуля;

- локальный массив – с помощью оператора private процедуры.

При объявлении массива после его имени в круглых скобках указывается верхняя граница массива. По умолчанию нижней границей массива является 0. Например:

Dim intMas (20) As Integer

Задает массив из 21 элемента, индекс элементов массива изменяется от 0 по 20 включительно. Для создания глобального массива такого же размера:

Public intCountPar (20) As Integer

Можно явно задать нижнюю границу массива, используя ключевое слово То:

Dim intCountPar (1 To 20) As Integer

В этом случае задается массив из 20 элементов. Индекс элементов массива изменяется от 1 до 20.

Visual Basic позволяет использовать многомерные массивы. Например, в следующем коде объявляется двумерный массив размерностью 21х21:

Dim intCountPar (20, 20) As Integer

Для начала работы с массивом необходимо элементам массива присвоить определенные значения. Заполнить массив можно разными способами.

Пример 1. Заполнить с помощью функции InputBox числовой массив из 30 элементов произвольными числами и распечатать элементы этого массива на форме.

Dim sngA(1 To 30) As Single, I As Byte

Sub Command1_Click()

For I=1 To 30

sngA(I)= val(InputBox(“Введите число”,”Заполнение массива”))

Print ”sngA(”; I; ”)=”; sngA(I) ‘Печать элементов массива

Next I

End Sub

Пример 2. Заполнить с использованием оператора присваивания числовой массив bytA(I) целыми случайными числами в интервале от 1 до 100, используя функцию случайных чисел Rnd и функцию выделения целой части числа Int в цикле со счетчиком.

Dim bytA (1 To 100), I As Byte

Sub Command1_Click()

For I=1 To 100

bytA(I)=Int(Rnd*100)

Next I

End Sub

Методика и порядок выполнения работы

1. Изучите теоретическое обоснование.

2. Выполните пример 1 и 2.

3. Выполните пример 3. Найти наибольший элемент массива Х(x 1, x 2,…, x 10) и его порядковый номер.

4. Алгоритм решения задачи представлен на рисунке 1. Здесь нет необходимости вычислять сравниваемые значения, так как они имеются в массиве Х. Поэтому в качестве начального значения принимается первые элемент массива. Поскольку сравнение первого элемента массива с собой не имеет смысла, цикл выполняется, начиная со второго элемента.

Схема алгоритма решения представлена на рисунке 1. Блок 3 перед циклом задает начальные значения х max= х 1 и n max=1. В цикле блоки 6 и 7 реализуют условие из блока 4, блок 7 определяет номер наибольшего элемента массива, а блок 6 – его значение.

5. Запустите среду Visual Basic для ввода и выполнения программного кода. С помощью стандартного набора инструментов Toolbox создайте экранную форму с командной кнопкой «Поиск наибольшего элемента массива».

6. Создайте программный код.

Private Sub Command1_Click()

Dim x (1 To 10), I As Integer

Dim xmax, nmax As Integer

Randomize

For I = 1 To 10

x(I) = Int(Rnd * 100)

Print x(I)

Next I

nmax = 1

xmax = x(1)

For I = 2 To 10

If xmax < x(I) Then xmax = x(I): nmax = I

Next I

MsgBox xmax,, "Максимальный элемент в массиве="

MsgBox nmax,, "Номер максимального элемент в массиве="

End Sub


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: