You are on page 1of 18

Табличні величини та

алгоритми їх
опрацювання
Lazarus

 Lazarus — це вільне інтегроване середовище візуального програмування


мовою Free Pascal. У середовищі Lazarus реалізовані елементи об’єктно-
орієнтованого програмування (ООП). Середовище функціонує під
управлінням ОС Windows і Linux. Воно забезпечує розробку програм як у
консольному, так і у візуальному режимах. Методика розробки програм у
консольному режимі принципово не відрізняється від методики створення
програм у середовищі Free Pascal. Тому далі основна увага буде приділятися
візуальному режиму.
 ООП — це методика розробки програм, в основі якої є поняття об'єкт, метод і
клас. Основна ідея ООП полягає в об'єднанні даних, з якими працює
програмний код, і процедур їх опрацювання в єдине ціле.
 Головне вікно Lazarus (рис. 2) складається з трьох частин: головного
меню (Файл, Правка та ін.), панелі інструментів (ліворуч під головним
меню) і палітри компонентів на вкладках Standard, Additional та ін.

Головне вікно відкрите протягом усього періоду роботи середовища. Призначення


окремих пунктів головного меню (Файл, Правка, Пошук, Вигляд та ін.) аналогічне
призначенню однойменних пунктів інших прикладних програм, зокрема стандартного
редактора тексту. На панелі інструментів розташовані кнопки команд, що часто
використовуються. Вони дублюють деякі команди головного меню. Назви цих
кнопок з’являються після встановлення на них вказівника миші.
 Поняття типів користувача і масиву
 Незважаючи на те що середовище Lazarus має потужну
структуру стандартних (вбудованих у мову) типів
даних, воно надає також можливість створення нових
типів, які називають користувацькими. Структура їх
оголошення така:
  type <новий тип даних>=<визначення типу>; 
 var <список змінних: новий тип даних>;
Масив

 Масив — це структурований тип даних, елементи якого


мають один тип, наприклад integer, char та ін.
 Структура масиву може бути одновимірною (лінійною),
двовимірною (табличною) та багатовимірною. Загальну
структуру одновимірного масиву можна позначити так:

 Місце елемента у масиві, тобто його порядковий номер,


називають індексом. Індекс записують у квадратних дужках,
наприклад запис x[i] означає і-й елемент масиву. Так, числа
105, 11, 173 , 35, 40 можна розглядати одновимірним масивом
цілих чисел, у якому п’ять елементів. У прикладі 3 видно, що
першим елементом масиву є монітор, другим — миша.
Оголошення масиву
 Перш ніж опрацьовувати масив, його потрібно оголосити.
Оголошення можна зробити такими способами.
 У розділі змінних. Структура оголошення одновимірного
масиву в цьому розділі така:
 var <ім'я_змінної>: array [n1..n2] of <тип елементів масиву>;
 Тут array — ключове слово, яке вказує, що змінна є масивом;
у квадратних дужках визначається діапазон індексів: n1 —
індекс першого елемента масиву; n2 — індекс останнього
елемента масиву. Після слова of вказується тип елементів
масиву

 Масив також може бути оголошений за такою структурою:


var <ім'я змінної>: array [n1..n2] of <тип
елементів>= (значення елементів);
 Наприклад:
 Для одночасного опрацювання декількох типів даних у багатьох мовах
програмування, в тому числі у мові Free Pascal, застосовується спеціальний
тип, який називають записом. Формат опису змінної типу запис такий:
 У розділі типів. Структура оголошення масиву така:

 з наведеної структури видно, що після оголошення типу


оголошується ім’я масиву.
 Наприклад, type mas4=array [0..5] of real; var s: mas4;
 У полі const. Оголошення масиву має таку структуру:

 Наприклад, const mas5=array [1..4] of integer=(33, 54, 2, 32);


 Індексами елементів масивів можуть бути дані будь-якого типу,
в тому числі вирази, але найчастіше ними є цілі числа. Якщо
індексом є змінна, то її необхідно оголосити константою.
 Наприклад, const n=7; var a: array [1..n] of integer;
 Будь-якому елементу масиву можна присвоїти певне значення
за допомогою оператора присвоювання. Наприклад, mas[4]:=5;
— четвертому елементу одновимірного масиву mas присвоєно
значення 5.
Введення і виведення значень
елементів масиву
 Елементи масиву можуть набувати значень різними
