JavaKara programmieren: Verzweigungen

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

der Universität Oldenburg
Forschungszentrum caesar
Zusammenfassung der Vorwoche
Robotik mit LEGO Mindstorms
Imperative Programmierung Funktionen und Parameter
Imperative Programmierung
Boolesche Ausdrücke Ist der Rückgabewert eines Ausdrucks vom Typ boolean, so wird dieser als Boolescher Ausdruck bezeichnet (nach dem Mathematiker George.
Die Skriptsprache Perl (2) Wolfgang Friebel DESY Zeuthen.
Thema des Informatikkurses der Klasse 8
Einführung in die Programmierung Anweisungen und Datentypen
Struktogramme IF-ELSE FOR – Schleife
boolean Datentyp und Operator

Grundkonzepte Java - Klassendefinition
Java programmieren mit JavaKara
Wieder und wieder und wieder …. Nicht vor Pilz? ja Schritt vorwärts.
Kapitel 1 – Erste Schritte
Wenn Programme Entscheidungen fällen müssen, dann …
Algorithmisches Problemlösen mit Kara
Programmieren - wie einsteigen ?
Programmieren Kapitel 3 – Variablen.
Guten Nachmittag!.
Wir haben gesehen Das Gerüst ist bei JavaKara fix vorgegeben
Didaktische Programminterpreter
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
2. Zustandsorientiertes Modellieren 2.1 Einfachauswahl
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Einführung in JavaKara
Informatik II Grundlagen der Programmierung Programmieren in C Programmstrukturen / Kontrollstrukturen Hochschule Fulda – FB ET Sommersemester 2014.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Datentypen: integer, char, string, boolean
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren - wie einsteigen ?
Vorlesung 3. if else Anweisung if (Ausdruck) Anweisung1 else Anweisung2 Ausdruck hat einen von 0 verschiedenen Wert, so wird Anweisung 1 ausgeführt. Bei.
PHP: Operatoren und Kontrollstrukturen
Gestern: Kara Steuerung: Endliche Automaten.
Programmieren in C Grundlagen C 2
Programmiervorkurs WS 2014/15 Schleifen
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Software Engineering Struktogramme
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
MATLAB Control Statements.
Korrektheit von Programmen – Testen
JavaKara programmieren: Methoden
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Variablen und Datentypen
Algorithmisches Problemlösen mit Kara
Das Fach Informatik am SMG.  wird als Wahlfach in Klasse 9/10 angeboten,  wird als Grundfach in der MSS angeboten,  wird als Leistungsfach in der MSS.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
Class HelloWorldApp { public static void main(String[] args) {... } Grundkurs Inf - wie einsteigen ?
Schwarz, Lubkoll : Javakurs LE Organisatorisches ● Wer sind wir? ● Was machen wir hier? ● Was haben wir davon? ● Was habt ihr davon?
Wiederholte Programmausführung
Hello World! Javakurs 2013 Arne Kappen
Datentypen: integer, char, string, boolean
Aufgaben zu Rückgabewerten
Die Klasse Vielfrass in Java
Datentypen: integer, char, string, boolean
Wahrheitswerte und Logikfunktionen
Unterschiedliche Kontrollstrukturen
SS 04 Christiane Rauh Christian Hellinger
Schleifen mit der Turtle
Informatik Kurse
PGdP Tutorstunde 3 Gerald Mahlknecht Technische Universität München Informatik Zentralübung Donnerstags Nachbesprechung Samstags.
Kara: act()-Methode.
Schleifen Datenfelder (Arrays) Verzweigungen
 Präsentation transkript:

JavaKara programmieren: Verzweigungen Wenn Programme Entscheidungen fällen müssen, dann … JavaKara programmieren: Verzweigungen

Eine einzelne Verzweigung if («Boole’scher Ausdruck») { // falls wahr («true»), dann führe diese Befehle aus } else { // falls nicht wahr («false»), dann führe diese Befehle aus Ein Boole’scher Ausdruck ist eine Formel, deren Resultat ein Wahrheitswert ist. Der Aufruf von kara.treeFront() ist eine solcher Ausdruck: Die Methode gibt true oder false zurück.

Boole’sche Ausdrücke: Ein einzelner Wahrheitswert und seine Negation Boole’scher Ausdruck: kara.treeFront() Negation des Ausdrucks: !kara.treeFront() «Input» Resultat «Input» Resultat false false true true

Boole’sche Ausdrücke: Zwei Werte verknüpfen UND-Verknüpfung: kara.treeLeft() && kara.treeRight() ODER-Verknüpfung: kara.treeLeft() || kara.treeRight() «Input» Resultat «Input» Resultat false false false true false true true true

Boole’scher Ausdruck: Beliebige Kombinationen Operator-Präzedenz und Klammerung kara.treeLeft() && kara.treeRight() || !kara.onLeaf() entspricht (kara.treeLeft() && kara.treeRight()) || !kara.onLeaf() und nicht kara.treeLeft() && (kara.treeRight() || !kara.onLeaf()) ! «bindet» am stärksten (analog -5 in Mathematik) && «bindet» am zweitstärksten (analog -5*4) || «bindet» am drittstärksten (analog -5*4+3) () Klammerungen ermöglichen eigene Reihenfolgen

Weitere Boole’sche Ausdrücke Test auf Gleichheit kara.onLeaf() == true kürzer geschrieben als kara.onLeaf() Test auf grösser, grösser gleich, kleiner, kleiner gleich 5 < 4 == false 5 <= 4 == false 5 <= 5 == true 5 > 4 == true 5 >= 4 == true 5 >= 5 == true

Kara soll durch diesen «Wald» laufen, bis er beim Kleeblatt ist

Kara soll durch diesen «Wald» laufen, bis er beim Kleeblatt ist Kein Baum vorne? ja Schritt vorwärts

Kara soll durch diesen «Wald» laufen, bis er beim Kleeblatt ist Kein Baum vorne? ja nein Schritt vorwärts Kein Baum links? ja Drehe links Schritt vorwärts

Kara soll durch diesen «Wald» laufen, bis er beim Kleeblatt ist Kein Baum vorne? ja nein Schritt vorwärts Kein Baum links? ja nein Drehe links Kein Baum rechts? ja Schritt vorwärts Drehe rechts Schritt vorwärts

Kleeblattsuche in Java-Code public void myProgram() { while (! kara.onLeaf()) { if (!kara.treeFront()) { kara.move(); } else if (!kara.treeLeft()) { kara.turnLeft(); else if (!kara.treeRight()) { kara.turnRight(); kara.removeLeaf();

Kleeblattsuche in Java-Code public void myProgram() { while (! kara.onLeaf()) { if (!kara.treeFront()) { kara.move(); } else if (!kara.treeLeft()) { kara.turnLeft(); else if (!kara.treeRight()) { kara.turnRight(); kara.removeLeaf();

Kleeblattsuche in Java-Code public void myProgram() { while (! kara.onLeaf()) { if (!kara.treeFront()) { kara.move(); } else if (!kara.treeLeft()) { kara.turnLeft(); else if (!kara.treeRight()) { kara.turnRight(); kara.removeLeaf();

Logische Formulierungen im Alltag und in Java Kara zum «Tunneleingang» (Feld 2a) laufen und dort stehen bleiben. Alltagssprache: «Kara soll laufen, bis (er links einen Baum und rechts einen Baum hat)». Wir geben die Abbruchbedingung an: Ist das Ziel erreicht? Java: «Solange nicht (Kara links einen Baum und rechts einen Baum hat), soll Kara laufen.» Hier muss die Ausführungs-bedingung angegeben werden: Müssen die Befehle noch ausgeführt werden? while (!(kara.treeLeft() && kara.treeRight())) { kara.move(); }

Logische Formulieungen: De Morgan’sche Gesetze Kara zum «Tunneleingang» (Feld 2a) laufen und dort stehen bleiben. Ausführungsbedingung «auf (mind.) einer Seite kein Baum»: «nicht (links Baum und rechts Baum)» !(kara.treeLeft() && kara.treeRight()) ist gleich zu «nicht links Baum oder nicht rechts Baum» !kara.treeLeft() || !kara.treeRight() Allgemein formuliert ist das eines der De Morgan’schen Gesetze: !(a && b) == !a || !b

Logische Formulieungen: De Morgan’sche Gesetze Kara zur «Gallerie» (Feld 1) laufen und dort stehen bleiben. 1 Ausführungsbedingung «auf keiner Seite ein Baum»: «nicht (links Baum oder rechts Baum)» !(kara.treeLeft() || kara.treeRight()) ist gleich zu «nicht links Baum und nicht rechts Baum» !kara.treeLeft() && !kara.treeRight() Allgemein formuliert ist das eines der De Morgan’schen Gesetze: !(a || b) == !a && !b