Malmö högskola 2012/2013 Teknik och samhälle



Relevanta dokument
Föreläsning 6. pseudokod problemlösning logik algoritmer

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

Hur jag lärde mig att älska Datavetenskap

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

SVENSKA Inplaceringstest A

Lär dig programmera! Prova på programmering med enkla exempel! Björn Regnell

Föreläsning 1 & 2 INTRODUKTION

Ja jag la bort den sa mamma. Den ligger i mitt rum sa mamma. Kan du vara kvar i luren? En liten stund sa mamma. Men pappa är ju borta i en månad och

STADSLEDNINGSKONTORET

F4. programmeringsteknik och Matlab

En introduktion till predikatlogik

Programmering för språkteknologer II, HT2014. Rum

Logik: sanning, konsekvens, bevis

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

SVENSKA Inplaceringstest A

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Övning2. Variabler. Data typer

Översikt 732G11 PROGRAMMERING 1. Personal. Kursens mål. Litteratur. Kursens innehåll

FÅR JAG GIFTA MIG MED VEM JAG VILL?

JAVAUTVECKLING LEKTION 4

7, Diskreta strukturer

Om barns och ungas rättigheter

Logik och kontrollstrukturer

DISC test Översatt till svenska

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

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

1. Sammanfatta. 2. Summera. 3. Hemuppgiften. 4. Läs! 5. Arbeta med! 6. Sammanfatta. Session 6. Datum: kortfattat föregående session

Malmö högskola 2007/2008 Teknik och samhälle

Prov svensk grammatik

DD1350 Logik för dataloger. Fö 2 Satslogik och Naturlig deduktion

Tommy Färnqvist, IDA, Linköpings universitet. 1 Kursadministration 1. 2 Introduktion Varför logik? Satslogik... 2

Tentamen , Introduktion till Java, dtaa98, dtea53

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

UGGLEPOSTEN 2011:1 ANSVARIG UTGIVARE: DANIEL GAUSEL

Ta vara på tiden, du är snabbt "för gammal" för att inte behöva ta ansvar.

FTEA12:2 Filosofisk metod. Att värdera argumentation I

Laboration A Objektsamlingar

Min bok. När mamma, pappa eller ett syskon är sjuk

Lgr 11 Centralt innehåll och förmågor som tränas:

Yasin El Guennouni NV3A, Tensta Gymnasium

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Importera utskriftsinställningar och Tips och tricks för Disgen 8.2d

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

Grundläggande logik och modellteori (5DV102)

Kap. 7 Logik och boolesk algebra

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Semantik och pragmatik (Serie 3)

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Jag heter Max Andersson. Jag jobbar på B.U. PAC. Sandbackevägen 1 är där jag bor.

Semantik och pragmatik

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

Föreläsning 1 & 2 INTRODUKTION

Nivå 1 ANKOMST. Har du bagage? Ja, jag har en ryggsäck och en stor väska. Ok, Jag tar väskan och du tar ryggsäcken, okay?

FTEA12:2 Filosofisk Metod. Grundläggande argumentationsanalys II

Tentamen. Lösningsförslag

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Kontraktsprogrammering

Viktiga Personer I mitt Liv (VIPIL)

Tentamen, EDA501 Programmering M L TM W K V

Introduktion till Datalogi DD1339. Föreläsning 3 29 sept 2014

Övning 1: Vad är självkänsla?

Santos hade precis avslutat träningen med ungdomslaget när tränaren kom och kallade på honom.

Uttryck och villkor. Föreläsning 2

Malmö högskola 2008/2009 CTS

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Objektorienterad Programmering (TDDC77)

Översikt MERA JAVA OCH ECLIPSE. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning. Uttryck och tilldelning

Killen i baren - okodad

Malmö högskola 2007/2008 Teknik och samhälle

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

Lenas mamma får en depression

Sexårskören 2015 Min vän i Rymden Sångtexter

PISA 2003 ENKÄT OM INFORMATIONS- OCH KOMMUNIKATIONS- TEKNOLOGI

Jag ritar upp en modell på whiteboard-tavlan i terapirummet.

SMD 134 Objektorienterad programmering

