Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Лабораторная работа № 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 Варианты задания

Варианты задания Содержание задания
Вычислить сумму элементов массива с нечетными индексами
Вычислить сумму нечетных элементов массива
Вычислить произведения элементов массива с четными индексами
Вычислить произведения нечетных элементов массива
Вычислить сумму четных элементов массива
Найти минимальный по модулю элемент вектора и его номер
Найти максимальный по модулю элемент массива и поставить его на место первого элемента
Напечатать элементы массива, встречающиеся в массиве один раз, а также напечатать их номера
Все хi целые положительные. Определить количество элементов кратных 7, 5 и 3
Найти номер элемента массива с минимальным значением
Найти наименьшее из положительных элементов массива
Задано число В. Подсчитать количество элементов массива, меньших В
Вычислить среднее арифметическое массива и поставить его на место второго элемента (Х(2))
Найти номер минимального элемента массива
Найти номер первого от начала положительного элемента и поставить его вместо последнего элемента
Найти номер первого от начала отрицательного элемента
Определить количество отрицательных элементов массива
Определить количество положительных элементов массива
Подсчитать количество элементов массива, равных нулю
Найти количество элементов массива, больших заданного числа
Найти сумму элементов массива, лежащих в интервале [1, 7,5]
Найти наибольшее из положительных элементов массива
Вычислить произведение элементов массива, не равных нулю
Найти номера элементов массива, равных заданному числу В
Найти сумму первых пяти элементов и произведения остальных элементов

 

7.4 Методика выполнения задания

Заранее, до выполнения лабораторной работы

 

1. Изучить:

- операторы описания размерности массива Dim и ReDim;

- способ обращения к элементу массива;

- ввод и вывод массива.

2. Разработать алгоритм решения задачи в соответствии с вариантом.

3. Составить программу решения.

4. Пункты 2 и 3 пояснить.

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

Дан массив 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 и так до тех пор, пока I не станет большим М.

Программа

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 – блок модификации, реализует изменение параметров цикла от I до М с шагом 1, если I станет больше M, т.е. N+1, то цикл заканчивается и управление передается блоку 11.

 

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

 
 

 

 


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

Цель работы.

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

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

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

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

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

 

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

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

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

 




Поделиться:


Последнее изменение этой страницы: 2016-12-17; просмотров: 486; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.105.149 (0.008 с.)