- •Розділ 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. Типи даних та пошук в діапазоні.
- •Список літератури
Тема 2.4. Управляючі структури Object Pascal.
Поєднання конструкцій. Застосування на прикладах.
З|із| логічними операторами ми вже знайомилися|ознайомлювалися| і вже достатньо|досить| багато працювали. Але|та| тут ми розглянемо|розглядуватимемо| повнішу|цілковиту| інформацію по логічних операціях. Точніше сказати, по одній – if|.
Як ви вже знаєте, вона виконує перевірку – "Якщо якась умова виконана|, то виконати наступну|слідуючу| за умовою дію. Якщо потрібно виконати декілька дій, то їх потрібно об'єднати за допомогою begin| . . . end|.
У загальному|спільному| вигляді|виді| логіка виглядає так:
If| Умова виконана then |Дія1;
Якщо потрібно виконати дві дії, то потрібно написати так:
If| Умова виконана then|
begin|
Дія1;
else
Дія2;
end|;
При перевірці декількох умов можна використовувати декілька способів. Перший з|із| них можна визначити таким чином:
If| Умова1 виконана then|
If| Умова2 виконана then |Дія1;
Якщо Умова1 вірна, то виконається наступна|слідуюча| за логікою дія, а це друга перевірка. Якщо друга перевірка (умова2) вірна, то виконається дія1. Якщо хоч би|хоча би| одна з умов не виконається, то ланцюжок уривається і дія не буде виконана.
Другий спосіб в більшості випадків зручніший і наочніший|наглядний|. Він може бути представлений|уявляти| наступним|слідуючим| кодом:
If| (Умова1 виконана) and| (Умова2 виконана) then| Дія1;
В даному прикладі об'єднано|з'єднаний| дві перевірки в одну. Якщо Умова1 і Умова2 вірні, то виконається дія.
А якщо вам потрібно виконати дію, якщо хоч би|хоча би| одна з умов вірна? Не обов'язково, щоб|аби| обидва відразу, а хоч би|хоча би| одне. В цьому випадку можна для об'єднання використовувати не and|, а or|. Це виглядатиме так:
If| (Умова1 виконана) or| (Умова виконане) then| Дія1;
Якщо ви об'єднуєте дві умови в одного оператора if|, то їх обов'язково потрібно захистити|обгороджувати| дужками. Якщо ви, їх не поставите, то виникне помилка.
Ось|от| приклад|зразок| неправильного оформлення:
If| Умова1 виконана or| Умова2 виконана then| Дія1;
В цьому випадку буде не об'єднання двох перевірок, а бінарна операція (бінарні операції вимагають окремої розмови), для якої неправильно записаний рядок. Тому і виникає помилка.
Існує одне виключення|виняток|, при якому оператор може бути відсутнім. Якщо ви перевіряєте булеву| змінну, то оператора можна опустити. Приклад|зразок| такого випадку показаний в лістингу.
b:Boolean|;
begin|
b:=true|;
if| b then|
Виконати дію;
end|;
В даному прикладі відбувається|походить| перевірка булевої змінної b. Але|та| з|із| чим її порівнюють, не вказано. Як ви знаєте, булеві змінні можуть приймати одне з двох значень: true| або false| (істина або брехня). Так от, в цьому випадку відбувається|походить| перевірка на істину. Якщо булева змінна рівна true|, то дія буде виконана. Якщо ь рівна false|, то дія не буде виконана.
До цих пір ми розглядали|розглядували| скорочений вид логіки if|. У повному|цілковитому| вигляді|виді| вона виглядає так:
If| Умова виконана then| Дія1
Else| Дія2
У цьому вигляді|виді|, якщо умова виконана, то виконається дія1, інакше виконається Дія2.
Ви повинні вже знати, що кожен оператор повинен закінчуватися крапкою з комою. Запам'ятаєте, що після|потім| будь-якого оператора перед else| крапка з комою не ставиться. Це як виняток, яке треба пам'ятати.
Давайте розглянемо|розглядуватимемо| пару прикладів|зразків|. У лістингу зібрано|повизбирувати| декілька операторів порівняння.
var|
i: integer|;
begin|
if| i>0| then|
i:=i+10|
else|
i:=i+20|
if| i<0| then|
begin|
end|
else|
begin|
i:=20|;
end|;
end|;
Ось|от| тепер розказано все необхідне про логічні операції і як з|із| ними працювати.
При використанні логічних операцій результат порівняння завжди має бути логічним.
Не можна написати так – if| i:=0| then|. Тут в операторові використовується привласнення, а у нього немає результату, а значить, відбудеться помилка. Щоб|аби| не робити|чинити| таких помилок, просто запам'ятаєте, що при використанні оператора if |обов'язково повинні застосовуватися тільки|лише| логічні операції рівності, більше, менше і так далі
Єдиний випадок, коли можна опускати операторів порівняння, – це коли перевіряється логічна змінна. Наприклад:
var|
perem:Boolean|;
begin|
perem:=true|;
if| perem| then|
perem:=false|;
end|;
В даному прикладі немає ніяких|жодних| операторів типу|типа| рівності, більше або менше, тому що|бо| змінна param| – логічна і перевіряється вона. Якщо вона рівна true|, то наступна|така| дія виконається якщо немає, то пропуститься.
Питання для самоконтролю:
Що називається умовою?
Які значення вона може приймати?
За допомогою яких команд реалізується вибір?
Як записується інструкція if?
Яким чином виконується команда if?
