Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
vba_лаб_раб4_Операции с массивами_2015-09-22.doc
Скачиваний:
28
Добавлен:
14.03.2016
Размер:
681.98 Кб
Скачать

Лабораторная работа №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

Решение

  1. Создать в Excelтаблицу «Формировaние нового массива» (Рис.1.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 других точек на плоскости. Вычислите попарно расстояния между точками.