Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа.Часть 3

.docx
Скачиваний:
3
Добавлен:
27.12.2020
Размер:
19.48 Кб
Скачать

Лабораторная работа. Часть 3

Работа с массивами

Массив (в некоторых языках программирования также таблица, вектор, матрица) – упорядоченный набор данных, для хранения данных одного типа, идентифицируемых с помощью одного (одномерный массив – вектор) или нескольких индексов (двумерный массив – матрица). Более двух индексов в массивах встречается крайне редко. Как правило, массив имеет постоянную длину и хранит элементы данных одного и того же типа.

Для объявления массива, также как и для обычных переменных используется оператор Dim: Dim имяМассива(размерМассива) as типДанныхМассива.

Например, массив, содержащий 10 целых чисел, задается следующих образов:

Dim mas(1 To 10) as Integer

Размер массива указывается в виде диапазона чисел: 1 To 10. При объявлении массива подобным образом индекс первого элемента будет равен 1.

При объявлении массива обязательно следует указывать только верхний индекс, тогда VBA установит нижний индекс равным нулю. Следовательно, два следующих оператора приведут к одинаковым результатам.

Dim Mas(0 To 100) as Integer

Dim Mas(100) as Integer.

В обоих случаях массив состоит из 101 элемента.

Примеры объявления массивов различных типов данных фиксированной длины

Dim ListGoup(1 To 30) As String – массив строк (например, список фамилий студентов)

Dim AvgMark(1 To 30) As Double – массив вещественных чисел (например, средняя оценка студента)

Обращение к элементам массива происходит по номеру индекса, который указывается в круглых скобках после названия массива. Например, можно определить массив из 12 строк так, чтобы каждая переменная соответствовала названию месяца. Если вы назовете массив MNames, то можете обратиться к первому элементу массива как MNames(0), ко второму – как MNames(1) и т. д., до MNames(11).

Заполнить массив данными проще всего используя цикл For:

Dim mas(1 To 30) as Integer

For i = 1 to 30

mas(i) = i

Next i

Каждый элемент массива будет хранить значение своего индекса.

Аналогично можно реализовать вывод значений массива на экран:

For i = 1 To 30

Debug.Print mas(i)

Next i

Двумерный массив представляет собой матрицу, где каждый элемент имеет 2 индекса: первый индекс – номер строки, второй индекс – номер столбца.

Объявление двумерного массива происходит аналогичным образом за исключением того, что необходимо указать размер массива по двум измерениям

Dim mas(1 To 10, 1 To 10) as Integer Объявление квадратной матрицы, содержащей 10 строк и 10 столбцов.

Заполнение элементов матрицы происходит аналогично:

Dim mas(1 To 10, 1 To 10) As Integer

For i = 1 To 10

For j = 1 To 10

mas(i, j) = Int(Rnd * 100 - 25)

Next j

Next i

Конструкция Int(Rnd * 100 - 25) – генерирует случайное целое число из диапазона (-25, 75)

Задания для самостоятельной работы:

  1. Создать массив целых чисел произвольного размера и вывести на экран индексы отрицательных элементов массива

  2. Создать массив целых чисел произвольного размера и вывести на экран максимальный элемент массива

  3. Создать квадратную матрица целых чисел размером (2*2) и вывести экран определитель матрицы.

  4. Создать две матрицы вещественных чисел произвольного размера и вывести на экран результат сложения двух матриц

  5. Создать матрицу произвольного размера целых либо вещественных чисел и вывести среднеарифметическое значение элементов по каждой строке матрицы.

  6. Создать матрицу произвольного размера случайных чисел и вывести на экран сумму значения элементов выше заданной величины.

  7. Создать массив произвольного размера случайных чисел и продублировать вторую половину массива значениями элементов первой половины в обратном порядке. Вывести результат на экран.

  8. Создать массив произвольного размера случайных чисел и заменить отрицательные элементы массива на квадрат предыдущего элемента массива.

  • Реализовать алгоритм умножения двух матриц. На экран вывести результат умножения