IF-ELSE-IF-Ketten Weiter mit PP..

Slides:



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

der Universität Oldenburg
Objektorientierte Programmierung
der Universität Oldenburg
DVG Dateien Dateien. DVG Dateien 2 Die Klasse File Die Klasse File stellt die Verbindung zwischen dem Filesystem des Rechners und dem.
Einführung in die Programmierung Ausführbare Klassen
Imperative Programmierung -Entwicklungswerkzeuge
Programmierkurs Java WS 98/99 Vorlesung 15 Dietrich Boles 17/02/99Seite 1 Programmierkurs Java Vorlesung im WS 1998/1999 am FB Informatik der Universität.
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik F Verteilte Software - Java.
Verteilte Software - Java - Prozedurale Programmierung 1
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Internetzugriff mit Strings und Streams
Ausnahmen HS Merseburg (FH) WS 06/07.
FH-Hof Servlets Richard Göbel. FH-Hof Konzept Servlets werden auf der Server-Seite durch ein Formular aufgerufen werten die Eingaben aus einem Formular.
FH-Hof Sockets in Java Richard Göbel. FH-Hof Kommunikation über das Internet - Grundlagen Ein Rechner wird im Internet über die so genannte IP- Adresse.
Java: Referenzen und Zeichenketten
FH-Hof Fehlerbehandlung Richard Göbel. FH-Hof Konzept Fehler können mit dem Operator throw einer übergeordneten Funktion signalisiert werden. Parameter.
SWITCH - Anweisung.
Verzweigung oder bedingte Anweisung Weiter mit PP.
Programmier-sprache Java Weiter mit PP..
Assoziationen (Beziehungen) 1 : n. Zu einem Auto gibt es mehrere Fahrer (2) und zu diesen 2 Fahrern gibt es genau dieses Auto.
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Exceptions. import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } Beim Übersetzen dieses.
DO...WHILE Anweisung.
ARRAY oder FELD oder VEKTOR
Benötigte Applets Startseite: in HTML-Format Applet auf der Startseite Das Applet, das auf der Startseite geladen wird, wird die vier Buttons und die eine.
Objektorientierte Programmierung JDK-Klassenbibliothek
PRJ 2007/1 Stefan Dissmann Motivation Problem: gleiche Datenstrukturen werden für verschiedene Objekte gebraucht: z.B. Listen von Studierenden, Kunden,
DVG Ausnahmen. DVG Was sind Programmfehler? 4 Programm erzielt gar kein Ergebnis. 4 Berechnetes Ergebnis stimmt nicht mit dem erwarteten.
1DVG3 - anonyme Klassen Anonyme Klassen. DVG3 - anonyme Klassen 2 Syntax new BasisKlasse(Parameterliste) { Modifikationen und Erweiterungen der Basisklasse.
DVG Ausnahmen1 Ausnahmen. DVG Ausnahmen 2 Was sind Programmfehler? Programm erzielt gar kein Ergebnis. Berechnetes Ergebnis stimmt nicht.
DVG Einführung in Java1 Einführung in JAVA.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
© 2005 Pohlig - Taulien Datenströme GK Informatik 1 Datenströme.
Thema: Fibonacci-Zahlen
Bestimmung des ggT zweier Zahlen
Verzweigung.
Vererbung Einfache Vererbung – Erben von abstrakten Klassen – Implementieren eines Interfaces.
© 2003 Pohlig Informatikgrundkurs (Pohlig-Häberle) 1 5.Was ist eine Syntax? – Ein bierseliger Bayer im Himmel 5.1 Syntax des frohlockenden Bayern Alois.
Rekursive Funktionen (Fakultät)
Learning By Doing TCP/IP Netzwerke mit TCP/IP Das Internet verwendet weitgehend das rund 30-jährige TCP/IP-Protokoll (TCP: Transmission Control Protocol,
Socket-Programmierung
CuP - Java Eingabe über Tastatur, AudioClips, überschreiben, Quiz Montag, 18. November 2002.
Objektorientiertes Konstruieren
Unterprogramme in JAVA
Optimale Ursprungsgerade
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Learning By Doing Ausnahmebehandlung Exceptions (Ausnahmebehandlung) Typische Fehlverhalten zur Laufzeit: s. Buch S. 287ff -Verwendung von null-Objekten.
Programmierung von Agenten in Java: Implementierung einer Supply-Chain
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
Programmiervorkurs WS 2014 Referenzdatentypen
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Natürliches Programmieren
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Alois Schütte Advanced System Programming 2 Interprozeßkommunikation  2.1 JVM Ablaufumgebung  2.2 Java Native Interface (JNI)  Verwendung von.
© 2004 Pohlig Informatik Kurse © 2004 Pohlig Informatik Kurse Der Tramp tanzt die Rekursion zünderUntersuchen(…) Basisfall Rückmeldung:
Ausnahmen Vorlesung besteht aus zwei Teilen Programmierung (4 SWS)
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Abteilung für Telekooperation Softwareentwicklung 2 UE WS 2008/09 SE2UE_ Ausnahmen (Exceptions)
OOP mit Java Oder: Java in 5 Tagen. 1. Tag Klassen und Methoden Hello World in Variationen Von Menschen und Geschlechtern Horden (Schlange stehen)
Mit der Turtle Java Programmieren
Grundkurs Informatik mit Java
Schleifen mit der Turtle
Mit Java die Turtle steuern
Reklursive Grafiken Teil I
 Präsentation transkript:

IF-ELSE-IF-Ketten Weiter mit PP.

Fiktiver Bußgeldkatalog I Aufgabe: Fiktiver Bußgeldkatalog I >0 km/h: 1000 Euro Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

import java.io.*; public class MainBussgeld1 { public static void main() throws IOException{ double v, bussgeld; String str; Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP.

System. out. println( "Geschwindigkeitsüberschr System.out.println( "Geschwindigkeitsüberschr. eingeben"); BufferedReader myinput = new BufferedReader(new InputStreamReader( System.in)); str = myinput.readLine(); v=Double.parseDouble(str); Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP.

Wichtig: Wegen Platzmangels wird eine Bildschirmausgabe durch print(" Wichtig: Wegen Platzmangels wird eine Bildschirmausgabe durch print("...") und die Eingabe über Tastatur durch eingabe(...) abgekürzt.

if(v<=0){ bussgeld=0; } else{ bussgeld=1000; } print("Strafe="+bussgeld); } Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP.

Fiktiver Bußgeldkatalog II Aufgabe: Fiktiver Bußgeldkatalog II 10 km/h: 20 Euro >10 km/h: 1000 Euro Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ Warum ist folgendes nicht nötig ? if ((v<=10)&&(v>0)) if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; } } Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. Weil im else-Teil automatisch v>0 ist

Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung: Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else{if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; }} if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; } } Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. Warum können Klammern weggelassen werden ? Weil sie nur eine Anweisung einschliessen !

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; } if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; } } Die obige Darstellung ist flacher als die linke Darstellung, aber gleichwertig zur linken Darstellung Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. Sie heißt IF-ELSE-IF Kette

