Föreläsningsmaterial (Logik, if-satsen & iteration)

Relevanta dokument
Föreläsningsmaterial (Syntax och variabler)

JAVAUTVECKLING LEKTION 4

Föreläsning 3. Iteration while-satsen

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 3-4 Innehåll

Instuderingsfrågor, del B

Föreläsning 7. for-satsen Fält

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Lösningsförslag: Instuderingsfrågor, del A

Övning2. Variabler. Data typer

Iteration while-satsen

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

for-satsen Fält for-satsen Föreläsning 8 (OH-bilder 7) for-satsen for-sats är en styrsats för iterationer. for-sats har följande generella utseende:

[] Arrayer = Indexerad variabel

Lite logik. Kap 6: Sid 2

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Föreläsning 1 & 2 INTRODUKTION

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Föreläsning 3. Iteration. while-satsen for-satsen do-satsen

Tentamen , Introduktion till Java, dtaa98, dtea53

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Datastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada

Variabler och konstanter

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

F4. programmeringsteknik och Matlab

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

Objektorienterad programmering

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

Iteration. Föreläsning 3. TDA540 - Objektorienterad Programmering

Instuderingsfrågor, del A

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Innehållsförteckning

Visual Basic, en snabbgenomgång

"if"-satsen. Inledande programmering med C# (1DV402)

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Lösningsförslag till tentamen

Kursplanering för EE3D i kursen Programmering 1, 100p.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Programmering för språkteknologer I, VT2012. Rum

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

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

Programmering A. Johan Eliasson

Programmeringsteknik I

Tentamen , Grundläggande programmering i Java

OOP Tenta

Föreläsning 3. Föreläsning 3. Iteration. while-satsen for-satsen do-satsen. while-satsen. do-satsen. Datatypen double

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

Föreläsning 2 Programmeringsteknik och Matlab DD1312. Programspråk. Utskrift på skärmen

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 1 & 2 INTRODUKTION

Föreläsning 2 Programmeringsteknik och C DD1316

Numeriska Metoder och Grundläggande Programmering för P1, VT2014

Exempel på ett litet Ada-program

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

2D1342 Programkonstruktion för F1, ht 2006

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Att skriva till och läsa från terminalfönstret

Lektion 1 Introduktion till DrJava och Java

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

Beräkningsvetenskap föreläsning 2

4.4 Swing ett interaktivt grafiskt gränssnitt

Tentamen OOP

Lösningsförslag till tentamen

Kompilera och exekvera Javakod

Föreläsning REPETITION & EXTENTA

6.5 Spelserien Gissa tal

Tentamen. Lösningsförslag

Övningsuppgift 2 Datalogi I 2I1027/2I1035/2I1046

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Arrayer med primitiva datatyper

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

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

OOP Omtenta

Lösningsförslag till tentamen

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

SMD 134 Objektorienterad programmering

Metodanrop - primitiva typer. Föreläsning 4. Metodanrop - referenstyper. Metodanrop - primitiva typer

Lösningsförslag till tentamen

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Föreläsning 8. Klassen String Mer om fält Klassen ArrayList

Laboration 1. Objektorienterad programmering, Z1. Syfte

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Python. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.

Objektorienterad Programmering (TDDC77)

Logik och kontrollstrukturer

Idag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.

JAVAUTVECKLING LEKTION 3

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Data, typ, selektion, iteration

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

Transkript:

Föreläsningsmaterial (Logik, if-satsen & iteration) Logiska uttryck och boolska variabler Relationsoperatorer i Java Relationsoperatorer i java Lika med == Ej lika med!= Större än > Större än eller lika med >= Mindre än < Mindre än eller lika med <= Logiska operatorer i Java Logiska operatorer i java OCH && ELLER ICKE! Logik_1.java class Logik_1 //Data om en bil boolean registrerad; boolean laglig; registrerad = true; /* Variabeln laglig tilldelas värdet sant (true) om det är sant att bilen är registrerad. laglig = registrerad; System.out.println("Bilen får framföras på allmän väg: " + laglig); Logik_2.java class Logik_2 //Data om en bil boolean registrerad; boolean korforbud; boolean laglig; registrerad = true; korforbud = true;