способами: присвоюватися під час оголошення масиву,
вводитися з клавіатури, присвоюватися під час виконання
програми. Способи і методи введення і виведення елементів
масиву для консольних і візуальних додатків відрізняються.
 У візуальних додатках середовища Lazarus для формування
масивів, уведення значень його елементів із клавіатури, а
також виведення елементів найчастіше застосовуються
багаторядкові текстові поля TMemo і TListBox, а також
функції InputBox( ) і ShowMessage( ). Можуть
застосовуватися також і однорядкові текстові поля TEdit і
TLabel. Розглянемо створення, введення і виведення
елементів одновимірних масивів на конкретних прикладах.
Класичні алгоритми опрацювання числових одновимірних масивів
 Класичними є алгоритми знаходження загальної суми
значень елементів числового масиву, суми та кількості
значень його елементів, що задовольняють певні умови. Для
масивів із будь-якими типами даних класичними є також
алгоритми пошуку елементів, що задовольняють задані
умови, та алгоритми впорядкування елементів масивів.
 Нехай дано одновимірний масив цілих або дійсних чисел
а[1], а[2], ..., а[л]. Обчислити суму значень елементів цього
масиву можна методом послідовного накопичення. Сутність
цього методу полягає в тому, що до початку додавання
початкове значення суми вважається таким, що дорівнює
нулю, тобто s=0. Потім до цього значення додається значення
першого елемента масиву: s=s+a[1]. До отриманої суми
додається значення другого елемента масиву: s=s+a[2] і так
далі до останнього елемента 
Розглянемо алгоритм знаходження суми
значень елементів масиву, що
задовольняють певну умову.
Варіант коду обчислення суми значень елементів масиву цілих чисел
із використанням компонента TEdit

 Для об’єкта Editl обрано подію onclick.


 Після успішної компіляції і виконання
програми отримаємо результат
Знаходження кількості елементів, що дорівнюють
значенню заданого
 Нехай у масиві a[1], a[2], a[3], ..., a[n] потрібно визначити кількість
елементів, значення яких дорівнюють с. Сутність алгоритму полягає у
послідовному порівнянні всіх елементів масиву, починаючи з першого
елемента, із заданим значенням. Якщо значення елемента масиву
дорівнює заданому, то показник кількості збільшується на одиницю.
 Алгоритм знаходження кількості заданих елементів у масиві може бути
таким:
 змінній m, у якій підраховується кількість
елементів, спочатку присвоюється значення
нуль. Потім порівнюється значення елемента
a[1] зі значенням с. Якщо їхні значення
збігаються, то значення змінної m
збільшується на одиницю, інакше її значення
не змінюється. На наступному кроці
порівнюється значення елемента a[2] зі
значенням с і виконуються дії, аналогічні
тим, що виконувалися на попередньому
кроці. Потім порівнюється значення елемента
a[3] і так далі до a[n].
Лінійний пошук даних
 Лінійний пошук базується на
прямому переборі елементів масиву.
 Нехай дано масив a[1], a[2], ..., a[n] і
значення с (ключ). Потрібно
визначити, чи є у цьому масиві
елемент, значення якого збігається зі
значенням с.
 Сутність лінійного пошуку така.
Спочатку с порівнюється з a[1]. Якщо
вони збігаються, робиться висновок,
що елемент знайдено на першій
позиції масиву, і на цьому пошук
завершується. Інакше с порівнюється
з a[2] і робиться
аналогічний висновок, потім — з a[3]
і так далі до a[n].
 Блок-схема алгоритму лінійного
пошуку в одновимірному масиві, де і
— лічильник кількості переглянутих
елементів; n — загальна кількість
елементів у масиві
 Визначити, чи є у масиві з 10 випадкових цілих чисел з діапазону від 0 до 6 число 5.
Тобто достатньо знайти номер першої позиції, на якій розміщено такий
елемент. Програмний код подано на рис. 2. У програмі використано об’єкти: ListBoxI
— для виведення елементів масиву, Labell — для виведення
 повідомлення про наявність ключа, Label2 — для виведення повідомлення про номер
позиції, на якій розташовано ключ. Якщо ключа немає, виводиться нульова позиція.
Для об’єкта Labell обрано подію onclick.

You might also like