- •Лабораторна робота №___
- •Теоретичні відомості
- •1. Поняття логічного виразу. Обчислення значень логічних виразів
- •2. Розгалуження в Delphi
- •3. Перемикачі, прапорці та списки
- •Використання перемикачів
- •Використання списків
- •Використання прапорців
- •Хід роботи
- •Завдання 1
- •Порядок виконання
- •Процедура_1 для кнопки «Обчислити»
- •Процедура_2 для кнопки «Інше рівняння»
- •Завдання 2
- •Порядок виконання
- •Процедура для кнопки «Сума до сплати»
- •Завдання 3
- •Порядок виконання
- •Процедура для кнопки «Розрахувати»
- •Контрольні запитання
Лабораторна робота №___
Тема: Складання програм з розгалуженнями
Мета: Набути практичних навичок створення програм з розгалуженнями; засвоїти поняття логічного виразу; ознайомитись з командами повного та неповного розгалуження; навчитись використовувати перемикачі, прапорці та списки для реалізації розгалужень.
Теоретичні відомості
1. Поняття логічного виразу. Обчислення значень логічних виразів
Крім арифметичних виразів, у Delphi існує ще один тип виразів – логічний.
Логічним виразом називається такий вираз, внаслідок обчислення якого одержується логічне значення типу true( істина) або false (хиба). Тобто відповідний логічний вираз завжди набуває одного з двох можливих значень “істинність” або “хибність”.
Всі логічні вирази поділяються на прості та складені.
Простим логічним виразом називається вираз, який записується за допомогою знаків відношень <, >, <=, >=, <>.
Приклади простих логічних виразів: a+b>c+d; n<>m; x=y.
Складеним логічним виразом називається вираз, в якому використовуються логічні операції and (і), or (або), not (не).
Приклад. Твердження x ∈ [a,b] можна записати у вигляді логічного виразу: (x>=a) and (x<=b); твердження x ∉ [a,b]: (x<a) or (x>b).
Під час запису складених логічних виразів прості логічні вирази беруться обов’язково в дужки.
Для визначення правил, за якими обчислюється значення складених логічних виразів, створені таблиці істинності (таблиця 1), в яких цифра 0 означає false, а 1– true, А і В – прості логічні вирази.
Логічна операція and дає результат true (істина) тоді і тільки тоді, коли обидва операнди мають значення true. Логічна операція or дає результат true (істина) тоді , коли хоча б один операнд має значення true. Логічна операція not завжди дає результат протилежний значенню її операнда.
Таблиця 1
А |
В |
А and B |
А or B |
not А |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
0 |
1 |
0 |
1 |
1 |
1 |
1 |
0 |
Логічні вирази можуть використовуватися в операторі присвоєння, а також для визначення оцінки деякої ситуації, що склалася, і прийняття рішення про те, що робити далі.
2. Розгалуження в Delphi
Команда повного розгалуження (рис. 1) в Delphi має такий загальний вигляд:
If <логічний вираз>
Then begin
<послідовність команд1 >
end
Else begin
<послідовність команд2 >
end;
( англ. if – якщо, then – тоді, else – інакше).
Є в Delphi й команда неповного розгалуження (рис. 2):
If <логічний вираз>
Then begin
<послідовність команд>
end;
Виконання команди повного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд 1 і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, то виконується послідовність команд 2 і після цього виконується команда, наступна за командою розгалуження.
Виконання команди неповного розгалуження відбувається так: обчислюється значення логічного виразу; якщо це значення true, то виконується послідовність команд і після цього виконується команда, наступна за командою розгалуження; якщо це значення false, одразу виконується команда, наступна за командою розгалуження.
Звертаємо вашу увагу:
якщо після ключових слів Then і Else слідують тільки по одній команді, то операторні дужки begin і end можна не ставити;
перед Else ставити крапку з комою не можна.
Логічний вираз у команді розгалуження може бути простим або складеним. Складені логічні вирази утворюються з простих шляхом використання розглянутих у попередньому пункті операцій кон’юнкції (and), диз’юнкції (or), заперечення (not). Порядок виконання цих операцій в Delphi такий самий, як і в математичній логіці.
Приклад задачі з використанням складених логічних виразів.
Обчислити значення заданої функції
Ф рагмент програми для розв’язування цієї задачі виглядатиме так:
x:=StrToFloat(Edit1.Text);
If (x>–3) and (x<5)
Then y:=2*x–12
Else y:=7–8*x;
Label1.Caption:=FloatToStr(y);
Команда розгалуження в Delphi може містити в собі іншу команду розгалуження. Ось як виглядатиме команда розгалуження для алгоритму, наведеного на рисунку 3:
If x=у
Then Label1.Caption:='Числа рівні'
Else If x>у
Then Label1.Caption:='Перше число більше'
Else Label1.Caption:='Друге число більше';