/* Variabeln laglig tilldelas värdet sant (true) om bilen är registrerad OCH (&&) om den INTE (!) är belagd med körförbud. laglig = registrerad &&!korforbud; System.out.println("Bilen får framföras på allmän väg: " + laglig); Logik_3.java class Logik_3 //Data om en bil boolean registrerad; boolean korforbud; boolean tillstand; boolean laglig; registrerad = true; korforbud = true; tillstand = true; /* Variabeln laglig tilldelas värdet sant (true) om bilen är registrerad OCH (&&) om den INTE (!) är belagd med körförbud, ELLER ( ) om den har särskilt tillstånd. laglig = registrerad &&!korforbud tillstand; System.out.println("Bilen får framföras på allmän väg: " + laglig); Logik_4.java /* Detta program utvärderar påståendet att två inmatade tal är identiska. För detta ändamål används likhetsoperatorn ('=='). class Logik_4 int tal_1; int tal_2; boolean jamforelse; //Läs in det första talet och omvandla det från String till datatypen 'int'. indata =JOptionPane.showInputDialog("Skriv in det första talet"); tal_1 = Integer.parseInt(indata); //Läs in det andra talet och omvandla det från String till datatypen 'int'. indata =JOptionPane.showInputDialog("Skriv in det andra talet"); tal_2 = Integer.parseInt(indata); // Den boolska variabeln 'jamforelse' tilldelas värdet true om tal_1 och tal_2 // är lika. jamforelse = tal_1 == tal_2; JOptionPane.showMessageDialog(null,"Påståendet att talen är lika är: " + jamforelse);

Logik_5.java /* Detta program tar reda på om ett inmatat tal är inom intervallet 25 och 75. class Logik_5 int tal; boolean inom_intervall; //Läs in talet och omvandla det från String till datatypen 'int'. indata =JOptionPane.showInputDialog("Skriv in talet"); tal = Integer.parseInt(indata); /* Den boolska variabeln 'inom_intervall' tilldelas värdet true om tal är STÖRRE ÄN ELLER LIKA MED 25 (>=) OCH (&&) om tal är MINDRE ÄN ELLER LIKA MED 75 (<=) inom_intervall = (tal >= 25) && (tal <= 75); JOptionPane.showMessageDialog(null,"It is " + inom_intervall + " that " + tal + " is within the interval."); Logik_6.java /* Detta program läser in ett lösenord via en dialogruta och jämför om lösenordet är korrekt, samt meddelar användaren om accesstatus. class Logik_6 String password; boolean access; //Läs in lösenordet. password =JOptionPane.showInputDialog("Skriv in lösenordet:"); // Se upp för nedanstående typ av jämförelse. // Den kan se 'rätt' ut men jämför något annat än det avsedda: // access = password == "matrix"; // Korrekt jämförelse access = password.equals("matrix"); JOptionPane.showMessageDialog(null,"Accesstatus: " + access);

If-satsen: villkorsstyrd exekvering Betyg_1.java class Betyg_1 int g; int vg; int resultat; g = 18; vg = 27; indata = JOptionPane.showInputDialog("Skriv in ditt tentamensresultat"); resultat = Integer.parseInt(indata); // Om resultatet är större än eller lika med gränsen för VG... if (resultat >= vg) JOptionPane.showMessageDialog(null, "Du har fått betyget VG"); // Om resultatet är större än eller lika med gränsen för G if (resultat >= g) JOptionPane.showMessageDialog(null, "Du har fått betyget G"); // Om resultatet är större mindre än gränsen för G if (resultat < g) JOptionPane.showMessageDialog(null, "Du har fått betyget U"); Betyg_2.java class Betyg_2 int g; int vg; int resultat; g = 18; vg = 27; indata = JOptionPane.showInputDialog("Skriv in ditt tentamensresultat"); resultat = Integer.parseInt(indata); // Om resultatet är större än eller lika med gränsen för VG... if (resultat >= vg)

JOptionPane.showMessageDialog(null, "Du har fått betyget VG"); // Om resultatet är större än eller lika med gränsen för G else if (resultat >= g) JOptionPane.showMessageDialog(null, "Du har fått betyget G"); // Om resultatet är större mindre än gränsen för G else if (resultat < g) JOptionPane.showMessageDialog(null, "Du har fått betyget U"); Betyg_3.java class Betyg_3 int g; int vg; int resultat; g = 18; vg = 27; indata = JOptionPane.showInputDialog("Skriv in ditt tentamensresultat"); resultat = Integer.parseInt(indata); // Om resultatet är större än eller lika med gränsen för VG... if (resultat >= g) // Om resultatet är större än eller lika med gränsen för G if (resultat >= vg) JOptionPane.showMessageDialog(null, "Du har fått betyget VG"); else JOptionPane.showMessageDialog(null, "Du har fått betyget G"); else JOptionPane.showMessageDialog(null, "Du har fått betyget U"); Iterationer Tabell.java /* Skriver ut femmans multiplikationstabell class Tabell

int antal = 10; int tabell = 5; for(int i = 1; i <= antal; i++) System.out.println(i + " x " + tabell + " = " + i*tabell); Tabeller_1_10.java /* Skriver ut ettans t.o.m. tians multiplikationstabell class Tabeller_1_10 int antal = 10; for(int i = 1; i <= antal; i++) for(int j = 1; j <= antal; j++) System.out.println(i + " x " + j + " = " + i*j); WhileTest.java import javax.swing.*; /* Demonstrerar användning av villkorsloopen while class WhileTest String villkorstals = JOptionPane.showInputDialog("Mata in det tal som skall gissas!"); int villkorstal = Integer.parseInt(villkorstalS); int tal = 1; int raknare = 0; while (tal!= villkorstal) String tals = JOptionPane.showInputDialog("Mata in ett tal!"); tal = Integer.parseInt(talS); raknare++; //räknar antalet inmatningar JOptionPane.showMessageDialog(null, "Det tog dig " + raknare + " gånger för att gissa rätt.");

Sokning.java import javax.swing.*; /* "Sökning" class Sokning String sokord = JOptionPane.showInputDialog("Ange det ord som skall sökas!"); boolean funnen = false; while (!funnen) String indata = JOptionPane.showInputDialog("Ange indatatext"); if (indata.equals(sokord)) //kontrollerar om inmatat ord är lika som sökordet funnen = true; JOptionPane.showMessageDialog(null, "Sökordet " + sokord + " fanns."); Övningsuppgifter 1. Betrakta nedanstående text: Det kommer att hållas en föreläsning på fredag om läraren inte är sjuk och hans barn är friskt. Detta gäller under förutsättning att lärarens bil fungerar på fredag eller om det finns en passande buss som läraren kan använda sig av. I händelse av att läraren på grund av sjukdom eller transportproblem inte kan infinna sig till föreläsningen kan en vikarie sättas in om en sådan finns tillgänglig. I så fall hålls föreläsningen som planerat. Denna text beskriver förutsättningar för att föreläsningen ska hållas, uttryckt i naturligt språk (i konstrast till ett programmeringsspråk). Försök att med stöd i texten göra ett javaprogram som: deklarerar variabler av typen boolean som kan representera de olika förutsättningarna för att föreläsningen ska hållas tilldelar de olika förutsättningsvariablerna värden utvärderar huruvida det är sant (true) att föreläsningen hålls. 2. Hur kan programmet Logik_5.java förändras så att det undersöker om det inmatade talet inte är inom intervallet 25 till och med 75? 3. Gör ett program som undersöker om ett inmatat tal är inom något av intervallen 1 till 10 eller 50 till 60?

4. Antag att ett program ska läsa in ett tal och avgöra om detta talet är udda eller jämnt. Om talet är udda så ska ett meddelande om detta skrivas ut. I annat fall ska användaren meddelas att talet är jämnt. Hur kan ett sådant program utformas? 5. Konstruera ett program som summerar alla jämna tal mellan 0-30. 6. Skriv ett program som skriver ut talen 1-100. Utskriften ska formateras så att det sker en radbrytning vid varje jämt tiotal. Tex: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 osv 7. Skriv ett program som låter användaren mata in ett ord. Programmet ska därefter upprepa detta ord ett slumpvis antal ggr (minst 2 ggr, max 8 ggr). Exempel: Mata in ett ord: EKO EKO EKO EKO Tips: Skriv så här för att få ett slumptal mellan 2 och 8. int random = (int) (Math.random()*7) +2;