Vokalprogrammet Sara Wiberg Hanna Hägerland

Hörmanus. 1 Ett meddelande. A Varför kommer hon för sent? B Vem ska hon träffa?

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: Skola: DSV

Spinderella Tarantella 1 - en dramatisering

MASKERADKOSTYMER BONDGÅRD

En vanlig dag på jobbet

Sanningar om programmering

- Jag bor i ett hus tillsammans med min man, min. son och min dotter. Huset är gammalt, men^vi har. :om mycket. Vi har också en stor trädgård.

JavaScript del 3 If, Operatorer och Confirm

Chapter 3: Using Classes and Objects

GUD ÄLSKAR DIG! Gud älskar Dig och har skapat Dig till att känna Honom personligen.

INDISKA BERÄTTELSER DEL 8 MANGOTRÄDET av Lena Gramstrup Olofgörs intervju och berättelse. Medverkande: Arvind Chander Pallavi Chander

1 december B Kära dagbok!

BARNANPASSAD ÅTERGIVNING AV PSYKOLOGUTREDNING

Objektorienterad programmering D2

Planering: del 1 Tider: 16:00-18:00. Du får låna böckerna Nya mål 3 och Övningsbok mot en depositionsavgift på 100 kr. Du får INTE skriva i böckerna.

Ha rätt sorts belöning. Åtta tips för bästa sätt hur du tränar din hund. Grunden till all träning:

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

Den magiska dörren. Kasper Lindström

Klasser i Java kan ha metoder och egenskaper. Metoder beskriver funktioner som klassen kan utföra. Egenskaper beskriver innehållet i klassen.

Kritiskt tänkande HTXF04:3 FTEB05. Grundläggande semantik II

En introduktion till logik

Transkript:

Laboration 6 Till pseudokoduppgifterna och aktivitetsdiagrammen ges inga direkta lösningar då dessa går att göra på så väldigt många olika sätt. Pseudokod Skriv pseudokod för följande problem Åka tåg Du står på en perrong och väntar på ett tåg till Göteborg. När tåget till Göteborg kommer så går du på närmsta vagn. Om det är restaurangvagnen så tar du en kopp kaffe innan du letar upp din plats. Du har plats 33 i vagn 6. Tänk på vilka frågor som uppstår. Exempelvis börjar du leta efter din plats i ena änden av tåget eller ej och vad du gör om du kommit till änden av tåget utan att hitta din plats? Slå upp ett ord Du skall slå upp ordet logik i ett lexikon. Du får inte använda dig av metoden att läsa alla ord från början utan öppnar lexikonet på mitten och ser om du skall gå framåt eller bakåt och upprepar detta för den kvarvarande delen tills du är på rätt sida och då kan du läsa ord för ord. Vilka skillnader uppstår om vi förutsätter att ordet finns eller om vi inte förutsätter att det finns? Jämföra tre tal Du ska göra ett datorprogram som frågar användaren efter tre tal. Programmet ska sedan svara vilket av dessa tre tal som är störst. Skriv pseudokod för din algoritm för att hitta det största talet. Fungerar din strategi även för fyra tal? Aktivitetsdiagram Laga middag Gör ett aktivitetsdiagram över att laga köttbullar med kokt potatis. Vilka aktiviteter kan göras samtidigt? Vilka måste följa på varandra? Jämföra tre tal Du ska göra ett datorprogram som frågar användaren efter tre tal. Programmet ska sedan svara vilket av dessa tre tal som är störst. Rita ett aktivitetsdiagram över hur datorn skulle gå till väga för att hitta det största talet. (Fungerar din strategi även för fyra tal?) DA129A Programmering 1 1

