РОБОТА З МАСИВАМИ
Часто доводиться обробляти великі групи даних. Матриці у програмуванні мають на-
зву масиви.
Масив— група однотипних змінних, об'єднаних єдиним іменем.
Перед створенням масив оголошують, при цьому залежно від місця оголошення він може бути як локальним, так і глобальним. Якщо кількість елементів масиву відома, то це масив із фіксованими межами. У випадку змінної кількості елементів створюють динаміч- ний масив. Для оголошення його використовують оператор:
Dim <ім'я масиву> (<число 1>, <число 2>]) [As <тип даних>],
де ім'я масиву — ім'я змінної типу «масив»; число1 — розмір масиву (число рядків); чис- ло 2— розмір масиву (число стовпців), якщо він двовимірний; тип даних — тип даних ма- сиву, за замовчуванням — тип Variant.
Кожен елемент масиву має свій індекс (місце розташування в масиві), що складається з номера рядка та номера стовпця, причому нумерація починається з 0. Для спрощення ро- боти з індексами масивів на початку процедури (або в стандартному модулі) використову- ють оператор Option Base1, тоді індекс першого елемента змінюється з 0 на 1.
Наприклад, елементи одновимірного масиву А з п'яти елементів мають такі індекси: A(0), A(1), A(2), A(3), A(4)
Елементи двовимірного масиву, що складається з трьох рядків і чотирьох стовпців,
характеризуються такими індексами: A(0,0), A(0,1), A(0,2), A(0,3) A(1,0), A(1,1), A(1,2), A(1,3) A(2,0), A(2,1), A(2,2), A(2,3)
Під час роботи з масивами використовують оператори циклу For—Next, при цьому лічильник повторень циклів пов'язується з індексами елементів.
При створенні динамічних масивів кількість елементів масиву заздалегідь невідома, вона визначається у процесі виконання програми введенням значення або розрахунком. У такому разі при створенні масиву користуються оператором
Public <ім'я масиву>() As <тип даних>
Після визначення розмірів масиву (наприклад, розмір зберігається у змінній Коl
A(0), A(1), A(2), A(3), A(4)
до програми вводять оператор
ReDim <ім'я масиву> (Коl).
Нехай, наприклад, треба ввести 10 елементів одномірного масиву Aза допомогою функції InputBox
N = InputBox("Ввести N “) ReDim A(N)
For i = 1 To N
A(i) = InputBox("Ввести А(" & i & ") ") Next I
Введення
N, {Ai }N
Вивід
{Ai }N
Рис. 6.3. Зображення введення та виведення масиву Aу блок-схемі
Ввести 6 елементів двомірного масиву B(2,3)за допомогою функції InputBox
Dim B(10, 10) For i = 1 To 2
For j = 1 To 3
B(i, j) = InputBox("Ввести B(" & I & " , " & j & ") ") Next j
Next i
В Excelможливо вводити та виводити масиви, використавши комірки. Нехай, напри- клад, треба ввести 5 елементів одномірного масиву A,що записаний у першому рядку на аркуші Excel. Потім у четвертому рядку вивести тільки додатні елементи.
N = InputBox("Ввести N “) ReDim A(N)
For i = 1 To N
A(i) = Cells(1, i).Value
Next i k = 0
For i = 1 To N
If A(i) > 0 Then k = k + 1 : Cells(4, k).Value = A(i) Next i
Якщо бажаємо підписати дані:
Cells(1, 1) = "Вхідний": Cells(1, 2) = " масив"
Cells(3, 1) = "Масив": Cells(3, 2) = " додатних" : Cells(3, 3) = " чисел"
У комірці A1 буде записано слово — Вхідний, у комірці B1 — масив тощо.