Booleova algebra

Z Kiwiki
Verzia z 15:25, 25. február 2020, ktorú vytvoril Matej.F (diskusia | príspevky)
Skočit na navigaci Skočit na vyhledávání

Slúži na matematický opis zákonov a pravidiel výrokovej logiky, ktorá rieši vzťahy medzi pravdivými a nepravdivými výrokmi. Pravdivému výroku prideľujeme logickú hodnotu 1 a nepravidelnému výroku logickú hodnotu 0. Nositeľom elementárnej informácie o pravdivosti alebo nepravdivosti výroku je logická premenná, ktorá môže nadobúda dve hodnoty 0 a 1.[1]

Základné operácie

Logický súčin (AND)

Odborne nazývaný logická konjukcia. Označuje sa symbolom ∧ (v jazyku c/c++ je označená symbolom && pri podmienkach a symbolom & pri bitovom súčte), alebo sa používa pojem "a súčasne". Jeho výsledná hodnota Y je log. 1, ak oba vstupy A aj B sú log. 1, inak je výsledkom log. 0.

A B Y = A ∧ B
0 0 0
0 1 0
1 0 0
1 1 1

Logický súčin


Logický súčet (OR)

Odborne nazývaný logická disjunkcia. Označuje sa symbolom ∨(v jazyku c/c++ je označená symbolom || pri podmienkach a symbolom | pri bitovom súčine), alebo sa používa pojem "alebo". Jeho výsledná hodnota Y je log. 1, ak aspoň jeden vstup A alebo B sú log. 1, inak je výsledkom log. 0.

A B Y = A ∨ B
0 0 0
0 1 1
1 0 1
1 1 1

Logický súčet


Logická negácia (NOT)

Označuje sa symbolom [math]\neg[/math] alebo apostrofom '(v jazyku c/c++ je označená symbolom ! pri podmienkach a symbolom ~ pri bitovej negácii).. Jeho výsledná hodnota Y je log. 1, ak vstup A je log.0, inak je výsledkom log. 1.

A Y = [math]\neg[/math]A
0 1
1 0

Príklad v jazyku C

 1 #include<stdio.h>
 2 int main(void)
 3 {
 4 	int A = 0;
 5 	int B = 0;
 6 	printf("Zadaj cisla pre porovnanie: ");
 7 	scanf("%d %d", &A, &B); //načítanie dvoch čísiel
 8 
 9 	//ak A > B a súčasne B > 2
10 	if ((A > B) && (B > 2)) printf("(A > B) && (B > 2) je pravda\n");
11 	else printf("(A > B) && (B > 2) je nepravda\n");
12 
13 	//ak A > B alebo B > 2
14 	if ((A > B) || (B > 2)) printf("(A > B) || (B > 2) je pravda\n");
15 	else printf("(A > B) || (B > 2) je nepravda\n");
16 
17 	//ak (A > B) negované
18 	if (!(A > B)) printf("!(A > B) je pravda\n");
19 	else printf("!(A > B) je nepravda\n");
20 
21 	return 0;
22 }

Zdroje