Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DELPHI-ЛР-17.doc
Скачиваний:
3
Добавлен:
07.05.2019
Размер:
448 Кб
Скачать

Лабораторна робота №___

Тема: Складання програм з розгалуженнями

Мета: Набути практичних навичок створення програм з розгалуженнями; засвоїти поняття логічного виразу; ознайомитись з командами повного та неповного розгалуження; навчитись використовувати перемикачі, прапорці та списки для реалізації розгалужень.

Теоретичні відомості

1. Поняття логічного виразу. Обчислення значень логічних виразів

Крім арифметичних виразів, у Delphi існує ще один тип виразів – логічний.

Логічним виразом називається такий вираз, внаслідок обчислення якого одержується логічне значення типу true( істина) або false (хиба). Тобто відповідний логічний вираз завжди набуває одного з двох можливих значень “істинність” або “хибність”.

Всі логічні вирази поділяються на прості та складені.

Простим логічним виразом називається вираз, який записується за допомогою знаків відношень <, >, <=, >=, <>.

Приклади простих логічних виразів: a+b>c+d; n<>m; x=y.

Складеним логічним виразом називається вираз, в якому використовуються логічні операції and (і), or (або), not (не).

Приклад. Твердження x ∈ [a,b] можна записати у вигляді логічного виразу: (x>=a) and (x<=b); твердження ∉ [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:='Друге число більше';

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]