Логичка конјункција

Логичка конјункција или логичко „и“ је једна од бинарних логичких операција чији је резултат „тачно“ само ако су оба операнда тачна, а у свим другим случајевима резултат је „нетачно“.

Обиљежавање

уреди

Логичка конјункција као операција се обично назива логичким „и“, јер представља аналогију са говорним везником „и“. На примјер, ако се каже „Учићу математику ако будем одморан и ако будем имао времена“, то значи да ће се учење обавити само уколико се испуне оба услова — ако било који од услова буде нетачан или оба буду нетачна, учење се неће обавити.

У математичкој логици, логичка конјункција се означава симболом  , па се конјункција елемената   и   обиљежава на сљедећи начин:

 

Док се у електроници логичка конјункција обележава са \cdot, у програмирању се обележава са & или и. Неки програмски језици имају повезану контролну структуру, краткостројно и, које пипемо &&.

Табела истинитости

уреди

Логичко „и“ се као операција најлакше и најпрактичније дефинише помоћу истинитосне таблице. Наиме, у таблици се дефинише резултат операције за све комбинације операнада. Пошто је операција бинарна (има само два операнда), а операнди су логичке вриједности (тачно или нетачно), истинитосна таблица је кратка и лако разумљива:

p q p ∧ q

Из таблице се лако види који је резултат операције за сваку могућу комбинацију параметара. На примјер, у трећој колони пише „ако је   нетачно а   тачно, онда је   нетачно.“. У тзв. сабијеном облику ова истинитосна таблица изгледа на сљедећи начин:

Особине

уреди

Операција конјункције има сљедеће математичке особине: 1. Резултат је исти без обзира да ли конјугујемо   са   или   са  , тј. није битан распоред операнада:

  (комутативност)

2. Ако имамо више елемената које конјугујемо, резултат је исти без обзира на редослијед извршавања конјугације. Другим ријечима, није битно да ли прво конјугујемо први са другим, а онда резултат са трећим, или прво нпр. други са трећим, па резултат са првим:

  (асоцијативност)

3. Ако се један елемент   конјугује са неким сложеним елементом који представља дисјункцију других елемената, тада се елемент   може прво конјуговати са сваким од њих посебно, а онда над та два резултата извршити дисјункцију. Иста ситуација важи и ако је сложени операнд конјункција. Другим ријечима, важе сљедеће формуле:

  (лијева дистрибутивност по дисјункцији)
  (лијева дистрибутивност по конјункцији)
  (десна дистрибутивност по дисјункцији)
  (десна дистрибутивност по конјункцији)

4. Било који елемент, кад се конјугује са самим собом, даје вриједност коју има и сам:

  (идемпотенција)

5. На крају, логичка конјугација је и монотона функција у односу на релацију логичке импликације:

 

Рачунарство

уреди

Програмирање

уреди

Конјункција се у програмирању користи као оператор који учествује у формирању сложених услова који морају бити задовољени да би се одређена радња обавила (гранање) или понављала (петља). На примјер, може се написати „ако је број прост И ако је већи од 10, испиши га на екран“. У различитим програмским језицима се користе различите ознаке за конјугацију, па се нпр. у програмском језику C користи ознака &&, у Паскалу енглеска ријеч AND (што на српском значи „и“), итд. Слиједи програмски код за споменути примјер, под претпоставком да је дефинисана функција prost:

if (prost(b) && b > 10) /* „ако је број прост И ако је већи од 10“ */
    printf("%d\n", b );   /* „одштампај га на екран“ */

Поред тога, конјугација се користи и у раду са битовима који граде меморијске локације; бит са вриједношћу 1 се посматра као логичка вриједност „тачно“ (⊤) а бит са вриједношћу 0 се посматра као логичка вриједност „нетачно“ (⊥), а резултат операције је број који је сачињен од битова који представљају резултате конјугације свих одговарајућих битова операнада. Тада се у C-у користи оператор &, а иако у стандардном Паскалу не постоји овај оператор, разна проширења га дефинишу и означавају исто као и обични оператор AND. Тако, ако имамо бројеве p = 45 и q = 56, резултат њихове бинарне конјугације је сљедећи:

 

Базе података

уреди

У базама података, конјункција се често користи као оператор који учествује у грађењу израза који одређује податке на које се одређена наредба односи. Тако, ако желимо да обришемо неваљане податке који су старији од 7 дана, имаћемо услов „да су неваљани И да су старији од 7 дана“. С обзиром да већина данашњих база података ради по SQL стандарду, оператор конјугације се углавном обиљежава енглеском ријечју AND.

Поријекло ријечи

уреди

Ријеч „конјункција“ је настала од латинске ријечи „coniunctio, coniunctionis, f.“, што значи „спој“, „уједињење“ (као што у српском језику везник „и“ саставља — „елемент и елемент“). Битно је примијетити да се у српском језику слова „н“ и „ј“ нису спојила у „њ“, па је неправилно рећи и написати „коњункција“.

Види још

уреди