5. Програмування з використанням одновимірних масивів у системі Delphi

Мета даного розділу полягає у вивченні масивів, придбанні навичок опису, введення та виведення одновимірних масивів, виконанні дій над масивами, пошуку максимального та мінімального елементів в одновимірному масиві.

Масив та одновимірний масив

У системіDelphiтак само, як і в інших мовах програмування, структура даних масив використовується дуже часто. До необхідності застосування масивів ми приходимо щоразу, коли потрібно зв'язати і використовувати цілу низку споріднених величин.

Масиви дозволяють програмісту пов'язати з єдиним ім'ям змінної цілу сукупність даних. Ви можете переміщати масив у пам'яті як єдине ціле, копіювати його і т.д., причому все це робиться з посиланням на одне змінне ім'я.

Масив– це структурований тип даних, що складається з фіксованого числа впорядкованих за індексом елементів, що мають один і той самий тип.

Одномірний масив- це набір елементів одного типу, розташованих в один рядок.

Елементами масиву можуть бути дані будь-якого, але лише одного типу. Число елементів масиву фіксується при описі та у процесі виконання програми не змінюється. Наприклад, результати багаторазових вимірювань температури повітря протягом року зручно розглядати як сукупність дійсних чисел, об'єднаних в один складний об'єкт – масив вимірів.

Для опису масиву призначені зарезервовані словаarrayіof(масив, з). За словомarrayу квадратних дужках вказується тип-діапазон (як тип-діапазон може виступати будь-який порядковий тип), за допомогою якого компілятор визначає загальну кількість елементів масиву. Тип-діапазон задається лівою та правою межами зміни індексу масиву. За словомofвказується типелементів, що утворюють масив.

m1: array [0..19] of real;

В даному прикладі описані два одновимірні масиви: М - масив, що складається з 10 цілих чисел; М1 - масив, що складається з 20 дійсних чисел.

mas: array [0..N-1] of real;

Масив може бути описаний у розділі опису констант як типізована константа із заданими значеннями:

x: array [0..4] of integer = (8,10,1,5,3);

Дії над одновимірними масивами

Для роботи з масивом як єдиним цілим використовується ім'я масиву без вказівки індексу в квадратних дужках.

Масиви, що беруть участь у діях, повинні бути ідентичними за структурою, тобто мати однакові типи індексів та однакові типи елементів. Доступ до кожного елементу масиву в програмі здійснюється за допомогою індексу - цілого числа, що є порядковим номером елемента в масиві. У правильно складеній програмі індекс повинен виходити межі, визначені типом-диапазоном. КомпіляторDelphiможе контролювати використання індексів у програмі як на етапі компіляції, так і на етапі виконання програми.

Над масивами як над єдиним цілим можна виконувати три дії: «рівно», «нерівно» та оператор присвоєння:

TRUE, якщо значення кожного елемента масиву А дорівнює відповідному значенню елемента масиву

TRUE, якщо хоча б одне значення елемента масиву А не дорівнює значенню відповідного елемента масиву

Усі значення елементів масиву присвоюються відповідним елементам масиву А. Значення елементів масиву залишаються незмінними

//дозволяє вивести вміст комірки

де i – номер стовпця;

0 – номер рядка.

Після виконання цього оператора присвоювання в поліEdit1.Textміститься текстіз комірки таблиці;StringGrid1.Cells[i,0] – визначає вміст комірки з табличними координатами (i,0).

У четвертій версіїDelphiбули введенідинамічні масиви.Розмір динамічного масиву може змінюватися під час виконання програми.

Опис одновимірних динамічних масивів:

Виконувати операції з динамічними масивами можна лише після завдання розмірів цих масивів процедурою:

Параметрами цих процедур є: x, y – імена динамічних масивів, n – розмір масивів.

Для визначення довжини, мінімального та максимального номерів елементів динамічного масиву використовуються функціїLength( ),Low( ) іHigh( ) відповідно. Нумерація елементів динамічного масиву починається з нуля, тому функціяLow( ) завжди повертає значення 0.

Підрахувати суму елементів динамічного одновимірного масивуmas.

mas:array of integer;

for n:= Low(mas) to High(mas) do

for n:= Low(mas) to High(mas) do

Приклад програмування з використанням одновимірного масиву

Завдання.Знайти мінімальний елемент в одновимірному масиві.

Завдання пошуку мінімального та (або) максимального значень у масиві чисел дуже поширене.Типовим прийомомпошуку мінімуму і максимумує присвоєння на самому початку алгоритму змінним, що зберігає значення максимуму і мінімуму, першого елемента масиву, в якому здійснюється пошук.

1. Розробка алгоритму (рис. 5.1):

а) вхідні дані: маs - масив цілих чисел;

б) вихідні дані: min-цілочисленна змінна;

в) проміжні дані: i – лічильник циклу.