Лабораторная работа №4
Тема: Операции с массивами.
Цель: Научить использовать различные методы обработки одномерных и двумерных массивов .
Массив – это упорядоченный набор данных, например,А1, А2, А3,…, АN.
При работе с массивами их следует описывать в начале программы с указанием размерности. Синтаксис описания массивов:
Dim ИмяМассива(Размерность) As ТипЭлементов
Например,
Dim A(15) As Integer –Массив А из 15 целых чисел;
Dim B(3,4) As Single – Матрица В из трех строк и четырех столбцов действительных чисел.
Допускается такая запись:
Dim A(1 To 15) As Integer
Dim B(1 To 3, 1 To 4) As Single
Обращаться к элементам массива можно только поэлементно, т.е. необходимо указывать индекс элемента. Например,
Y = A(7)-
переменной Yприсвоено значение 7-го элемента массива А.
или Z = B(1,3) -
переменной Zприсвоено значение элемента матрицы В, стоящего на пересечении первой строки и третьего столбца
Для работы с массивами часто используются циклы с заданным числом повторений (For…Next)
Пример 1
Дан массив Cразмерности 4, элементы которого размещены в ячейках А4:D4 листаExcel.. Вычислить массивDразмерности 4, каждый элемент которого равен
D(I) = 2 *C(I). Результат поместить в диапазон ячеек А6:D6
Решение
Создать в Excelтаблицу «Формировaние нового массива» (Рис.1.1).
Таблица 1
Рис.1.1
Реализовать алгоритм , приведенный на рис. 1.2, в виде процедуры. Массивы описываются в начале программы с использованием ключевого слова Dim с указанием типа элементов.
PublicSubArray1() DimC(4),D(4)AsInteger DimIAsInteger ForI= 1To4 ' Ââîä ýлементов массива из ячеек C ЭТ C(I) = Cells(4, I) Next For I = 1 To 4 ' Вычисление элементов массива D D(I) = 2 * C(I) Next For I = 1 To 4 ' Вывод элементов массива D в ячейки ЭТ Cells(6, I) = D(I) Next
End Sub | |
Рис. 1.2 Блок-схема |
Рис. 1.3. Программа |
После выполнения программы рис. 1.4
Рис. 1.4
Для отображения цикла Forиспользуют символ модификации.
Этот символ в программе используется в следующем виде.
Тело цикла
Каждый вариант состоит из двух задач.
Если у Вас возникли затруднения, посмотрите примеры, приведенные после задания.
Оформление отчета
Отчет должен содержать следующие элементы:
название работы и данные об ее исполнителе;
условие задачи1 ;
блок-схема задачи (использовать оператор For) ;
текст программы на VBA.
условие задачи2 ;
блок-схема задачи;
текст программы на VBA.
Варианты заданий
Задача 1. Сформировать указанный массив Х размерности 6 и вывести результат на листExcel.
Во
Вариант |
Задание |
1 |
Сформировать элементы массива по правилу Xi=cos(2i)-1.Определить максимальный элемент массива и его порядковый номер |
2 |
Сформировать элементы массива по правилу Xi=i*sin(1-i). Посчитать сумму положительных элементов массива. |
3 |
Сформировать элементы массива по правилу Xi=(2+i)cos(i2). Найти среднее арифметическое элементов массива. |
4 |
Сформировать элементы массива по правилу хi=sin(i)-cos(i). Вывести положительные элементы массива в один столбец, а отрицательные в другой |
5 |
Сформировать элементы массива по правилу хi=sin(2i)-cos(i). Определить количество элементов массива кратных 3 и переписать их в отдельный массив. |
6 |
Сформировать элементы массива по правилу хi=sin2(i)-cos(i). Переписать в массив Y элементы -3< хi<3 и посчитать их количество. |
7 |
Сформировать элементы массива по правилу хi=sin(i)-cos2(i). Посчитать сумму элементов, стоящих в массиве на четных местах |
8 |
Сформировать элементы массива по правилу хi=cos(i)-sin(i). Поменять местами максимальный и минимальный элементы массива |
9 |
Сформировать элементы массива по правилу хi=isin(i)-cos(i). Найти сумму максимального и минимального элементов |
10 |
Сформировать элементы массива по правилу хi=sin(i)-icos(i). Заменить все отрицательные элементы массива на 0 |
11 |
Сформировать элементы массива по правилу хi=sin3(i)-cos(3i). Определить минимальный элемент массива и его порядковый номер. |
12 |
Сформировать элементы массива по правилу хi=sin(2i)-cos3(i). Посчитать сумму отрицательных элементов массива. |
13 |
Сформировать элементы массива по правилу хi=sin(i)+2cos(i). Найти отклонение каждого элемента массива от среднего значения |
14 |
Сформировать элементы массива по правилу хi=sin(i)+cos3(i). Определить количество четных элементов массива переписать их в отдельный массив. |
15 |
Сформировать элементы массива по правилу хi=3sin(i)+cos3(i). Переписать в массив Y элементы массива Х меньшие 2 или большие 5 и посчитать их количество. |
16 |
Сформировать элементы массива по правилу хi=sin3(i)+2cos(i). Посчитать сумму элементов, стоящих в массиве на нечетных местах |
17 |
Сформировать элементы массива по правилу хi=sin3(3i)-cos(3-i). Поменять местами максимальный и первый, и минимальный и последний элемент |
18 |
Сформировать элементы массива по правилу хi=sin(1-i)-cos(i3). Найти сумму элементов, больших среднего значения |
19 |
Сформировать элементы массива по правилу хi=sin(i)cos(i). Заменить все положительные элементы массива на 0 |
20 |
Сформировать элементы массива по правилу хi=sin3(3i)+cos(i). Записать в массив сначала положительные элементы , а затем отрицательные |
Задача 2. Исходный массив имеет размерность 7. Элементы задать на листеExcelпроизвольно или с помощью функции СЛЧИС().
1 |
Массив А заполнен случайным образом целыми числами. Найти максимальное число из кубов данной последовательности. |
2 |
Массив А заполнен случайным образом целыми числами. Расположить их в порядке убывания. |
3 |
Массив А заполнен случайным образом целыми числами. Найти минимальное число из квадратов данной последовательности |
4 |
Массив С заполнен случайным образом целыми числами. Найти среднее арифметическое из квадратов данной последовательности. |
5 |
Массив А заполнен случайным образом целыми числами. найти сумму положительных элементов, произведение отрицательных элементов. |
6 |
Массив А заполнен случайным образом целыми числами. Найти количество элементов, больших заданного числа В. |
7 |
Массив А заполнен случайным образом целыми числами. Найти отношение максимального элемента к минимальному. |
8 |
Массив А заполнен случайным образом целыми числами. Поменять местами максимальный и минимальные элементы. |
9 |
Массив А заполнен случайным образом целыми числами. Найти сумму элементов, расположенных между максимальным и минимальным элементами. |
10 |
Массив А заполнен случайным образом целыми числами. Найти произведение элементов, расположенных до максимального и количество после минимального. |
11 |
Массив А заполнен случайным образом целыми числами. Найти среднее арифметическое элементов, расположенных между максимальным и минимальным элементами. |
12 |
Массив А заполнен случайным образом целыми числами. Если первый элемент отрицательный, то умножить все элементы на минимальный и в противном случае – на максимальный. |
13 |
Массив состоит из 60 случайных целых двухзначных чисел. Вывести их в текстовое окно в обратном порядке по 6 чисел в строке. |
14 |
В массиве содержится 10 букв – С, Ф, О, И, К, Л, О, И, Л, Н. Вывести слово образованное буквами с чётными индексами, и слово, образованное буквами с нечётными индексами. |
15 |
Найти сумму 1-го, 4-го, 9-го и т.д., включая 81-й элемент массива, состоящего из 100 целых случайных чисел, каждое из которых лежит в пределах от 2 до 22. |
16 |
Вычислить произведение матрицы А размерности N*M на вектор В. Результат получить в виде вектора С. |
17 |
Вычислить сумму двух матриц А и В размерности N*M. Результат получить в виде матрицы С. |
18 |
Вычислить сумму элементов каждой строки матрицы А размерности N*M. Результат получить в виде вектора В. |
19 |
Вычислить произведение элементов каждой строки матрицы А размерности N*M. Результат получить в виде вектора В. |
20 |
Заданы 10 пар координат Хi, Yi одних точек на плоскости и 10 пар координат Аi, Вi других точек на плоскости. Вычислите попарно расстояния между точками. |