Booleska variabler och översättning mellan programuttryck och booleska variabler

Storlek: px
Starta visningen från sidan:

Download "Booleska variabler och översättning mellan programuttryck och booleska variabler"

Transkript

1 Vad är Boolesk algebra Lite förenklat kan man säga att Boolesk algebra är räkneregler konstruerade av den engelske matematikern Gerge Boole för att kunna räkna med logiska uttryck. I den booleska algebran finns som i normal algebra möjligheten att räkna med variabler. Det som skiljer en boolesk variabel från en normal variabel är att den bara kan anta värdena 0 eller 1. Värdet 0 brukar vi säga betyder falskt och 1 brukar tolkas som sant. Precis som i vanlig algebra finns även inom den booleska algebran ett antal räkneoperationer som man kan utföra på variablerna. I vanlig algebra finns operationerna +, -, *, / o.s.v. inom boolesk algebra finns bara operationerna +, * och. + brukar man kalla eller, * kallar vi och och brukar vi benämna icke (eng. or, and, not). Räknereglerna för dessa operationer skiljer sig från vanlig algebra. Följande regler gäller för eller : 0+0=0 0+1=1 1+0=1 1+1=1 Följande regler gäller för och : 0*0=0 0*1=0 1*0=0 1*1=1 För icke gäller följande regler: 1 =0 0 =1 Booleska variabler och översättning mellan programuttryck och booleska variabler Ett uttryck med booleska variabler och booleska operationer brukar man kalla ett booleskt uttryck t.ex. är p+q ett booleskt uttryck om p och q är booleska variabler. De booleska variablerna kan tilldelas värden precis som vanliga variabler med den skillnaden att det värde de tilldelas måste vara sant eller falskt. p=(x=3) är en giltig tilldelning där p blir sann (d.v.s. 1) om x=3 annars blir p falsk (d.v.s. 0) däremot är p=x+3 inte en giltig tilldelning, eftersom vi inte kan avgöra om x+3 är sant eller falskt. Ofta brukar vi skriva pq i stallet för p*q. I boolesk algebra utvärderas alltid icke först därefter och och sist utvärderas eller. I vissa fall kan man vilja ha en annan utvärderingsordning (presendensordning) i dessa fall använder man parenteser. Uttryck inom parenteser utvärderas alltid först. För att översätta en logisk programrad till en boolesk satts kan man gå till väga enligt följande:

2 Antag att vi har programraden x=3 or y=4 Ta först alla enkla uttryck som du kan svara sant eller falsk på och tilldela dessa till en variabel. I exemplet ovan skulle vi ha gjort följande tilldelningar: p=(x=3) q=(y=4) Ersätt sedan dessa uttryck med variablerna d.v.s. uttrycket ovan blir p or q Nästa steg blir att ersätta operatorerna or, and och not med motsvarande booleska operatorer d.vs or blir +,and blir * och not blir. Uttrycket ovan skulle alltså bli p+q. För mer komplicerade uttryck gör man likadant, men där kan antalet variabler bli många om man har otur. Ytterligare ett exempel: Antag programraden (x<3 or x=y+3 and x<3) or not z=x Låt p=x<3 q=(x=y+3) r=(z=x) alltså (p or q and p)or not r blir efter ersättning av operatorer (p+qp)+r (Kom ihåg regeln att q*p kan skrivas qp). Sanningstabeller I bland kan ett booleskt uttryck vara komplicerat och därför svår att få en överskådlig bild över. I dessa lägen brukar man använda sanningstabeller för att kunna avgöra i vilka lägen ett uttryck är sant eller falskt. I en sådan tabell brukar man börja med de enskilda variablerna för att sedan sätta i hop dessa till mer och mer komplicerade uttryck tills man når det uttryck man hade från början. Exempel : Gör en sanningstabell för p+q p q p+q Detta exempel är mycket elementärt och nyttan av sanningstabeller framgår inte tydligt eftersom det går lätt att utvärdera uttrycket i huvudet. Om vi i stället tar ett mer komplicerat uttryck kommer nyttan att framgå tydligare.

