Диз'юнкція (логіка)
Диз'юнкція (лат. disjunctio — розділення) (операція OR) — двомісна логічна операція, що має значення «істина», якщо хоча б один з операндів має значення «істина». Операція відображає вживання сполучника «або» в логічних висловлюваннях. Диз'юнкція є бінарною операцією, тобто, має два операнда. Запис може бути префіксним — знак операції стоїть перед операндами, інфіксним — знак операції стоїть між операндами або постфіксним — знак операції стоїть після операндів. При числі операндів більше 2-х префіксний і постфіксний записи економніші.
Позначається: в математиці та логіці як , в програмуванні як | чи or. Найчастіше зустрічаються такі варіанти запису: a||b, a|b, ab, a+b, a or b.
У техніці операцію диз'юнкції втілює логічний вентиль АБО.
Визначення[ред. | ред. код]
В булевій алгебрі диз'юнкція — це функція двох, трьох або більше змінних (вони ж — операнди операції, вони ж — аргументи функції). Правило: результат дорівнює 0, Якщо всі операнди рівні 0; У всіх інших випадках результат дорівнює1 .
Таблиця істинності виглядає таким чином:
хибність | хибність | хибність |
---|---|---|
хибність | істина | істина |
істина | хибність | істина |
істина | істина | істина |
Відповідною операцією в теорії множин є об'єднання множин.
Властивості[ред. | ред. код]
Функціональна повнота[ред. | ред. код]
Множина операцій є функціонально повною:
Двійкові операції[ред. | ред. код]
Диз'юнкція часто використовується для двійкових операцій. Наприклад: Логічний елемент 2АБО AB f (A B)
- 0 0 = 0
- 0 1 = 1
- 1 0 = 1
- 1 1 = 1
- 1010 1110 = 1110
Мнемонічне правило для диз'юнкції з будь-якою кількістю входів звучить так: На виході буде: «1» тоді і тільки тоді, коли хоча б на одному вході є «1», «0» тоді і тільки тоді, коли на всіх входах «0»
Багатозначна логіка[ред. | ред. код]
В багатозначній логіці операція диз'юнкції може визначатися іншими способами. Найчастіше застосовується схема: ab= max(a, b), де a, b € [0,1]. Можливі й інші варіанти. Як правило, намагаються зберегти сумісність з булевою алгеброю для значень операндів 0, 1.
Програмування[ред. | ред. код]
У комп'ютерних мовах використовуються два основні варіанти диз'юнкції: логічне «АБО» і побітове «АБО». Наприклад, у мовах C / C++ логічне «АБО» позначається символом "||", а побітове — символом "|". У мовах Pascal / Delphi обидва види диз'юнкції позначаються з використанням ключового слова «or», а результат дії визначається типом операндів. Якщо операнди мають логічний тип (наприклад, Boolean) — виконується логічна операція, якщо цілочисельний (наприклад, Byte) — порозрядне. Логічне «АБО» застосовується в операторах умовного переходу або в аналогічних випадках, коли потрібне отримання результату false або true. Наприклад:
if (a || b) {/* Якісь дії */};
Результат буде дорівнювати false, якщо обидва операнда рівні false або 0. У будь-якому іншому випадку результат буде дорівнювати true. При цьому застосовують стандартну угоду: якщо значення лівого операнда є true, то значення правого операнда не обчислюється (замість b може стояти будь-яка складна формула). Така угода прискорює виконання програми і служить корисним прийомом в деяких випадках. Побітове «АБО» виконує звичайну операцію булевої алгебри для всіх бітів лівого і правого операнда попарно. Наприклад, якщо a = 01100101 b = 00101001, то a АБО b = 01101101
Див. також[ред. | ред. код]
Література[ред. | ред. код]
- Диз'юнкція // Філософський енциклопедичний словник / В. І. Шинкарук (гол. редкол.) та ін. — Київ : Інститут філософії імені Григорія Сковороди НАН України : Абрис, 2002. — С. 155. — 742 с. — 1000 екз. — ББК 87я2. — ISBN 966-531-128-X.