Satslogik Använd bladet som sammanfattar satslogik som finns i it s learning, under Studiematerial 6, i filen Satslogik.pdf. Uppgift 1 Översätt följande meningar a-d till satslogik. Vissa meningar kan ha fler än en möjlig tolkning. Ex1 Om du sköter dig så får du bra betyg. p = Du sköter dig. q = Du får bra betyg. Översättning: p q Ex2 Om jag inte svarar i telefon så är jag antingen inte hemma eller så ligger jag i badet. p = Jag svarar i telefon. q = Jag är hemma. r = Jag ligger i badet. Översättning: p (( q v r)& ( q&r)) a) Det regnar och blåser varje dag. b) Programmering är ibland svårt men alltid roligt. c) Oavsett om mina föräldrar tillåter mig att gå på festen så går jag. d) Om du gör något fuffens åker du fast och hela din framtid är förstörd. Uppgift 2 Avgör vilka av följande satser som betyder det samma? a) Det är inte så att Per kommer och Eva inte stannar hemma. b) Per kommer inte, eller så stannar Eva hemma. c) Om Per inte kommer, så stannar Eva inte hemma. Uppgift 3 Avgör vilka slutledningar som är satslogiskt giltiga. En satslogiskt giltig slutledning betyder att om premisserna är sanna så måste också slutsatsen vara sann. En giltig slutsats följer någon av de reglerna som finns beskrivna på satslogikpappret. Ex3 Om Olle har varit snäll, så får han en karamell. Olle har inte varit snäll. Slutsats: Olle får ingen karamell. p = Olle är snäll. q = Olle får en karamell. p q p q är ingen giltig slutledning a) Om Alice älskar Rudolf, så gifter hon sig med honom. Alice gifter sig med Rudolf. Slutsats: Alice älskar Rudolf. DA129A Programmering 1 2

b) Hunden skäller om det kommer någon. Hunden skäller inte. Slutsats: Det kommer inte någon. c) Om inte Matilda har ärvt så har hon vunnit på lotteri. Hon har inte vunnit på lotteri. Slutsats: Hon har ärvt. d) Algot har stulit, eller också har han vunnit på tips. Han har vunnit på tips. Slutsats: Han har inte stulit. e) Om du inte har sovit mer än fyra timmar blir du trött. Om du blir trött blir du på dåligt humör. Slutsats: Om du inte blir på dåligt humör så har du alltså sovit mer än fyra timmar. f) Om du inte är galen kan du inte få marktjänst. Du kan inte få marktjänst om du inte anhåller om marktjänst. Om du anhåller om marktjänst så är du inte galen. Slutsats: Du kan inte få marktjänst ( Catch 22 ) g) Om industritjänstemännen går i strejk fungerar inte industrin. Antingen fungerar industrin eller så ökar inte exporten. Exporten ökar. Slutsats: Industritjänstemännen går inte i strejk. Uppgift 4 Bevisa följande satslogiska lagar med hjälp av sanningsvärdestabeller. a) De Morgans lagar: (p &q) p v q (p v q) p & q b) Disjunktiv utbytesregel: p v q p q Uppgift 5 I ett java program finns det fyra variabler av typen boolean: medlem, ärförst, nykund, betalträkningar. Variabler av typen boolean kan anta värdena true eller false Avgör för vilka värden på variablerna som utskriften Hej! sker. (Du kan använda en sanningsvärdestabell.) a) if (!medlem) b) if (medlem &&!nykund) c) if (!medlem!nykund) DA129A Programmering 1 3

d) if (medlem && (ärförst nykund) e) if ((!medlem && betalträkningar) (nykund &&!betalträkningar)) f) if ((ärförst!medlem) && ( betalträkningar medlem)) System.out.println( Hej då! ); else DA129A Programmering 1 4

Lösningsförslag Uppgift 1 a) Det regnar och blåser varje dag. p = Det regnar varje dag. q = Det blåser varje dag. Översättning: p& q b) Programmering är ibland svårt men alltid roligt. p = Programmering är svårt. q = Programmering är roligt. Översättning: q c) Oavsett om mina föräldrar tillåter mig att gå på festen så går jag. p = Mina föräldrar tillåter mig att gå på fest. q = Jag går på fest. Översättning: q d) Om du gör något fuffens åker du fast och hela din framtid är förstörd. p = Du gör något fuffens. q = Du åker fast. r = Hela din framtid är förstörd. Översättning: p (q & r) Uppgift 2 Avgör vilka av följande satser som betyder det samma. a) Det är inte så att Per kommer och Eva inte stannar hemma. b) Per kommer inte, eller så stannar Eva hemma. c) Om Per inte kommer, så stannar Eva inte hemma. p = Per kommer. q = Eva stannar hemma. Både a) och b) kan översättas till: p v q medan c) kan översättas till q p vilket inte är de samma som a) och b). Uppgift 3 a) Om Alice älskar Rudolf, så gifter hon sig med honom. Alice gifter sig med Rudolf. Slutsats: Alice älskar Rudolf. p = Alice älskar Rudolf. q = Alice gifter sig med Rudolf. p q q Ingen slutledning kan göras. DA129A Programmering 1 5

