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 – лічильник циклу.