asyan.org
добавить свой файл
1


Лекція. Робота з масивами
План
1. Опис масивів

2. Способи завдання значень елементам масиву

3. Приклади роботи із масивами
1 Опис масивів

Дані, що поєднані у масив звуться елементами масиву або змінними з індексами.

Ім’я кожного елемента складається з імені масиву та індексу, що визначає місце даного елементу у масиві. Індексом може бути числовий вираз цілого типу.

Розмірністю масиву називається число індексів, що визначають елемент масиву. Наприклад: М(10) - елемент одномірного масиву (вектору); А(2,6) - елемент двомірного масиву (матриці); В(5,9,3) - елемент трьохмірного масиву і т д.

Кількість елементів масиву називається розміром масиву і визначається як добуток максимальних значень індексів, збільшених на одиницю (розмір масиву А(5,8) обчислюється в такий спосіб: (5+1)*(8+1) і дорівнює 54).
При роботі з масивами існують певні обмеження:

    • максимальний розмір масиву - 65535 байт;

    • максимальне число розмірності - 8;

    • максимальний номер індексу - 32768;


Опис масивів має наступний формат:

Dim ... ( ...[, ..., ...] )

ім'я [тип] мірність

Дії оператора:

  1. задає ім'я масиву, визначає його тип, розмір;

  2. резервує вічка пам'яті для масиву і заповнює їх 0.
    За замовченням максимальне значення індексу не перевищує 10.
    Приклади запису оператору: Dim Е(12), R$(24)

Dim VAS(100,3)
2 Способи завдання значень елементам масиву

Привласнення: Значення може бути задано безпосередньо, це може бути згенероване випадкове число або значення, що обчислене за формулою.

Rem Заповнення масиву А випадковими числами

For i=1 to 15

A(i)=100*rnd

next і
Введення з клавіатури:

Rem Заповнення масиву А з клавіатури

For i=1 to 15

print "Введіть значення ";і;

Input А(і)

next і
Зчитування з блоку даних: При такому способі завдання даних можливе упорядковане запровадження даних, що поміщаються в тексті програми заздалегідь, у операторі DATA (якщо значення містить кому або крапку з комою, його слід брати у лапки). Читає дані з оператору DATA оператор READ і тільки один раз, у порядку їхньої появи в програмі.

Якщо оператор READ виконується повторно, то комп’ютер "пригадає", що він вже звертався до DATA і автоматично переключається на запровадження наступного вмісту DATA. Якщо ж ви спробуєте використовувати оператор DATA після того, як усі дані вже якось читані, на екрані з'явиться повідомлення про помилку ("Out of DATA").

Оператори DATA можуть знаходитися в будь-якому місці програми і не обов'язково підряд. Для комп’ютера важливий тільки порядок їхньої появи в програмі Але щоб програмісту було зручно перевіряти дані найбільше практичним є запис операторів DATA підряд і наприкінці програми.

Data ... [, ..., ..,]

значення

Read ...[, …, ...]

Імена змінних
В ряді задач потрібне повторне читання даних. Для організації повторного читання даних використовується оператор RESTORE, після виконання якого чергове значення вибирається із самого початку списку даних у операторах DATA. Можна використовувати оператор RESTORE із параметром — завданням мітки рядку

Restore ...

мітка

Після виконання такого оператора, черговий елемент даних читається оператором READ з оператора DATA, що знаходиться на зазначеному рядку або нижче його. Оператор Restore дозволяє зчитувати дані декілька разів.
Rem Заповнення масиву А зчитуванням з блоку даних

For i=1 to 15

read А(і)

next і

data 1,-6,0, 78,578.9,8,0,56,8,9,3,9,0,67,55
3. Приклади програм обробки масивів

Приклад 1: Програма створення одномірного масиву з випадкових чисел від -100 до 250, виведення елементів масиву у стовпчик з визначенням середнього арифметичного значення елементів масиву.

Rem обчислення середнього значення елементів одномірного масиву

Dim f(l2)

Randomize timer

Cls : S=0

For i=1 to 12

F(i)=int(-100 + rnd*151) : Rem генерація випадкових чисел

Rem виведення значень у вигляді " f(5)=12 " Print"f(";i;")=";f(i)

Rem накопичування суми чисел

S=S+f(i)

Next i

Print “середнє значення =”;S/12

End
Приклад 2: Програма створення одномірного масиву з 15 чисел, що задані блоком даних, виведення на екран у вигляді рядку і визначення найбільшого елементу масиву та його індексу

Rem Визначення максимуму

CLS: Dim A(12)

Data 3,-14,0,80,1.62,5,6,100,-5.8, 12, 7, 3, 7, 87, 45

For i=1 to 15 : Rem Створення і друк вихідного масиву

Read A(i): Print Using "#####.##";А(і); Next і

Мх=А(1): k=1: Rem припустимо, що найбільшим є перший елемент

For i=1 to 15

Rem порівнюємо кожен елемент з Мх, якщо зустріли більший, то його

Rem значення присвоюється змінній Мх, а поточне значення

Rem параметру і присвоюється змінній К

If A (i)>Mx then Мх=А (і) : K=i Next і

Print Using"максимум =###.## його індекс =##";Mx,k

End


Викладач: Шаров С.В.