3 Exempel: Gör en sanningtabell för (p*q+p) +(p ) p q p*q p*q+p p (p*q+p) (p ) (p*q+p) + (p ) Som framgår av tabellen ovan är uttrycket sant för samtliga värdekombinationer av p och q om detta hade varit ett villkor i en program loop hade vi antingen hoppat över loopblocket helt eller snurrat för alltid i loopen men det hade varit svårt att se detta bara genom att titta på uttrycket. Bevis med hjälp av sanningstabeller Ett annat användningsområde för sanningstabeller är att vi kan använda dem för att bevisa att två olika booleska uttryck ger samma resultat. Exempel: Visa att (pq) =p +q p q p q pq (pq) p +q Som framgår av tabellen ovan ger (pq) samma resultat som p +q för samtliga tänkbara värden av p och q. Vi har alltså visat att (pq) =p +q. Detta bevissätt kan vara bra att kunna bland annat för att kontrollera att de reduceringar man gjort av ursprungliga uttryck verkligen är rätt.( se. Förenkling av booleska uttryck)

4 Förenkling av booleska uttryck I bland kan man råka ut för att ett uttryck är mer komplicerat än det behöver vara t.ex. kan man ha kommit fram till ett uttryck i sitt program genom att bara lägga till fler och fler uttryck till ett loop- eller vilkorsuttryck. Uttryck som konstruerats på detta sätt kan ofta förenklas. Boolesk algebra innehåller en hel del regler om hur man får förenkla dessa regler kan du se i bilaga 1 (Lägg särskiljt märke till reglerna 17 och 18. De kallas för de Morgans lagar och används ofta i tekniska sammanhang). Tabellen kan se lite begränsad ut men det är så att varje variabel kan bytas ut mot ett mer sammansatt uttryck. Som du kommer i håg från den vanliga algebran så kan man utveckla uttryck t.ex. om vi har uttrycket z=y+1 och y=x^2+x+1 så kan vi skriva z=x^2+x+1+1. På samma sätt är det med boolesk algebra t.ex. antag uttrycket p+1 och p= q+rq så kan vi skriva (q+rq)+1 och fortfarande få samma uttryck. Därför är förenklingsreglerna kraftfullare än man först tror. Hur går man då till väga? Låt oss börja med ett exempel och försöka att förenkla uttrycket (p*q+p) +(p ) ( Det är samma uttryck som vi använde för att konstruera en av sanningstabellerna ovan). Låt oss börja. (p*q+p) +(p ) = (p*q+p) +p = (1) ((p+p)*(p+q)) +p = (7) ((p+p) +(p+q) )+p = (17) (p +(p+q) )+p = (8) (p +p q )+p = (18) ((p +p )*(p +q ))+p = (7) (p *(p +q ))+p = (17) (p+p )*(p+(p +q ) = (7) 1*(p+(p +q ) = (14) p+(p +q ) = (11) (p+p ) + q = (4) 1+q = (14) 1 (13)

5 Resultatet är samma som vi kom fram till tidigare d.v.s. uttrycket är sant för samtliga värden som p och q kan anta. Värdena inom parenteser är de regler som används vid förenklingen. Man kan alltid kontrollera om en förenkling är riktig genom att konstruera en sanningstabell för det ursprungliga uttrycket och en sanningstabell för det den förenkling man kommit fram till och sedan jämföra resultaten av dessa tabeller om resultaten för uttrycken i de bägge tabellerna är lika är uttrycken det också och vi har kommit fram till ett korrekt resultat vid förenklingen. Metoden ovan garanterar inte att vi når ett minimalt uttryck men vi kommer åtminstone fram till ett mindre komplext uttryck och ju enklare ett uttryck är desto mindre är chanserna för att vi gör något fel när vi skall realisera det i ett programspråk. Vad som nu återstår för att behärska detta är övning och åter övning. Nedan finns ett antal övningsuppgifter som du kan börja med. För den som är intresserad av hur man når fram till ett minimalt uttryck hänvisar vi till litteratur om karnaugh-diagram, men detta är utanför denna kurs område. Övningar: Rita sanningstabell för följande booleska uttryck: a) (p+q)*r b) pqr c) ((p+q) *r ) + pq d) ((p+q)(p+r)) e) (p *q ) +(pq) Visa med hjälp av sanningstabell följande likheter. a) p+qr = (p+q)(p+r) b) p(q+r) = pq+pr c) (p+q) = p q Förenkla följande uttryck a) p( q +r)+q b) (pq)(p+q) c) ((p+q)(p+r)) d) (p *q ) +(pq) e) p qr + pq r + pqr + pqr Översätt och förenkla följande uttryck med hjälp av boolesk algebra. Efter förenkling översätt dem tillbaka till ursprungsspråket. a) x=1 and y=3 or x=1 and y=4 b) Minpost = i or Minpost = x and Minpost = i c) x<2 or y=3 and x<2 or y>3 d) not(not x=y or not (x=y and z<i or z<i)) or z<i

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra Logik F4 Logik Boolesk algebra EDAA05 Roger Henriksson Jonas Wisbrant Konsten att, och vetenskapen om, att resonera och dra slutsatser. Vad behövs för att man ska kunna dra en slutsats? Hur kan man dra

