
- •Розділ 1. Об’єктно-орієнтоване програмування
- •Тема 1.1. Візуальне програмування.
- •Тема 1.2. Приклади та застосування інкапсуляції, успадкування, поліморфізму.
- •Тема 1.3. Бібліотека візуальних компонентів vcl та її базові класи.
- •1. Клас tWinControl.
- •2. Клас tСustomControl.
- •3. Клас tGraphicControl.
- •Тема 1.4. Обробка виняткових ситуацій.
- •1. Використовування виняткових ситуацій.
- •2. Протоколювання виняткових ситуацій.
- •3. Коди помилок у виняткових ситуаціях.
- •4. Виняткова ситуація eAbort. Функція Assert.
- •Розділ 2. Мова програмування Object Pascal.
- •Тема 2.1. Середовище Delphi.
- •Тема 2.2. Елементи мови Object Pascal.
- •1. Коментарі.
- •2. Логічні вирази.
- •Тема 2.3. Типи даних, процедури та функції.
- •1. Вказівники та динамічна пам'ять. Динамічна пам'ять
- •Вказівники
- •Виділення і звільнення динамічної пам'яті
- •Процедури і функції для роботи з динамічною пам'яттю
- •Тема 2.4. Управляючі структури Object Pascal.
- •Розділ 3. Програмування в середовищі Delphi.
- •Тема 3.1. Застосування списків. Способи запису/читання зі списків.
- •Є списком CheckBox елементів.
- •Тема 3.2. Масиви.
- •1. Пошук мінімального (максимального) елементу масиву.
- •2. Пошук в масиві заданого елементу.
- •Тема 3.3. Робота з файлами.
- •Тема 3.4. Типи даних визначені програмістом.
- •1. Показники.
- •2. Динамічні змінні.
- •Тема 3.5. Графічні програми.
- •1. Бітові образи.
- •2. Мультиплікація.
- •Властивості компоненту Timer
- •Тема 3.6. Приклади застосування анімацій у Delphi.
- •Тема 3.7. Рекурсія.
- •1. Крива Гільберта.
- •2. Пошук шляху.|колії|
- •Значення властивостей компоненту stringGrid1
- •3. Пошук найкоротшого шляху.|колії|
- •Тема 3.8. Компоненти для інтернету. Компонента tSocketConnection
- •Розділ 4. Бази даних.
- •Тема 4.1. Види баз даних. Структура та зв’язки між таблицями. Бази даних
- •Класифікація баз даних
- •Структура бази даних
- •Модель бази даних в Delphi
- •Тема 4.2. Модифікація структури таблиці в bde.
- •1. Зміна структури таблиці.
- •2. Встановлення перевірок правильності даних.
- •3. Завдання вторинних індексів.
- •Тема 4.3. Об’єкти відображення даних бази даних Delphi.
- •1. Класифікація компонентів відображення даних.
- •2. Елемент керування тdbGrid.
- •3. Компонент tdbEdit.
- •4. Компонент tdNavigator.
- •Тема 4.4. Обчислювальні поля і поля підстановки в Delphi.
- •1. Створення поля підстановки (поля синхронного перегляду).
- •2. Обчислювальні поля.
- •Тема 4.5. Компонента tdbEdit.
- •Тема 4.6. Переміщення по записам таблиці. Набір методів і властивостей tDataSet. Огляд
- •Клас tDataSet
- •Відкриття і закриття DataSet
- •Тема 4.7. Налаштування фільтрів.|
- •Тема 4.8. Приклади застосування пошуку.
- •Тема 4.9. Поєднання різних видів пошуку.
- •Тема 4.10. Типи даних та пошук в діапазоні.
- •Список літератури
Тема 3.2. Масиви.
Пошук мінімального (максимального) елементу масиву.
Пошук в масиві заданого елемента.
1. Пошук мінімального (максимального) елементу масиву.
Завдання|задачу| пошуку мінімального елементу масиву розглянемо|розглядуватимемо| на прикладі|зразку| масиву цілих чисел.
Алгоритм пошуку мінімального (максимального) елементу масиву досить очевидний: спочатку робиться|чинить| припущення|гадка|, що перший елемент масиву є|з'являється| мінімальним (максимальним), потім решта елементів масиву послідовно порівнюється з|із| цим елементом. Якщо під час чергової перевірки виявляється, що елемент, що перевіряється, менше (більше) прийнятого за мінімальний (максимальний), то цей елемент стає мінімальним (максимальним) і продовжується|триває| перевірка елементів, що залишилися.
Діалогове вікно додатку|застосування| пошуку мінімального елементу масиву містить|утримує| відповідним чином настроєний|налагоджений| компонент StringGrid1|, який застосовується для введення елементів масиву, два поля влучний (Label1| і Label2|), що використовуються для виведення інформаційного повідомлення|сполучення| і результату роботи програми, і командну кнопку (Buttonl|), при клацанні|натисненні| на якій виконується пошук мінімального елементу масиву. Нижче приведені значення властивостей компоненту StringGrid1|.
Значення властивостей компоненту stringGrid1
|
|
|
|
|
Властивість
|
Значення
|
|
|
ColCount
|
005 |
|
|
FixedCols
|
000 |
|
|
RowCount
|
001 |
|
|
DefaultRowHeight
|
024 |
|
|
Height
|
024 |
|
|
DefaultColWidth
|
064 |
|
|
Width
|
328 |
|
|
Options.goEditing
|
True
|
|
|
Options. AlwaysShowEditing
|
True
|
|
|
Options.goTabs
|
True
|
|
|
|
|
|
У лістингу приведена процедура обробки події Onclick| для командної кнопки Button1|, яка вводить|запроваджує| масив, виконує пошук мінімального| елементу і виводить результат – номер і значення мінімального елементу масиву.
Лістинг. Пошук мінімального елементу масиву
unit lookmin_;
interface|
Windows|, Messages|, SysUtils|, Classes|, Graphics|
Controls|, Forms|, Dialogs|, StdCtrls|, Grids|;
type|
TForm1| = class|(TForm|)
Label1|: TLabel|;
Button1|: TButton|;
Label2|: TLabel|;
StringGridl|: TStringGrid|;
procedure ButtonlClick(Sender: TObject); private
{ Private| declarations| )
public|
{ Public| declarations| }
end|;
var|
Form1|: TForm1|;
implementation|
{$R *.DFM}
procedure TForm1.ButtonlClick(Sender: TObject);
const|
SIZE=5|;
var|
a:array|[l..SIZE]of| integer|; // масив цілих
min:integer|; // номер мінімального елементу масиву
i:integer|; // номер елементу, що порівнюється з|із| мінімальним
begin|
// введення масиву for| i:=1| to| SIZE| do|
а[i]:=StrToInt(StringGridl|.Cells[i-1,0|]);
// пошук мінімального елементу
min:=1|; // хай|нехай| перший елемент мінімальний
for i:=2 to SIZE do
if а[i]< а[min]then min:=i;
// виведення результату
label2|.caption:='Мінімальний елемент масиву:'
+IntToStr|(а[min|]+#13+'Номер елементу:'+ IntToStr|(min|);
end|;
end|.
На малюнку приведений вид діалогового вікна додатку після клацання на кнопці Пошук.
Вікно додатку Пошук мінімального елементу масиву