Fiktiver Bußgeldkatalog III Aufgabe: Fiktiver Bußgeldkatalog III 10 km/h: 20 Euro 20 km/h: 40 Euro >20 km/h: 1000 Euro Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } }

Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung: Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else{if(v <= 10){ bussgeld=20; } else{if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; }}} if(v <= 10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } Warum können farbige Klammern weggelassen werden ? Weil sie nur jeweils eine Anweisung einschliessen !

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else if(v <= 10){ bussgeld=20; } else if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; } if(v <= 10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } Die obige Darstellung ist flacher als die linke Darstellung, aber gleichwertig zur linken Darstellung

Fiktiver Bußgeldkatalog IV Aufgabe: Fiktiver Bußgeldkatalog IV 10 km/h: 20 Euro 20 km/h: 40 Euro 30 km/h: 60 Euro >30 km/h: 1000 Euro Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } }

Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung: Teilziel: Die Schüler sollen erkennen, dass sich die Aufgabe mit Hilfe der Verzweigung lösen lässt. Aufgabe: Lehrer stellt die Aufgabe. Lösung: Schüler stellen Lösung vor. Weiter mit PP.

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else{if(v<=10){ bussgeld=20; } else{if(v <= 20){ bussgeld=40; } else{if(v <= 30){ bussgeld=60; } else{ bussgeld=1000; }}}} if(v<=10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ if(v <= 30){ bussgeld=60; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } } Klammern können weggelassen werden

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else if(v<=10){ bussgeld=20; } else if(v <= 20){ bussgeld=40; } else if(v <= 30){ bussgeld=60; } else{ bussgeld=1000; } if(v<=10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ if(v <= 30){ bussgeld=60; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } } Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich

if(v<=0){ bussgeld=0; } else{ if(v<=0){ bussgeld=0; } else if(v<=10){ bussgeld=20; } else if(v <= 20){ bussgeld=40; } else if(v <= 30){ bussgeld=60; } else{ bussgeld=1000; } Zeichen Sie das dazugehörige Struktogramm! if(v<=10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ if(v <= 30){ bussgeld=60; } else{ Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. bussgeld=1000; } } } }

b=0 b=20 b=40 b=60 b=1000 v<=0 v<=10 v<=20 v<=30 Was fällt auf (hinsichtlich der Verschachtelung) ? Wichtig: NUR Der Else Teil wird jeweils weiter verschachtelt ! v<=0 W F b=0 v<=10 W F b=20 v<=20 W F Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. b=40 v<=30 W F b=60 b=1000

Struktogramm einer beliebigen IF-ELSE-IF Kette Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP.

Was fällt auf (hinsichtlich der Verschachtelung) ? Wichtig: NUR Der Else Teil wird jeweils weiter verschachtelt ! B1 W F A1 B2 W F B3 A2 W F Lehrer: Präsentiert eine Lösung Frage: Um welchen Teil des EVA-Prinzip handelt es sich ? Antwort: Um den Eingabeteil. Weiter mit PP. B4 A3 W F ... A4 W F ... ...