Übungen (if/else-Verzweigungen)


Tipp:
Schreiben Sie immer zuerst die Syntax der Verzweigung komplett mit allen Klammern hin und füllen Sie anschließend dieses 'Gerüst' aus! Passen Sie auf, wo runde und wo geschweifte Klammern stehen müssen.
  • Hinter den runden Klammern der Bedingung steht KEIN semicolon!
  • Hinter else stehen grundsätzlich KEINE runden Klammern für eine weitere Bedingung! ;-)
if(    )
{
 
}
else
{
 
}

1. Verschiedene Abfragen mit Reaktion

Prüfen Sie die Nutzereingabe "ja" bzw. "nein" auf die Frage
"Hast Du vor, heute Abend mit mir auszugehen?"!
Antworten Sie in einer Verzweigung "Viel Spass" bzw. "Naja, dann eben nicht!"

2. Alt genug?

a) Fragen Sie den Nutzer in Ihrem Programm, ob er mindestens 18 Jahre alt ist!
Antworten Sie in einer Verzweigung "Sie dürfen diese Seiten ansehen" bzw. "Diese Seiten sind für Sie nicht zugänglich!"

b) Fragen Sie den Nutzer in Ihrem Programm, wie alt er ist! Vergleichen Sie das eingegebene Alter mit einem Alter, in dem sich Rentner für Pflegeheime interessieren, z.B. 70.
Antworten Sie in einer Verzweigung "Hier sind Sie richtig" bzw. "Diese Seiten sind nichts für Sie!"

3. Passwort prüfen

Prüfen Sie ein einzugegebendes Passwort! Das richtige Passwort lautet "GGGGG-G8adP-PPPPP-A".

4. Schulnoten-Mittelwertrechner

Schreiben Sie folgendes Programm:

  1. Es sind 3 Schulnoten einzugeben
  2. Der Mittelwert ist zu berechnen
  3. Wenn der Mittelwert einer Schulnote entspricht, die schlechter als 2 ist, dann soll die Ausgabe "geht besser" erfolgen.
  4. Wenn der Mittelwert 2 oder besser ist, dann soll "Läuft bei Dir" ausgegeben werden.

Was ist zu tun?

  1. Vorlage besorgen => javascriptbasics
  2. Mit prompt die Eingaben der drei Schulnoten einlesen und umwandeln in Zahlen mit denen man rechnen kann
  3. Mittelwert berechnen mit der Fomel (note1+note2+note3)/3
  4. Fallunterscheidung programmieren:
    if(   )
    {
    }
    else
    {
    }
  5. Ausgaben entsprechend Vorgabe in die if/else-Blöcke schreiben
  6. Seite verschönern, z.B. innerHTML und toFixed(1) verwenden

Dumme Fehler

  • Manchmal ermitteln Sie einen Notenschnitt von z.B. 40. Das passiert, wenn man Texte aneinander hängt und dann damit weiter rechnet ("1" + "2" + "3" = "123"). Vermeiden Sie so etwas! Wissen Sie, was ich meine? Wann passiert das?

Alternative Aufgabestellungen

  1. Tagesdurchschnittstemperatur aus 5 Werten ermitteln
    (Messwerte der Uhrzeiten 6:00,9:00,12:00,15:00,18:00).
  2. Durchschnittliche Herzfrequenz aus 6 Werten errechnen (Messwerte 7,10,13,16,19 und 22Uhr).
  3. Average beat calculator, 4 bpm-Messwerte aus 4 hintereinander im Club gespielten Tracks.
  4. ...

5. Größte von 3 Zahlen

Schreiben Sie ein Programm, das nach Eingabe von drei beliebigen Zahlen die größte, die mittlere und die kleinste Zahl ausgibt.
Lesen Sie nacheinander drei ganze Zahlen ein! Geben Sie die Zahlen in der Reihenfolge ihrer Werte aus -
die größte Zahl zuerst, die kleinste Zahl zuletzt.

6. Währungsrechner

Anforderungen:
Es soll ein Währungsrechner programmiert werden, der entweder
  • US-Dollar in Euro oder
  • HongKong Dollar in Euro umrechnet.
Die Eingabe der Währung erfolgt als "USD" oder "HKD".
Umrechnungsfaktoren:
  • 1Euro = 1,24 USD
  • 1Euro = 9,6 HKD

7. Typ der Eingabe ermitteln