b) Hunden skäller om det kommer någon. Hunden skäller inte. Slutsats: Det kommer inte någon. p = Hunden skäller. q = Det kommer någon. q p p q c) Om inte Matilda har ärvt så har hon vunnit på lotteri. Hon har inte vunnit på lotteri. Slutsats: Hon har ärvt. p = Matilda har ärvt. q = Matilda har vunnit på lotteri. p q q p d) Algot har stulit, eller också har han vunnit på tips. Han har vunnit på tips. Slutsats: Han har inte stulit. p = Algot har stulit. q = Algot har vunnit på tips. (p v q)& ( (p&q)) q p e) Om du inte har sovit mer än fyra timmar blir du trött. Om du blir trött blir du på dåligt humör. Slutsats: Om du inte blir på dåligt humör så har du alltså sovit mer än fyra timmar. p = Du har sovit mer än fyra timmar. q = Du blir trött. r = Du blir på dåligt humör. p q q r r p DA129A Programmering 1 6

f) Om du inte är galen kan du inte få marktjänst. Du kan inte få marktjänst om du inte anhåller om marktjänst. Om du anhåller om marktjänst så är du inte galen. Slutsats: Du kan inte få marktjänst ( Catch 22 ) p = Du är galen. q = Du kan få marktjänst. r = Du anhåller om marktjänst. p q r q r p q g) Om industritjänstemännen går i strejk fungerar inte industrin. Antingen fungerar industrin eller så ökar inte exporten. Exporten ökar. Slutsats: Industritjänstemännen går inte i strejk. p = Industritjänstemännen går i strejk. q = Industrin fungerar. r = Exporten ökar. p q (q v r)& ( (q& r)) r p Uppgift 4 Bevisa följande satslogiskalagar med hjälp av sanningsvärdestabeller. s= sant och f=falskt a) De Morganslag 1: (p &q) _ p v q p q p q (p &q) (p &q) p v q (p &q) p v q s s f f s f f s s f f s f s s s f s s f f s s s f f s s f s s s De Morganslag 2: (p v q) p & q p q p q (p vq) (p vq) p & q (p vq) p v& q s s f f s f f s s f f s s f f s f s s f s f f s f f s s f s s s DA129A Programmering 1 7

b) Disjunktiv utbytesregel: p v q p q p q p p v q p q p v q p q s s F s s s s f F f f s f s S s s s f f S s s s Uppgift 5 I ett java program finns det fyra variabler av typen boolean: medlem, ärförst, nykund, betalträkningar. Variabler av typen boolean kan anta värdena true eller false Avgör för vilka värden på variablerna som utskriften Hej! sker. (Du kan använda en sanningsvärdestabell.) a) if (!medlem) Programmet skriver ut Hej! när medlem=false. b) if (medlem &&!nykund) Programmet skriver ut Hej! när medlem=true och nykund=false. c) if (!medlem!nykund) Programmet skriver alltid ut Hej! utom när både medlem=true och nykund=true. d) if (medlem && (ärförst nykund) Programmet skriver ut Hej! när både medlem=true och ärförst=true eller både medlem=true och nykund=true. e) if ((!medlem && betalträkningar) (nykund &&!betalträkningar)) Programmet skriver ut Hej! när både medlem=false och betalträkning=true eller både nykund=true och betalträkning=false. DA129A Programmering 1 8

f) if ((ärförst!medlem) && ( betalträkningar medlem)) System.out.println( Hej då! ); else Programmet skriver ut Hej! när både medlem=true och ärförst=false eller både betalträkning=false och medlem=false. DA129A Programmering 1 9