Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Лабораторная работа № 7. Обработка одномерных массивов




7.1 Цель работы: изучение оператора описания размерности массива, способа обращения к элементу массива, ввода – вывода массива.

Теоретические сведения.

 

Массивы

Массив (array)- это группа однотипных переменных, которые объединены одним общим именем. Их можно считать одной из разновидностей переменных. Отличие состоит в том, что в массивах можно хранить не одно, а несколько значений. Доступ к заданному элементу массива осуществляется с помощью индекса. Синтаксис объявления массива отличается от синтаксиса объявления переменной тем, что здесь требуется указать также размерность массива и границы изменения индексов. Ниже представлен пример объявления массива:

 

Sub TestSub()

Dim intTestArray(0 To 10) As Integer

End Sub

 

В данном примере объявляется одномерный массив целых чисел с именем intTestArray. Граница изменения индексов массива задается в диапазоне от 0 до 10. для установки элементам данного массива конкретных значений можно использовать цикл For…Next:

 

For inti = 0 to 10

intTestArray(i) = inti + 1

Next inti

 

Здесь элементами массива intTestArray присваиваются значения одиннадцати целых чисел: 1, 2, …, 11.

 

Динамические массивы

Динамические массивы

Используются в том случае, когда размерность массива невозможно определить заранее. В момент своего объявления такой массив не с одержит ни одного элемента:

Dim intTestArray() As Integer

Чтобы использовать массив и добавить в него элементы, необходимо использовать инструкцию ReDim:

ReDim intTestArray(100)

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

ReDim intTestArray(1000)

 

Замечания: 1. При изменении размерности массива все значения, хранящиеся в массиве, теряются. Чтобы сохранить значения при изменении размерности массива, следует использовать ключевое слово Preserve, например:

ReDim Preserve intTestArray(1000)

2. Если необходимо выполнить нумерацию элементов массива с единицы, то следует вначале программного модуля использовать директиву Obsion Base 1

Варианты задания

Дан массив Х(N), выполнить задания, указанные в таблице 7.1. Вывести на печать исходный массив и полученные результаты.

 

Таблица 7.1 Варианты задания

Варианты задания Содержание задания
1. Вычислить сумму элементов массива с нечетными индексами
2. Вычислить сумму нечетных элементов массива
3. Вычислить произведения элементов массива с четными индексами
4. Вычислить произведения нечетных элементов массива
5. Вычислить сумму четных элементов массива
6. Найти минимальный по модулю элемент вектора и его номер
7. Найти максимальный по модулю элемент массива и поставить его на место первого элемента
8. Напечатать элементы массива, встречающиеся в массиве один раз, а также напечатать их номера
9. Все хi целые положительные. Определить количество элементов кратных 7, 5 и 3
10. Найти номер элемента массива с минимальным значением
11. Найти наименьшее из положительных элементов массива
12. Задано число В. Подсчитать количество элементов массива, меньших В
13. Вычислить среднее арифметическое массива и поставить его на место второго элемента (Х(2))
14. Найти номер минимального элемента массива
15. Найти номер первого от начала положительного элемента и поставить его вместо последнего элемента
16. Найти номер первого от начала отрицательного элемента
17. Определить количество отрицательных элементов массива
18. Определить количество положительных элементов массива
19. Подсчитать количество элементов массива, равных нулю
20. Найти количество элементов массива, больших заданного числа
21. Найти сумму элементов массива, лежащих в интервале [1, 7,5]
22. Найти наибольшее из положительных элементов массива
23. Вычислить произведение элементов массива, не равных нулю
24. Найти номера элементов массива, равных заданному числу В
25. Найти сумму первых пяти элементов и произведения остальных элементов

 

Пример выполнения задания

Дан массив X(М). Подсчитать количество элементов больших нуля, равных нулю и меньших нуля.

Перед тем, как строить схему алгоритма, введем такие обозначения:

P – число положительных элементов;

Q - число нулевых элементов;

N - число отрицательных элементов.

Чтобы организовать накопления количества элементов положительных, нулевых и отрицательных, присваиваем P, Q, N начальные значения, равные нулю: P=0, Q=0, N=0.

Далее проверяем условие X(i)>0, если да, то Р увеличиваем на единицу Р=Р+1, если нет, то проверяем условие X(i)=0, при выполнении этого условия Q=Q+1, в противном случае N=N+1 и так до тех пор, пока 1 не станет большим М.

 

Option Base 1

Sub ObrOdnomMass()

Dim Txt As String ‘1.1) Объявление текстовой переменной Txt

Dim Х() ‘1.2) Объявление динамического массива

M=Val(InputBox(“Введите число элементов массива))

‘1.3) Ввод числа элементов массива

ReDim X(M) ‘1.4) Объявление массива, содержащего М элементов

For i=1 To M ‘2.) Ввод значений элементов массива

X(i)=Val(InputBox(“Введите значение элемента X(“ & Str(i) & “)”))

Next i

Txt=”Исходный массив-Х” &Chr(13)

‘3.) Вывод значений элементов массива

For i=1 To M

Txt=Txt & Str(x(i) & “ “

Next i

Txt=Txt & Chr(13)

MsgBox Txt

‘4) Обработка элементов массива

P=0:Q=0:N=0

For i=1 To M

If x(i)>0 Then

P=P+1

ElseIf x(i)=0 Then

Q=Q+1

Else

N=N+1

EndIf

Next i

‘5.) Вывод результатов

MsgBox “P=” & Str(P) & ”Q=” & Str(Q) & “N=” & Str (N)

End Sub


Блок схема алгоритма

 
 

 

 


Блок 4 – блок модификации, реализует изменение параметров цикла от 1 до М с шагом 1, если 1 станет больше N, т.е. N+1, то циклы заканчиваются и управление передается блоку 10.

 

Содержание отчета.

Цель работы.

Краткие теоретические сведения.

Задание к работе

Схема алгоритма

Текст процедуры на VBA с пояснениями.

Анализ результатов. Выводы.

 

Библиографический список

1. Р.Персон. Microsoft Exсel 97 в подлиннике: В 2т. – BHV – Санкт-Петербург. 1998. Том 2 – 640с.

2. Васильев А., Андреев А. VBA в Office 2000: учебный курс. – СПб.: Питер, 2001. – 432 с.: ил.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...