Läs mer

Logik och kontrollstrukturer

Logik och kontrollstrukturer Logik och kontrollstrukturer Flödet av instruktioner i ett programmeringsspråk bygger vi upp med hjälp av dess kontrollstrukturer. I C har vi exemplen if, if else, while, do while. Dessutom finns switch

Läs mer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett

Läs mer

Introduktion till logik

Introduktion till logik Introduktion till logik Av Johan Johansson Johan.johansson@guldstadsgymnasiet.se Logik sägs som många andra saker komma från de grekiska filosoferna, och ordet kommer också därifrån. Grekerna kallade det

Läs mer

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden. MATEMATISK LOGIK Matematisk logik formaliserar korrekta resonemang och definierar formellt bindeord (konnektiv) mellan påståenden (utsagor, satser) I matematisk logik betraktar vi påståenden som antingen

Läs mer

Logik. Dr. Johan Hagelbäck.

Logik. Dr. Johan Hagelbäck. Logik Dr. Johan Hagelbäck johan.hagelback@lnu.se http://aiguy.org Vad är logik? Logik handlar om korrekta och inkorrekta sätt att resonera Logik är ett sätt att skilja mellan korrekt och inkorrekt tankesätt

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Logikgrindar Från data till digitala byggblock: Kursens

Läs mer

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist

Switch. En switch har två lägen. Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten. Öppen. Symbol. William Sandqvist Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen = = Symbol S Implementering av logiska funktioner Switchen kan användas för att implentera logiska funktioner Power

Läs mer

MATEMATIKENS SPRÅK. Avsnitt 1

MATEMATIKENS SPRÅK. Avsnitt 1 Avsnitt 1 MATEMATIKENS SPRÅK Varje vetenskap, liksom varje yrke, har sitt eget språk som ofta är en blandning av vardagliga ord och speciella termer. En instruktionshandbok för ett kylskåp eller för en

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE24 F2 : Logiska Grindar och Kretsar, Boolesk Algebra william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB Kombinatoriska

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik George Boole och paraplyet F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant p = b! (s " r) George Boole (1815-1864) Professor i Matematik, Queens College, Cork, Irland 2 Exklusiv

Läs mer

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

System.out.println(Jaså du har + antalhusdjur+  husdjur); if ( antalhusdjur > 5 ) System.out.println(Oj det var många); 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

Styrteknik: Grundläggande logiska funktioner D2:1

Styrteknik: Grundläggande logiska funktioner D2:1 Styrteknik: Grundläggande logiska funktioner D2:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik: Grundläggande logiska funktioner

Läs mer

EDA Digital och Datorteknik 2010/2011

EDA Digital och Datorteknik 2010/2011 EDA45 - Digital och Datorteknik 2/2 EDA 45 - Digital och Datorteknik 2/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad

Läs mer

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Satslogik grundläggande definitioner Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar) Modeller, logisk konsekvens och ekvivalens Några notationella förenklingar Kompletta mängder

Läs mer

Föreläsning 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

Föreläsningsanteckningar och övningar till logik mängdlära

Föreläsningsanteckningar och övningar till logik mängdlära Inledande matematisk analys tma970, 010, logik, mängdlära Föreläsningsanteckningar och övningar till logik mängdlära Dessa öreläsningsanteckningar kompletterar mycket kortattat kap 0 och appendix B i Persson/Böiers,

Läs mer

JavaScript del 3 If, Operatorer och Confirm

JavaScript del 3 If, Operatorer och Confirm JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #3 Biträdande professor Jan Jonsson Instittionen för data- och informationsteknik Chalmers tekniska högskola Från data till digitala byggblock: Krsens inledande föreläsningarna

Läs mer

Övningar och datorlaborationer, Datorer i system

Övningar och datorlaborationer, Datorer i system LUNDS TEKNISKA HÖGSKOLA Datorer i system Institutionen för datavetenskap 2013/14 Övningar och datorlaborationer, Datorer i system Kursen Datorer i system inkluderar under läsperiod HT1 två övningar i seminariesal

