Ivanov mlađi brat Petar na informatici je naučio da se procesor sastoji od aritmetičko-logičke jedinice i upravljačke jedinice. Također, naučio je da aritmetičko-logička jedinica obavlja aritmetičke te logičke operacije. Aritmetičkim operacijama ovladao je još u osnovnoj školi, a za izraz logično puno je puta čuo od brata. Kada je upitao Ivana što su to logičke operacije, Ivan mu je odgovorio: "Pa to je bar logično!" i krenuo mu pojašnjavati.
"Prije nego što krenemo, malo povijesti." rekao je Ivan.
Booleovu algebru
u 19. stoljeću
je definirao engleski matematičar George Boole, a smatra se temeljem informatike. Osnovni element Booleove algebre je logički sud (izjava) koji se može nedvosmisleno označiti kao istinit ili neistinit.
Primjer:
Zagreb je glavni grad Republike Hrvatske. |
ISTINA |
Zemlja je ravna ploča. |
NEISTINA |
Kako bi izjave bile primjerene za korištenje u Booleovoj algebri, trebaju biti jasne i nedvosmislene. Što misliš, koje rečenice
od ponuđenih
možemo nazvati izjavama?
Booleova algebra temelj je za osnovne logičke sklopove (I, ILI i NE) pomoću kojih se grade svi složeni sklopovi unutar računala, primjerice sklop za zbrajanje binarnih brojeva unutar aritmetičko-logičke jedinice.
Radi jednostavnosti pisanja, izjave Booleove algebre označavamo varijablama, odnosno slovnim oznakama. Primjerice izjavu "Danas pada kiša." možemo označiti s A, dok izjavu "Čokolada je slatka." možemo označiti B i sl. Već smo naglasili da svaka izjava ima binarnu vrijednost, tj. da može biti istinita ili neistinita. Istinu označavamo s dok neistinu označavamo s
Odredi istinitost sljedećih izjava:
Kemijski simbol za kisik je N.
Kemijski simbol za kisik je O.
"OK, to mi je jasno." rekao je Petar. "A što ako imam više izjava? Kako ih povezujem?" upitao je Ivana. "Pa to je bar logično!" odgovorio mu je.
Logičke izjave možemo povezati logičkim operatorima te time stvoriti logičke izraze. Osnovne logičke operacije, s obzirom na prioritet izvođenja, su negacija, konjunkcija i disjunkcija.
Petar se namučio prije nego li je ispravno izgovorio posljednje dvije osnovne logičke operacije te ga je sada sve to skupa još više zainteresiralo.
Negacija
Negacija (logička operacija NE) je operacija Booleove algebre koja ima najviši prioritet. Rezultat negacije uvijek je suprotna vrijednost, a označava se s ¬ u logici, (crtom iznad izjave ili izraza) u matematici te riječima NOT ili znakom ! u programskim jezicima.
Primjerice, ako izjava glasi: "Rijeka je grad na moru.", tada izjava glasi: "Rijeka nije grad na moru." Ako je ta izjava istinita, onda će njena negacija biti neistinita i obratno.
Istinitost logičkih izraza prikazujemo tablicom istinitosti. Tablicu istinitosti gradimo tako da u prvi red upišemo varijablu te u stupcu ispod sve moguće istinitosne vrijednosti. U slučaju samo jedne varijable postoje dvije moguće istinitosne vrijednosti: i
Tablica istinitosti za logičku operaciju negacije:
|
|
---|---|
|
|
|
|
Što misliš, je li negacija izjave: "Kemijski simbol za kisik je N." istinita?
"Čekaj malo!" rekao je Petar. "Malo prije smo u tablici istinitosti stavili da neka izjava može istinita i neistinita, a tu tvrdimo da je negacija rečenice istinita. Zašto onda pišemo u tablici slučaj u kojem je neistinita?" Ivan se nasmijao i odogovorio mu: "Pa to je bar logično! U svijetu logike nisu bitne stvarne istinitosne vrijednosti izjava. U tom svijetu strogih pravila matematičke logike mi moramo ispitati sve istinitosne mogućnosti!" nadovezao se Ivan. "Pa to uopće nije logično!" revoltirano je zaključio Petar.
Konjunkcija
Konjunkcija (logička operacija I) je logička operacija koja djeluje na dvije izjave, a istinita je samo ako su obje izjave istinite. Simbol konjunkcije u logici je u informatici a u programiranju AND ili &&. Prioritetom slijedi iza negacije.
Primjerice, ako je "SSD je poluvodička memorija", a "CD je optička memorija.", onda je "SSD je poluvodička memorija i CD je optička memorija."
Budući da konjunkcija djeluje na dvije izjave, postoje četiri
moguće kombinacije istinitosti. Mogu biti obje izjave istinite, obje izjave neistinite ili može prva izjava biti istinita, a druga neistinita i obratno.
Tablica istinitosti za logičku operaciju konjunkcije:
Iz tablice istinitosti vidimo da je konjunkcija istinita samo u posljednjem redu, odnosno u slučaju kad su obje izjave istinite.
Disjunkcija
Disjunkcija (logička operacija ILI) operacija je najnižeg prioriteta koja djeluje na dvije izjave, a istinita je kada je bar jedna izjava istinita. U logici je njen simbol u informatici a u programskim jezicima OR odnosno ||.
Primjerice, ako je "Danas je utorak.", a "Gitara ima šest žica.", onda je "Danas je utorak ili gitara ima šest žica."
U tablici istinitosti vidimo da je disjunkcija istinita u svim redovima osim u prvom, gdje su obje izjave neistinite.
Na redoslijed operacija može se utjecati pomoću zagrada, kao u aritmetičkim zadacima u matematici.
Poredaj operacije Booleove algebre prema prioritetu izvođenja, počevši od one s najvišim prioritetom.
Putem tablice istinitosti provjerimo za koje vrijednosti i je izraz istinit.
Primijećujemo da u slučaju tri varijable
i
) tablica istinitosti ima osam
redova, tj. osam mogućih kombinacija istinitosti. Koliko će tablica imati redova jest
-ta potencija broja dva, gdje
predstavlja broj varijabli.
Kako glasi logički izraz opisan formulom
ako izjava
glasi: "Kiša pada.", a izjava
"Ulice su suhe"?
Koliko redova će imati tablica istinitosti za izraz
Primjer 1.
Nakon kratkog, ali jezgrovitog predavanja, Petar je dobio zadatak. "Napiši tablicu istinitosti za sljedeći logički izraz: 'Autobus ima četiri kotača te škola ne počinje u rujnu ili šparoge rastu uz more!'" rekao mu je Ivan. "Pa to je bar logično!" rekao je Petar u stilu svog brata. "Prvo moramo zapisati od kojih varijabli se sastoji izraz." prisjećao se naučenog.
Autobus ima četiri kotača. Škola počinje u rujnu. Šparoge rastu uz more. Zatim je koristeći operatore Booleove algebre napravio logički izraz Ivan mu je još predložio da makne zagrade jer mu one s obzirom na prioritete logičkim operacija u izrazu ne trebaju. Tako je dobio konačni izraz za kojeg je napravio i tablicu istinitosti.
Iz tablice se da pročitati da je izraz istinit samo u prvom, drugom te petom i šestom redu gdje su:
Vrijednosti varijabli
,
i
još nazivamo i uređene trojke, a u primjeru prijestupnih godina, istinitost daju četiri uređene trojke:
Ako bismo umjesto imena varijabli uvrstili izjave zaključujemo da je izraz istinit u sljedećim slučajevima:
Za koju uređenu trojku je izraz
istinit?
Pomoć:
Za riješiti ovaj zadatak potrebno je ispisati tablicu istinitosti. Najprije ispiši svih osam mogućnosti istinitosti za varijable
Nakon toga prvo treba primijeniti operaciju disjunkcije na prva dva stupca
te ju potom negirati. Na kraju preostaje dobiveno povezati konjunkcijom sa stupcem
"Ova logika baš i nije logična!" rekao je Petar. Ivan se nasmijao. "Logika je itekako logična, ali unutar svojih pravila. Misija matematičke logike jest da odredi u kojem su odnosu izjave te što se događa u svim mogućim istinitosnim kombinacijama. Ako istine i neistine zamijenimo s nulama i jedinicama, ustvari smo dobili logičke sklopove, koji čine računalo!" rekao mu je Ivan. "Što je pak to?!" pobunio se Petar. "O tome nekom drugom prilikom, a sada procjeni svoje znanje!"