РОБОТА З МАСИВАМИ


 

Часто доводиться обробляти великі групи даних. Матриці у програмуванні мають на-

зву масиви.

Масив— група однотипних змінних, об'єднаних єдиним іменем.

Перед створенням масив оголошують, при цьому залежно від місця оголошення він може бути як локальним, так і глобальним. Якщо кількість елементів масиву відома, то це масив із фіксованими межами. У випадку змінної кількості елементів створюють динаміч- ний масив. Для оголошення його використовують оператор:


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 — масив тощо.