Läs mer

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik DD1350 Logik för dataloger Fö 3 Satslogikens semantik 1 Kort repetition Satslogik formellt språk för att uttrycka påståenden med variabler och konnektiv /\, \/,, t.ex. p /\ q r 1 Kort repetition Naturlig

Läs mer

Kap. 7 Logik och boolesk algebra

Kap. 7 Logik och boolesk algebra Ka. 7 Logik och boolesk algebra Satslogik Fem logiska konnektiv: ej, och, eller, om-så, omm Begre: sats, sanningsvärde, sanningsvärdestabell tautologi, kontradiktion Egenskaer: Räkneregler för satslogik

Läs mer

Grundläggande digitalteknik

Grundläggande digitalteknik Grundläggande digitalteknik Jan Carlsson Inledning I den verkliga världen vet vi att vi kan få vilka värden som helst när vi mäter på något. En varm sommardag visar termometern kanske 6, 7 C. Men när det

Läs mer

Ekvationer och system av ekvationer

Ekvationer och system av ekvationer Modul: Undervisa matematik utifrån problemlösning Del 4. Strategier Ekvationer och system av ekvationer Paul Vaderlind, Stockholms universitet Ekvationslösning är ett av de viktiga målen i skolmatematiken.

Läs mer

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH

T1-modulen Lektionerna 10-12. Radioamatörkurs OH6AG - 2011 OH6AG. Bearbetning och översättning: Thomas Anderssén, OH6NT Heikki Lahtivirta, OH2LH T1-modulen Lektionerna 10-12 Radioamatörkurs OH6AG - 2011 Bearbetning och översättning: Thomas Anderssén, OH6NT Original: Heikki Lahtivirta, OH2LH 1 Logikkretsar Logikkretsarna är digitala mikrokretsar.

Läs mer

Repetition av matematik inför kurs i statistik 1-10 p.

Repetition av matematik inför kurs i statistik 1-10 p. Karlstads universitet Leif Ruckman Summasymbolen. Repetition av matematik inför kurs i statistik 1-10 p. I stället för att skriva en lång instruktion att vissa värden skall summeras brukar man använda

Läs mer

Följddiagram för händelsestyrda rörelser

Följddiagram för händelsestyrda rörelser Följddiagram för händelsestyrda rörelser 2 STYROBJEKT UNIKA FASER Två arbetscylindrar ska röra sig i följande ordning. När man ger startkommando ska kolvstången i cylinder gå ut. När den har nått sitt

Läs mer

DIGITALA TAL OCH BOOLESK ALGEBRA

DIGITALA TAL OCH BOOLESK ALGEBRA DIGITALA TAL OCH BOOLESK ALGEBRA Innehåll Talsystem och koder Aritmetik för inära tal Grundläggande logiska operationer Logiska grindar Definitioner i Boolesk algera Räknelagar BINÄRA TALSYSTEMET Binärt

Läs mer

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering

IE1205 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering IE25 Digital Design: F4 : Karnaugh-diagrammet, två- och fler-nivå minimering Mintermer 2 3 OR f En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som

Läs mer

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar

Moment 2 - Digital elektronik. Föreläsning 1 Binära tal och logiska grindar Moment 2 - Digital elektronik Föreläsning 1 Binära tal och logiska grindar Jan Thim 1 F1: Binära tal och logiska grindar Innehåll: Introduktion Talsystem och koder Räkna binärt Logiska grindar Boolesk

Läs mer

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind

Switchnätsalgebra. Negation, ICKE NOT-grind (Inverterare) Konjunktion, OCH AND-grind. Disjunktion, ELLER OR-grind Dagens öreläsning behandlar: Läroboken kapitel 3 Arbetsboken kapitel,3 Ur innehållet: Satslogik och Grindar Funktionstabell Binär evaluering Normal orm/förenklad orm/ Minimal orm Karnaughdiagram Negation,

Läs mer

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck

Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck KOMBINATORISK LOGIK Innehåll Definition av kombinatorisk logik Olika sätt att representera kombinatorisk logik Minimering av logiska uttryck Boolesk algebra Karnaugh-diagram Realisering av logiska funktioner

Läs mer

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0

Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) sann 1 falsk 0 1 Föreläsning 2 ht2 Hambley avsnitt 12.7 (7.3 för den som vill läsa lite mer om grindar) Lite om logiska operationer Logiska variabler är storheter som kan anta två värden; sann 1 falsk 0 De logiska variabler

