Matematička logika u programiranju Uvod LOGOS – riječ, misao, zakon, razlog, razum LOGIKA - grana filozofije Bitna kod zaključivanja bavi se utvrđivanjem razložnosti rasuđivanja Nešto je logično ako se može obrazložiti nekim dokazima Logika i logički izrazi Izraz (općenito) čine operandi i operatori koji ih međusobno povezuju U matematici operandi su npr. brojevi, nepoznanice... Osnovni operand (pojam) u logici je LOGIČKI SUD - TVRDNJA koja se ocjenjuje s gledišta ISTINITOSTI ili LAŽNOSTI sudovi koji mogu biti ISTINITI (TRUE) ili LAŽNI (FALSE) smatraju se VALJANIMA Operatori u logici su logičke funkcije: I (and), ILI (or), NE (not)... “Pada kiša.” I “Oblačno je.” ILI “Sunce sja.” p ILI q Matematička logika i George Boole 1815-1864 Istraživanjima sudova bavi se posebna grana matematike: MATEMATIČKA LOGIKA Osnovu matematičke logike čini ALGEBRA SUDOVA (LOGIČKA, BOOLEOVA ALGEBRA) Operacije sa sudovima su LOGIČKE ili BOOLEOVE Matematičar koji se bavio logikom Boole - Razvio logičku algebru (Boolean Algebra) Uveo operatore and (konjunkcija) or (disjunkcija) not (negacija) nor (exclusive or) Složeni sudovi i označavanje sudova Za označavanje sudova koriste se logičke varijable (npr. p, q, A, B...) koje mogu poprimiti vrijednost 0 ili 1 (laž ili istina) od jednostavnih sudova stvaramo složenije Istinitost ili lažnost SLOŽENIJIH SUDOVA može se utvrditi temeljem formula koje uključuju logičke operatore: negacija, konjunkcija, disjunkcija Vrijednost složenijih sudova analiziramo pomoću tzv. TABLICA STANJA ili ISTINITOSTI Tablice stanja opisuju odnose između operanada kod primjene određene logičke funkcije (operatora, operacije) i moraju sadržavati sva moguća logička stanja Tablice stanja ........napisati tablice stanja za osnovne logičke operacije... Logički izrazi i programiranje Izvođenje programa ne mora biti pravocrtno, bezuvjetno, već se program može GRANATI Ostvarenje PROGRAMSKIH GRANANJA, ali i PROGRAMSKIH PETLJI zasniva se na POZNAVANJU LOGIKE koje općenito olakšava razumijevanje i stvaranje programa kod grananja obično ISPITUJEMO UVJET određen nekim izrazom (može biti ispunjen-istinit ili ne-lažan) pa DONOSIMO ODLUKU o daljnjem tijeku izvođenja programa izrazi često uključuju i relacijske simbole ili operatore: <, >, =, <=, >=, <> ti simboli opisuju odnose među vrijednostima napisanim sa lijeve/desne strane operatora Utvrdi istinitost ili lažnost sudova (vježbe na satu)