Prüfen Sie, ob es sich bei einer Eingabe um einen Text, eine natürliche Zahl oder um eine Kommazahl handelt!
Vorgehensweise:
  • Überlegen Sie sich zuerst, in welcher Reihenfolge und auf welche Art und Weise man dieses im Programm herausfinden kann.
  • Überlegen Sie, wie man Eingaben prüfen kann, z.B.
    • eingabe=="" keine Eingabe
    • isNaN(eingabe) is not a number
    • ...
  • Zeichnen Sie zuerst ein entsprechendes Struktogramm!

8. Schaltjahr

Ermitteln Sie, ob ein eingegebenes Jahr ein Schaltjahr ist oder nicht!
Regeln:
  • Jedes Jahr, welches durch 400 teilbar ist, ist ein Schaltjahr
  • Jedes Jahr, welches durch 100 teilbar ist und nicht durch 400, ist kein Schaltjahr
  • Wenn die obigen Regeln nicht zutreffen, dann kann es noch ein Schaltjahr sein, wenn das Jahr durch 4 teilbar ist.
  • In allen anderen Fällen handelt es sich um ein Schaltjahr.
Vorgehensweise:
  • Überlegen Sie sich zuerst ein passendes Struktogramm für Ihre Lösung!





Übungen (switch) / Mehrfachverzweigung


Tipp:
Immer erst einmal die Syntax der Verzweigung komplett mit allen Klammern hinschreiben und dann dieses 'Gerüst' für weitere Fälle ergänzen und anschliessend ausfüllen! Passen Sie auf, wo runde und wo geschweifte Klammern stehen müssen.
switch(  x  )
{
  case 1:
  {
     // Anweisung für x=1
     break;
  }
  case 2:
  {
     // Anweisung für x=2
     break;
  }
 
  // ggf. weitere Fälle, case ...
 
  default:
  {
      // für alle anderen Werte
  }
}

1. Ho ho ho

  • Folgender Text steht auf Ihrer HTML-Seite:
    "Der Weihnachtsmann hat leider nicht genügend Geschenke im Sack. Ob Du dieses Jahr eines bekommst, das steht in den Sternen! Gib Deinen Namen an und der Weihnachtsmann wird ermitteln, ob Du eines verdient hast!"
  • Es muss der Name vom Nutzer eingegeben werden (prompt).
  • Mit einem Zufallsgenerator wird entweder eine 0, 1 oder 2 ermittelt:
var artig = Math.floor( Math.random() * 3 );
  • Die Zahl wird mit einem switch ausgewertet. Entsprechend der Zufallszahl erscheint eine Ausgabe:
    • Du bist ein unartiges Kind <name>! Pass bloss auf, sonst gibt es bald von mir eins mit der Rute!
    • Du bist ein faules Kind <name>! Du mußt mehr lernen, sonst kriegst Du von mir nächstes Jahr eins mit der Rute!
    • Du bist ein liebes Kind <name>! Du hast Dir Dein Geschenk wirklich verdient!
  • Die Seite könnte z.B. wie folgt aussehen:

HoHoHoLieb.png

2. Geldwechselautomat

Anforderungen:
Als Eingabe in den Automaten sind 2 oder 5 oder 10 Euro möglich.
Bei Auswahl 2 wird 2 mal 1 Euromünze ausgegeben.
Bei Auswahl 5 werden 2 Euromünzen und 1 Euromünze ausgegeben.
Bei Auswahl 10 werden 2 mal 5 Euro herausgegeben.
Alles andere ist eine falsche Eingabe.

3. Schulnoten als Text ausgeben

a) Schreiben Sie ein Programm, welches nach Eingabe der Schulnote (prompt) den zugehörigen Text ausgibt (document.write).
Note
Kurztext
Langtext
1
sehr gut
wenn die Leistung den Anforderungen in besonderem Maße entspricht.
2
gut
wenn die Leistung den Anforderungen voll entspricht.
3
befriedigend
wenn die Leistung im Allgemeinen den Anforderungen entspricht.
4
ausreichend
wenn die Leistung zwar Mängel aufweist, aber im Ganzen den Anforderungen noch entspricht.
5
mangelhaft
wenn die Leistung den Anforderungen nicht entspricht, jedoch erkennen lässt, dass die notwendigen Grundkenntnisse vorhanden sind und die Mängel in absehbarer Zeit behoben werden können.
6
ungenügend
wenn die Leistung den Anforderungen nicht entspricht und selbst die Grundkenntnisse so lückenhaft sind, dass die Mängel in absehbarer Zeit nicht behoben werden können.
Eine Arbeit wird auch bei nicht erbrachter Leistung mit ungenügend benotet.

Für Fortgeschrittene

b) Fragen Sie den Nutzer zusätzlich ob er den Kurztext oder den Langtext angezeigt haben möchte!
c) Denken Sie sich selbst passende Texte aus!