Läs mer

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen.

Formella metoder. Loop-program som statetransformers. Betrakta följande problem. specifikationen. 8Att bevisa egenskaper om program Formella metoder... 1 Loop-program som statetransformers... 1 Några exempel... 2 Partiell korrekthet och total korrekthet... 3 Programspecifikation... 3 Hoarelogik och

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2015 Modeller Matematiska modeller Kontinuerliga modeller Kontinuerliga funktioner

Läs mer

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7

Andragradsekvationer. + px + q = 0. = 3x 7 7 3x + 7 = 0. q = 7 Andragradsekvationer Tid: 70 minuter Hjälpmedel: Formelblad. Alla andragradsekvationer kan skrivas på formen Vilket värde har q i ekvationen x = 3x 7? + E Korrekt svar. B (q = 7) x + px + q = 0 (/0/0)

Läs mer

EDA Digital och Datorteknik 2009/2010

EDA Digital och Datorteknik 2009/2010 EDA45 - Digital och Datorteknik 29/2 EDA 45 - Digital och Datorteknik 29/2, lärobokens kapitel 3 Ur innehållet: Satslogik och Boolesk algebra Grindar Funktionstabell Binär evaluering Normal orm/förenklad

Läs mer

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen:

Här är två korta exempel på situationer då vi tillämpar den distributiva lagen: Modul: Algebra Del 8: Avslutande reflektion och utvärdering Distributiva lagen Cecilia Kilhamn, Göteborgs Universitet Distributiva lagen a (b + c) = a b + a c Den distributiva lagen kallas den räknelag

Läs mer

Mintermer. SP-form med tre mintermer. William Sandqvist

Mintermer. SP-form med tre mintermer. William Sandqvist Mintermer OR f 2 3 En minterm är en produktterm som innehåller alla variabler och som anger den kombination av :or och :or som tillsammans gör att termen antar värdet. SP-form med tre mintermer. f = m

Läs mer

En introduktion till predikatlogik

En introduktion till predikatlogik rasmus.blanck@gu.se FT1200, LC1510 och LGFI52 VT2017 (Premiss 1) (Premiss 2) (Slutsats) Alla människor är dödliga Sokrates är en människa Sokrates är dödlig Detta argument är intuitivt giltigt: Det finns

Läs mer

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet

Formell logik Kapitel 3 och 4. Robin Stenwall Lunds universitet Formell logik Kapitel 3 och 4 Robin Stenwall Lunds universitet Kapitel 3: De Booleska konnektiven Vi sade att predikaten och namnen kan variera mellan olika FOL Vi ska nu titta på några språkliga element

Läs mer

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

Läs mer

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES

IE1205 Digital Design. F2 : Logiska Grindar och Kretsar, Boolesk Algebra. Fredrik Jonsson KTH/ICT/ES IE1205 Digital Design F2 : Logiska Grindar och Kretsar, oolesk Algebra Fredrik Jonsson KTH/ICT/ES fjon@kth.se Switch En switch har två lägen Sluten/Till (Closed/On) Öppen/Från (Open/Off) Sluten Öppen x

Läs mer

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är

En villkorssats är den konstruktion som finns i C++ för att göra en selektion av två alternativa sekvenser. Formen för if satsen är 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

Konsten att lösa icke-linjära ekvationssystem

Konsten att lösa icke-linjära ekvationssystem Konsten att lösa icke-linjära ekvationssystem Andreas Axelsson Vi beskriver här de grundläggande teknikerna för att lösa icke-linjära ekvationssystem. Detta är en nödvändig kunskap för att kunna lösa diverse

Läs mer

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan.

Sats. Om t är en rätvinklig triangel så är summan av kvadraterna på kateterna i t lika med kvadraten på hypotenusan. Lunds tekniska högskola Datavetenskap Lennart Andersson Föreläsningsanteckningar EDAF10 3 Predikatlogik 3.1 Motivering I satslogiken är de minsta beståndsdelarna satslogiska variabler som kan anta värdena

Läs mer

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

Quine McCluskys algoritm

Quine McCluskys algoritm Quine McCluskys algoritm Tabellmetod för att systematiskt finna alla primimplikatorer ƒ(a,b,c,d) = m(4,5,6,8,9,0,3) + d(0,7,5) Moment : Finn alla primimplikatorer Steg: Fyll i alla mintermer i kolumn.

Läs mer

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1

