Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

IF-ELSE-IF- Ketten. Aufgabe: Fiktiver Bußgeldkatalog I >0 km/h: 1000 Euro.

Ähnliche Präsentationen


Präsentation zum Thema: "IF-ELSE-IF- Ketten. Aufgabe: Fiktiver Bußgeldkatalog I >0 km/h: 1000 Euro."—  Präsentation transkript:

1 IF-ELSE-IF- Ketten

2 Aufgabe: Fiktiver Bußgeldkatalog I >0 km/h: 1000 Euro

3 import java.io.*; public class MainBussgeld1 { public static void main() throws IOException{ double v, bussgeld; String str;

4 System.out.println( "Geschwindigkeitsüberschr. eingeben"); BufferedReader myinput = new BufferedReader(new InputStreamReader( System.in)); str = myinput.readLine(); v=Double.parseDouble(str);

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

6 if(v<=0){ bussgeld=0; } else{ bussgeld=1000; } print("Strafe="+bussgeld); }

7 Aufgabe: Fiktiver Bußgeldkatalog II 10 km/h: 20 Euro >10 km/h: 1000 Euro

8 if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ bussgeld=1000; } } Warum ist folgendes nicht nötig ? if ((v 0)) Weil im else-Teil automatisch v>0 ist

9 Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung:

10 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; }} Warum können Klammern weggelassen werden ? Weil sie nur eine Anweisung einschliessen ! Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich

11 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 Sie heißt IF-ELSE-IF Kette

12 Aufgabe: Fiktiver Bußgeldkatalog III 10 km/h: 20 Euro 20 km/h: 40 Euro >20 km/h: 1000 Euro

13 if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; } } }

14 Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung:

15 if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; } } } if(v<=0){ bussgeld=0; } else{if(v <= 10){ bussgeld=20; } else{if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; }}} Weil sie nur jeweils eine Anweisung einschliessen ! Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich Warum können farbige Klammern weggelassen werden ?

16 if(v<=0){ bussgeld=0; } else{ if(v <= 10){ bussgeld=20; } else{ if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; } } } if(v<=0){ bussgeld=0; } else if(v <= 10){ bussgeld=20; } else if(v <= 20){ bussgeld=40; } else{ bussgeld=1000; } Die obige Darstellung ist flacher als die linke Darstellung, aber gleichwertig zur linken Darstellung

17 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

18 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; } } } }

19 Nachteil der Darstellung: Hohe Verschachtelungstiefe Alternative, übersichtlichere (flachere) Darstellung:

20 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<=0){ bussgeld=0; } else{if(v<=10){ bussgeld=20; } else{if(v <= 20){ bussgeld=40; } else{if(v <= 30){ bussgeld=60; } else{ bussgeld=1000; }}}} Klammern können weggelassen werden

21 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<=0){ bussgeld=0; } else if(v<=10){ bussgeld=20; } else if(v <= 20){ bussgeld=40; } else if(v <= 30){ bussgeld=60; } else{ bussgeld=1000; } Die linke und die obige Darstellung sind – bis auf die Optik – genau gleich

22 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<=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!

23 W b=0 v<=0 Wichtig: NUR Der Else Teil wird jeweils weiter verschachtelt ! Was fällt auf (hinsichtlich der Verschachtelung) ? v<=10 v<=20 v<=30 b=20 b=40 b=60b=1000 W W W F F F F

24 Struktogramm einer beliebigen IF-ELSE-IF Kette

25 WF WF WF WF WF A1 B1 B2 B3 B4... A2 A3 A4... Wichtig: NUR Der Else Teil wird jeweils weiter verschachtelt ! Was fällt auf (hinsichtlich der Verschachtelung) ?


Herunterladen ppt "IF-ELSE-IF- Ketten. Aufgabe: Fiktiver Bußgeldkatalog I >0 km/h: 1000 Euro."

Ähnliche Präsentationen


Google-Anzeigen