9 клас
Алгоритми опрацювання масивів
Поняття масиву
Дані одного типу можна об'єднати і надати їм одне ім'я.
Таке об'єднання віднесемо до складених даних однорідної структури – МАСИВ.
При розв'язуванні задач треба використовувати різну кількість змінних, кожна з яких повинна мати власну назву. Якщо змінних багато, то робити це не дуже зручно.
Якщо це дані одного типу можна спробувати розташувати їх в одному місці, впорядковуючи їх, тобто поставити їх один за одним.
Приклади:
Клас – група учнів певного віку:
Багатоповерховий будинок – множина пронумерованих квартир, в кожній з яких живе певна кількість мешканців
Поняття масиву
Масив – це сукупність однотипних елементів, що мають спільне ім’я.
Розмірність масиву – кількість індексів.
Розмір масиву – кількість елементів у масиві.
- 5 | 0 | 5 | 10 | 15 |
1 | 2 | 3 | 4 | 5 |
A
Масив з іменем А
3
5
НОМЕР �елемента масива
(ІНДЕКС)
A[1]
A[2]
A[3]
A[4]
A[5]
ЗНАЧЕННЯ елемента масива
A[3]=5
НОМЕР (ІНДЕКС) �елемента масива: 3
ЗНАЧЕННЯ �елемента массива: 5
Поняття масиву
Види масивів
Var A:array of тип;
Його розмірність задається підчас виконання програми процедурою
SetLength(ім’я масиву, к-ть ел.)
Var A:array [1..n] of тип;
Його розмірність є фіксованою, тобто не змінюється в ході виконання програми
Масиви
Статичні
Динамічні
Задається тип елементів і розмірність масиву
Задається тільки тип, а розмірність не вказується
Види та конфігурація масивів
Розмір масиву – 4
А[2]=13, А[3]=-4
(кожному елементу відповідає 1 індекс)
Розмір масиву – 4×3=12
В[1,2]=12, В[2,3]=25
(кожному елементу відповідає 2 індекси)
А | 8 | 13 | -4 | 0 |
| 1-й | 2-й | 3-й | 4-й |
В | 1-й | 2-й | 3-й | 4-й |
1-й | 6 | 12 | 0 | -1 |
2-й | -2 | 34 | 25 | 1 |
3-й | 7 | 15 | -17 | 0 |
Алгоритм роботи з масивом
☝ Звернення до елементів масиву здійснюється за допомогою циклу з параметром (або іншого)
Оголошення масиву
Ім’я
Початковий індекс
Кінцевий
індекс
Тип елементів
var A: array[1.. ] of integer;
const N=5;
N
var A : array[ 1 .. 5 ] of integer ;
При оголошені масиву:
Масив цілих чисел
Розмір через константу
Оголошення масиву
☝ Розмір масиву визначається під час опису, але кількість елементів може бути менше, ніж зарезервовано місця в пам'яті.
type <ім'я типу> = Array [<індекси>] of <базовий тип>;
Регулярного типу має вигляд:
const <ім'я масиву>: Array [< тип індексу>] of <тип> = (список елементів масиву);
Сталих величин має вигляд:
var <ім'я масиву> : Array [<індекси>] of < базовий тип>;
Змінних величин має вигляд:
Приклади опису масивів
2) масив сталих величин:
const A: array [1..7] of real = (0.1, 3.25, 21.32, -5.5, 11.99, 78.1, -4.5);
Stroka: array [1..6] of char = (‘P’, ‘A’, ‘S’, ‘C’, ‘A’, ‘L’);
1) з використанням типів:
const n = 20;
type Vector = array [1..n] of real;
Matrix = array [1..10] of integer;
var A: Vector; B: Matrix;
3) масив змінних величин:
const n = 50;
var A: array [1..n] of real;
B: array [1..10] of integer;
Заповнення масиву
randomize; {підключити генератор випадкових чисел}
for i:=1 to n do А[i]:=random(b-a+1) + a;
Тип Х | Діапазон значень x | Використання функції |
Цілий | [0;В] | X:=Random(В+1); |
[A;B] | X:=Random(B-A+1)+A; | |
Дійсний | (0;1) | X:=Random; |
(0;A) | X:=Random*A; | |
(A;B) | X:=A+Random*(B-A); |
1. Випадковими числами з проміжку [a, b]:
for i:=1 to n do А[i]:=і * і - 2; { формула містить змінну і }
2. За формулою:
Заповнення масиву
Цілих чисел
for i:=1 to n do
Begin
А[i] := strtoint(InputBox(‘уведіть значення елемента’, ‘номер [ ’ + inttostr(i) + ‘ ]:’, ’ ’));
ListBox1.Items.Add(inttostr(A[i]));
End;
3. З клавіатури за допомогою функції InputBox:
Одним зі способів виведення елементів одновимірного масиву є додавання значень у поле списку LіstBox.
Список ListBox є масивом рядків типу String, доступ до яких надає властивість Items цього компонента.
TListBox - список
TLіstBox (список)
Компонент (TListBox) являє собою список, в якому можна вибрати потрібний елемент.
Властивість | Опис |
Name | Ім'я компонента. Використовується в програмі для доступу до компоненту і його властивостей |
Items | Елементи списку - масив рядків |
Count | Кількість елементів списку |
ItemIndex | Номер вибраного елемента. Елементи списку нумеруються з нуля. Якщо в списку жоден з елементів не обраний, то значення дорівнює мінус 1. |
Sorted | Ознака необхідності автоматичного сортування (True) після додавання чергового елемента. |
Left | Відстань від лівої межі списку до лівої межі форми |
Top | Відстань від верхньої межі списку до верхньої межі форми |
Width, Height | Ширина та висота поля списка |
Властивість | Опис |
Font | Параметри шрифту, що використовуються для відображення тексту: гарнітура, розмір, колір шрифту |
ParentFont | Ознака наслідування компонентом характеристик шрифту форми, на якій знаходитися компонент. Якщо значення властивості дорівнює True, то текст виводитися шрифтом, встановленим для форми |
Visible | Дозволяє приховати текст (False) або зробити його видимим (True) |
Enabled | Визначає, чи реагує елемент керування на введення миші чи клавіатури. |
Hint | Текст підказки, який буде спливати, коли користувач підведе до компоненту покажчик миші (працює разом із властивістю ShowHint) |
Заповнення масиву
Дійсних чисел
for i:=1 to 10 do
Begin
А[i]:=strtofloat(InputBox(‘уведіть значення елемента’, ’ номер [ ’ + inttostr(i) + ‘ ]:’, ’ ’));
ListBox1.Items.Add(floattostr(A[i]));
{або}
End;
3. З клавіатури за допомогою функції InputBox:
ListBox1.Items.Add(formatfloat('#.####',A[i]));
Працюємо самостійно:
Завдання 1.
Сформувати одним із трьох способів одновимірний масив цілих чисел A[i], де і = 1,2, … , n.
Вивести елементи масиву:
Завдання 2. Вправа 32 стр. 182
Домашнє завдання:
§ 32 стр 179-183
Створіть програму для заповнення масиву Numbers[1..10] числами 1,4, 9, ..., 100 і виведення значень елементів масиву в поле ListBox.
Контрольні запитання та завдання:
а) першому елементу масиву С присвоїти значення суми третього і п’ятого елементів;
б) шостому елементу масиву С присвоїти значення подвоєного добутку першого і другого елементів.
5. Як увести значення елементів масиву з клавіатури?
Використані джерела