Laboration D181. ELEKTRONIK Digitalteknik. Kombinatoriska kretsar, HCMOS. 2008-01-24 v 2.1 UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Christer Ardlin/Lars Wållberg/ Dan Weinehall/Håkan Joëlson 2008-01-24 v 2.1 ELEKTRONIK Digitalteknik Laboration D181 Kombinatoriska kretsar,

Läs mer

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar

DIGITALTEKNIK I. Laboration DE1. Kombinatoriska nät och kretsar UMEÅ UNIVERSITET Tillämpad fysik och elektronik Digitalteknik Björne Lindberg/Håkan Joëlson John Berge 2013 DIGITALTEKNIK I Laboration DE1 Kombinatoriska nät och kretsar Namn... Personnummer... Epost-adress...

Läs mer

Övningshäfte 1: Logik och matematikens språk

Övningshäfte 1: Logik och matematikens språk GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter

Läs mer

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Formell logik Kapitel 9. Robin Stenwall Lunds universitet Formell logik Kapitel 9 Robin Stenwall Lunds universitet Kapitel 9: Introduktion till kvantifiering Vi har hittills betraktat logiska resonemang vars giltighet enbart beror på meningen hos konnektiv som

Läs mer

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är PASS 7. EKVATIONSLÖSNING 7. Grundbegrepp om ekvationer En ekvation säger att två matematiska uttryck är lika stora. Ekvationen har alltså ett likhetstecken och två deluttryck på var sin sida om likhetstecknet.

Läs mer

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

Hur implementera algoritmerna på maskinnivå - datorns byggstenar Hur implementera algoritmerna på maskinnivå - datorns byggstenar Binära tal Boolesk logik grindar och kretsar A A extern representation intern representation minnet i datorn extern representation 1000001

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter

TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter TATM79: Föreläsning 1 Notation, ekvationer, polynom och olikheter Johan Thim 15 augusti 2015 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför

Läs mer

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler

Normalisering av meningar inför resolution 3. Steg 1: Eliminera alla och. Steg 2: Flytta alla negationer framför atomära formler Normalisering av meningar inför resolution På samma sätt som i satslogiken är resolution i predikatlogiken en process vars syfte är att vederlägga att en klausulmängd är satisfierbar. Det förutsätter dock

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

Digital Design IE1204

Digital Design IE1204 Digital Design IE24 F4 Karnaugh-diagrammet, två- och fler-nivå minimering william@kth.se IE24 Digital Design F F3 F2 F4 Ö Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK LAB

Läs mer

Diskret matematik: Övningstentamen 4

Diskret matematik: Övningstentamen 4 Diskret matematik: Övningstentamen 22. Beskriv alla relationer, som är såväl ekvivalensrelationer som partiella ordningar. Är någon välbekant relation sådan? 23. Ange alla heltalslösningar till ekvationen

Läs mer

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik

IT OCH PROGRAMMERING I SKOLAN. Jan Erik Moström Peter Vinnervik IT OCH PROGRAMMERING I SKOLAN Jan Erik Moström Peter Vinnervik VILKA ÄR VI OCH VAD KOMMER VI ATT PRATA OM? Jan Erik Moström - undervisar på institutionen för datavetenskap Peter Vinnervik - doktorand vid

Läs mer

7, Diskreta strukturer

7, Diskreta strukturer Objektorienterad modellering och diskreta strukturer 7, Diskreta strukturer Sven Gestegård Robertz Datavetenskap, LTH 2013 1 Inledning 2 Satslogik Inledning Satslogiska uttryck Resonemang och härledningar

Läs mer

ALGEBRA. För att få betyg GODKÄND på avsnittet Algebra krävs att du klarar denna typ av uppgifter:

ALGEBRA. För att få betyg GODKÄND på avsnittet Algebra krävs att du klarar denna typ av uppgifter: MATEMATIK åk 8 ALGEBRA Per Malkert Fredriksdalsskolan Helsingborg För att få betyg GODKÄND på avsnittet Algebra krävs att du klarar denna typ av uppgifter: 1. Beräkna värdet av uttrycket: 3x + y för x=3

Läs mer

Objektorienterad programmering Föreläsning 4

Objektorienterad programmering Föreläsning 4 Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion

Läs mer

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet

Läs mer

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581 Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-

Läs mer

IE1204 Digital Design

