§ 31. Величини логічного типу
Прості умови
Простий логічний вираз (проста умова) утворюється за допомогою операції відношення:
Знак операції |
Зміст |
Приклад |
Результат |
= |
Дорівнює |
8 = 9 |
False |
> |
Більше |
8 > 9 |
False |
< |
Менше |
8 < 9 |
True |
>= |
Більше або дорівнює |
5 >= 5 |
True |
<= |
Менше або дорівнює |
5 <= 2 |
False |
<> |
Не дорівнює |
2 <> 5 |
True |
Логічні вирази набувають значення True або False. У мові Object Pascal для величини, значенням якої є True або False, використовують логічний тип (Boolean).
Обчислити значення логічних виразів:
Складені умови
Складений вираз (складена умова) — кілька простих виразів, з’єднаних логічними операціями and (і), or (або), xor (виключне або), not (ні).
Таблиці істинності
А |
В |
А and B |
А or B |
А xor B |
False |
False |
False |
False |
False |
False |
True |
False |
True |
True |
True |
False |
False |
True |
True |
True |
True |
True |
True |
False |
А |
not A |
False |
True |
True |
False |
Логічні операції, операції відношення й арифметичні операції можуть зустрічатися в одному виразі. Обчислення таких виразів виконуються зліва направо з урахуванням пріоритету операцій:
1) not;
2) and, *, /, div, mod;
3) or, xor, +, -;
4) операції порівняння.
Розглянемо приклади складених логічних виразів:
а) not (А <= 3) — те саме, що А > 3.
б) (A > 10) and (A < 18) — набуває значення True, якщо значення A належить проміжку від 10 до 18.
в) ( A <= 10) or (A >= 18) — набуває значення True, якщо значення A не належить проміжку від 10 до 18.
Визначити, чи належить точка з координатою x відрізку [-5; 5] (рис. 31.1). Точка належить відрізку, якщо справджується нерівність -5 < x < 5. У програмуванні таку подвійну нерівність записують як складену умову:
(х >= -5) and (х <= 5).
Обчислити значення логічних виразів: var X, Y, Z: Integer; A: Boolean; begin
X := 1; Y := 2; Z := 3;
A := (X < Y) and (Y < Z); // A = True
A := (X > Y) or (Y > Z); // A = False
A := (X > Y) xor (Y < Z); // A = True
end;
Перетворення типів
При виведенні логічних значень треба перетворювати логічне значення на рядок символів, і навпаки, при введенні перетворювати рядок символів на відповідне логічне значення. Для цього в мові Object Pascal існують вбудовані функції перетворення типів:
• StrToBool(S) — перетворення рядка символів S на логічне значення;
• BoolToStr(b,True) — перетворення логічного значення на рядок символів.
Якщо другий аргумент функції BoolToStr дорівнює True, то отримуємо значення функції у вигляді рядка 'True' або 'False'. Якщо другий аргумент замінити на False, то значенням функції для істинного b буде рядок '-I', а для хибного — '0'.
Питання для самоперевірки
1. Яких значень може набувати змінна логічного типу?
2. Які операції можна виконувати над змінними логічного типу?
3. Змінні логічного типу А і В отримують значення в результаті виконання операторів: A := X > 3; B := X < 0;
За яких значень X вираз A or B набуває значення True?
За яких значень X вираз A and B має значення False?
4. Запишіть у вигляді логічних виразів подані умови: а) 3 < х < 10; б) -5 < х < 5 за умови, що х Ф 0.
5. Обчисліть значення логічних виразів:
а) (A <= B) and (A = B - 1), якщо А = 2, В = 4;
б) (A <= B) or (A = B - 1), якщо А = 2, В = 4.
Вправа 31
За введеними значеннями змінних a, b: Boolean обчислити значення логічних виразів a and b, a or b, a xor b.
1) Створіть новий проект. Змініть заголовок форми на «Логічні операції». Розмістіть на формі кнопку Buttonl і змініть заголовок створеної кнопки на «Обчислити».
2) Розмістіть на формі по п’ять компонентів Label і Edit згідно з рисунком.
3) Створіть процедуру обробки події onclick для кнопки Обчислити. У програмному коді створеної процедури запишіть оператори: var a, b, v1, v2, v3: Boolean; begin
a := StrToBool(Editl.Text); b := StrToBool(Edit2.Text); vi := a and b; v2 := a or b; v3 := a xor b;
Edit3.Text := BoolToStr(v1,True);
Edit4.Text := BoolToStr(v2,True);
Edit5.Text := BoolToStr(v3,True); end;
4) Запустіть проект на виконання. Перевірте результат роботи програми при a = True, b = False.
5) Перевірте роботу програми для різних значень a і b. Збережіть проект у папці Вправа 31.
Комп’ютерне тестування
Виконайте тестове завдання 31 з автоматичною перевіркою на сайті interactive.ranok.com.ua
Це матеріал з підручника Інформатика 8 клас Бондаренко
Автор: admin от 7-10-2016, 22:29, Переглядів: 4568