IE1204 Digital Design IE1204 Digital Design F1 F3 F2 F4 Ö1 Booles algebra, Grindar MOS-teknologi, minimering F5 F6 Ö2 Aritmetik Ö3 KK1 LAB1 Kombinatoriska kretsar F7 F8 Ö4 F9 Ö5 Multiplexor KK2 LAB2 Låskretsar, vippor, FSM

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer 2 2.1 Domäner... 2 2.2 Tolkningar... 3 Föreläsning 2 Semantik 729G06 Logikdelen Föreläsningsanteckningar i Programmering och logik 27 januari 2014 Tommy Färnqvist, IDA, Linköpings universitet 2.1 Innehåll Innehåll 1 Lite mer syntax 1 2 Strukturer

Läs mer

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera Föreläsning 2 Variabler, tilldelning och kodblock if-satsen Logiska operatorer Andra operatorer Att programmera Variabler Det är i variabler som all data (information) lagras. Genom att ändra värde på

Läs mer

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor

TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor TATM79: Föreläsning 1 Notation, ekvationer, polynom och summor Johan Thim 22 augusti 2018 1 Vanliga symboler Lite logik Implikation: P Q. Detta betyder att om P är sant så är Q sant. Utläses P medför Q

Läs mer

Tentamen EDAA05 Datorer i system

Tentamen EDAA05 Datorer i system LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen EDAA05 Datorer i system 2011 10 17, 8.00 13.00 Tillåtna hjälpmedel: bifogad formel- och symbolsamling. För godkänt betyg på tentamen

Läs mer

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2

2.1 Variabler. 2.2 Regler för namngivning i C. Programmering, grundkurs, 8.0 hp, Elektro, KTH, hösten Föreläsning 2 Föreläsning 2 2.1 Variabler Vi studerar exempel 1 från boken: int main(void) int a,b,c=7; float antal,pris=3.70,laengd; a=34; b=32767; antal=-123.978; pris=89.00; laengd=56; c=-38; laengd=laengd+1; Sex

Läs mer

Tentamen i. TDDC67 Funktionell programmering och Lisp

Tentamen i. TDDC67 Funktionell programmering och Lisp 1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering

Läs mer

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion

Multipel tilldelning. Introduktion till programmering D0009E. Föreläsning 6: Iteration. while-satsen. Kom ihåg. Snurror kontra rekursion Introduktion till programmering D0009E Föreläsning 6: Iteration Multipel tilldelning Helt ok att tilldela en variabel flera gånger: bruce = bruce, bruce = 7 bruce Output: 7 Som tillståndsdiagram: bruce

Läs mer

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 729G06 Logik FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS 160208 Idag C-regeln, informell (och formell) inledning till predikatlogik (Bevis kommer senare.) 2 3 Vår (Snöfritt Cykla) (Vår Snöfritt) Cykla Lätt

Läs mer

Grundläggande logik och modellteori (5DV102)

Grundläggande logik och modellteori (5DV102) Tentamen 2014-01-10 Grundläggande logik och modellteori (5DV102) M. Berglund och K. Markström Totalt antal uppgifter 10 Maximalt antal poäng 30 Krav för 3 i betyg 1 Krav för 4 i betyg 19 poäng, vara minst

Läs mer

Lösningsförslag till tentamen i Digitalteknik, TSEA22

Lösningsförslag till tentamen i Digitalteknik, TSEA22 Försättsblad till skriftlig tentamen vid Linköpings universitet, Datorteknik, ISY (4) Lösningsförslag till tentamen i Digitalteknik, TSEA Datum för tentamen 3009 Salar U4, U7, U0 Tid 4.00-8.00 Kurskod

Läs mer

Jesper Carlström 2008 (reviderad 2009)

Jesper Carlström 2008 (reviderad 2009) Jesper Carlström 2008 (reviderad 2009) Jesper Carlström Matematiska institutionen Stockholms universitet 106 91 Stockholm http://www.math.su.se/ jesper/logikbok/ c 2009 Jesper Carlström Typsatt av L A

Läs mer

Formell logik Kapitel 7 och 8. Robin Stenwall Lunds universitet

Formell logik Kapitel 7 och 8. Robin Stenwall Lunds universitet Formell logik Kapitel 7 och 8 Robin Stenwall Lunds universitet Kapitel 7: Konditionalsatser Kapitlet handlar om konditionalsatser (om-så-satser) och deras logik Idag: bevismetoder för konditionalsatser,

Läs mer

Grundläggande logik och modellteori

Grundläggande logik och modellteori Grundläggande logik och modellteori Kapitel 6: Binära beslutsdiagram (BDD) Henrik Björklund Umeå universitet 22. september, 2014 Binära beslutsdiagram Binära beslutsdiagram (Binary decision diagrams, BDDs)

Läs mer

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik DD1350 Logik för dataloger Fö 7 Predikatlogikens semantik 1 Kryssprodukt av mängder Om A och B är två mängder så är deras kryssprodukt A B mängden av alla par (a,b), där a A och b B. Ex: A={1,2}, B={3,4},

Läs mer

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19 Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium IV v. 2.0, den 29/4 2013 III. Metalogik 17-19 Modeller för satslogiken 18.1 Vi har tidigare sagt att en modell är en tolkning av en teori

Läs mer

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. TAIU07 Föreläsning 3 Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter. 27 januari 2016 Sida 1 / 21 Logiska variabler

Läs mer

Exempel på ett litet Ada-program

Exempel på ett litet Ada-program Exempel på ett litet Ada-program -- En kommentar som beskriver något. with Ada.Text_IO; procedure Mini is -- Deklarationer. K : constant Integer := 5; X, Y : Integer; -- Körbar kod. Ada.Text_IO.Put( Utskrift

Läs mer

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera Föreläsning 2 Operatorer Tilldelning Kodblock if satsen Logiska uttryck Att programmera En operator tar ett eller två data och producerar ett svar. Typexemplet är +. Den tar t.ex två heltal och producerar

Läs mer

Digitala system EDI610 Elektro- och informationsteknik

Digitala system EDI610 Elektro- och informationsteknik Digitala system EDI610 Elektro- och informationsteknik Digitala System EDI610 Aktiv under hela första året, höst- och vår-termin Poäng 15.0 Godkännande; U,3,4,5 Under hösten i huvudsak Digitalteknik Under

Läs mer

Induktion, mängder och bevis för Introduktionskursen på I

Induktion, mängder och bevis för Introduktionskursen på I Induktion, mängder och bevis för Introduktionskursen på I J A S, ht 04 1 Induktion Detta avsnitt handlar om en speciell teknik för att försöka bevisa riktigheten av påståenden eller formler, för alla heltalsvärden

Läs mer

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist

Maurice Karnaugh. Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! William Sandqvist Maurice Karnaugh Karnaugh-diagrammet gör det enkelt att minimera Boolska uttryck! En funktion av fyra variabler a b c d Sanningstabellen till höger innehåller 11 st 1:or och 5 st 0:or. Funktionen kan uttryckas

Läs mer

Matematiska uppgifter

Matematiska uppgifter Elementa Årgång 67, 984 Årgång 67, 984 Första häftet 3340. a) Vilket av talen A = 984( + + 3 + + 984 ) är störst? b) Vilket av talen B 3 = 3 + 3 + 3 3 + + 984 3 är störst? A / = 984( + + 3 + + 984) B =

Läs mer

Uttryck och villkor. Föreläsning 2

Uttryck och villkor. Föreläsning 2 Uttryck och villkor Föreläsning 2 Dagens kluring Finn fem fel! #include int main(void) printf("resistans hos R1 (ohm) : ") scanf("%d",r1); printf("resistans hos R2 (ohm) : "); scanf("%d",r2);

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

Efternamn förnamn pnr programkod

Efternamn förnamn pnr programkod KTH Matematik Examinator: Petter Brändén Kursansvarig: Olof Sisask Σ p G/U bonus Efternamn förnamn pnr programkod Kontrollskrivning 4B till Diskret Matematik SF6, för CINTE, vt28 Inga hjälpmedel tillåtna.

Läs mer

Föreläsning 3: Ekvationer och olikheter

Föreläsning 3: Ekvationer och olikheter Föreläsning 3: Ekvationer och olikheter En ekvation är en likhet som innehåller en flera obekanta storheter. Exempel: x = 9, x är okänd. t + t + 1 = 7, t är okänd. Vi säger att ett värde på den obekanta

Läs mer

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW *USS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW 8SSJLIW Här kommer några teoretiska frågor, skriv svaren med egna ord, dvs skriv inte av ohbilderna: a. Vad är en beslutsprocedur? En algoritm som terminerar och som

Läs mer

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692 Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...

Läs mer

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Lektion 8: Konstruktion av semantiska tablåer för PTL-formler Till denna lektion hör uppgift 2, 6 och 0 i lärobokens avsnitt.6 (sid. 255). Lös uppgift 2 genom att konstruera en semantisk tablå. Följande

Läs mer