Verzweigungen - Lösungen zu den Übungsaufgaben


Verschiedene Abfragen mit Reaktion

a)
var eingabe = prompt("Hast Du vor, heute Abend mit mir auszugehen? (ja/nein)");
 
if( eingabe == "ja" )
{
  document.write("Viel Spass!");
}
else
{
  // Weitere Prüfung auf "nein" hier möglich
  document.write("Naja, dann eben nicht!");
}
 
 

Alt genug?

a)
var eingabe=prompt("Sind Sie mindestens 18 Jahre alt? j/n");
 
if( eingabe=="j" )
{
  document.write("Dann dürfen Sie diese Seiten ansehen");
}
else
{
  document.write("Diese Seiten sind für Sie nicht zugänglich!");
}
b)
var eingabe;
var alter;
 
eingabe = prompt("Wie alt sind Sie?");
alter = parseInt(eingabe);
 
if( alter<70 )
{
  document.write("Diese Seiten sind nichts für Sie!");
}
else
{
  document.write("Hier sind Sie richtig!");
}
 
 

Schulnoten-Mittelwertrechner

  <h1>Mittelwert berechnen</h1>
  Geben Sie 3 Noten ein!
 
  <script type="text/javascript">
 
  // Variablen
  var eingabe;
  var note1;
  var note2;
  var note3;
  var mittelwert;
 
  // Eingabe
  eingabe = prompt( "Erste Note eingeben" );
  note1 = parseInt( eingabe );
 
  eingabe = prompt( "Zweite Note eingeben" );
  note2 = parseInt( eingabe );
 
  eingabe = prompt( "Dritte Note eingeben" );
  note3 = parseInt( eingabe );
 
  // Verarbeitung
  mittelwert = (note1+note2+note3)/3;
 
  // Ausgabe
  document.write( "<br>Mittelwert:" + mittelwert.toFixed(1) + "<br>" );
 
  if( mittelwert > 2 )
  {
    document.write( "Das können Sie doch aber besser, oder?" );
  }
  else
  {
    document.write( "Läuft bei Dir!" );
  }
  </script>

Herzfrequenz

  <h1>Herzfrequenz</h1>
 
  <script type="text/javascript">
 
    // Variablen
    var herz1;
    var herz2;
    var herz3;
    var herz4;
 
    var eingabe;
    var ausgabe;
 
    var durchschnitt;
 
    // Eingabe
    eingabe = prompt("Bitte Herzfrequenz 7Uhr eingeben!");
    herz1 = parseInt( eingabe );
 
    eingabe = prompt("Bitte Herzfrequenz 13Uhr eingeben!");
    herz2 = parseInt( eingabe );
 
    eingabe = prompt("Bitte Herzfrequenz 19Uhr eingeben!");
    herz3 = parseInt( eingabe );
 
    eingabe = prompt("Bitte Herzfrequenz 23Uhr eingeben!");
    herz4 = parseInt( eingabe );
 
    // Verarbeitung
    durchschnitt = (herz1 + herz2 + herz3 + herz4) / 4;
    if( durchschnitt > 80 )
    {
      ausgabe = "<h2 id='alarm'>Ihre durchschnittliche Herzfrequenz beträgt "
                  + durchschnitt
                  + ": Mannoman, gehen Sie zum Arzt!!</h2>";
    }
    else
    {
      ausgabe = "<h2>Ihre durchschnittliche Herzfrequenz "
                  + durchschnitt
                  + ": Wohl geschlafen, wa? Guter Puls!</h2>";
    }
 
    // Ausgabe
    document.write( ausgabe );

Währungsrechner

   <h1>Währungsrechner</h1>
   Beträge in den Währungen US-Dollar oder Hongkong-Dollar werden auf dieser Seite in Euro umgerechnet!<br>
   Welche Währung wollen Sie in Euro umrechnen?<br>
   Geben Sie ein 'U' für USD ein bzw. ein 'H' für Hongkong-Dollar!<p>
 
   <script type="text/javascript">
 
     var eingabe, eingabe2;
     var betrag;
 
     eingabe = prompt("Währung:", "");
     document.write( "Eingabe:" + eingabe);
 
     if( eingabe == 'U' || eingabe == 'H' )
     {
       // Berechnung
       eingabe2 = prompt( "Geben Sie den Betrag ein:", "");
       betrag = parseFloat( eingabe2 );  // in der Variable betrag stehen
                                         // jetzt meine umzurechnenden USD als Zahl
     }
 
     switch( eingabe )
     {
       case 'U':
       {
         document.write("<h1>Sie erhalten für Ihre "
                       + betrag + "USD "
                       + (betrag/1.30).toFixed(2)
                       + "Euro<\/h2>")
         break;
       }
       case 'H':
       {
         document.write("<h1>Sie erhalten für Ihre "
                       + betrag + "HKD "
                       + (betrag/10.12).toFixed(2)
                       + "Euro<\/h2>")
         break;
       }
       default:
       {
         alert("Falsche Eingabe!")
       }
     }
 
   </script>
 
 

Größte von 3 Zahlen

   <h1>Größte Zahl?</h1>
   Nach Eingabe von drei beliebigen Zahlen wird die größte, die mittlere und die kleinste Zahl ausgegeben.<br>
   Vorsicht! Probleme gibt es noch mit gleichgroßen Zahlen. Programmieren Sie eine bessere Vorgehensweise!<p>
 
   <p>
 
   <script type="text/javascript">
 
     var eingabe;
     var zahl1;
     var zahl2;
     var zahl3;
     var grZahl;
     var miZahl;
     var klZahl;
 
     eingabe = prompt("Geben Sie die erste Zahl ein", "");
     zahl1 = parseFloat( eingabe );
 
     eingabe = prompt("Geben Sie die zweite Zahl ein", "");
     zahl2 = parseFloat( eingabe );
 
     eingabe = prompt("Geben Sie die dritte Zahl ein", "");
     zahl3 = parseFloat( eingabe );
 
     // Größte Zahl ermitteln
     if( zahl1 > zahl2  &&  zahl1 > zahl3 )
     {
       grZahl = zahl1;
     }
     else
     {
 
       if( zahl2 > zahl3  &&  zahl2 > zahl1 )
       {
         grZahl = zahl2;
       }
       else
       {
         grZahl = zahl3;
       }
     }
 
     // Kleinste Zahl ermitteln
     if( zahl1 < zahl2  &&  zahl1 < zahl3 )
     {
       klZahl = zahl1;
     }
     else
     {
       if( zahl2 < zahl3  &&  zahl2 < zahl1 )
       {
         klZahl = zahl2;
       }
       else
       {
         klZahl = zahl3;
       }
     }
 
     // Mittlere Zahl ermitteln
     if( (zahl1 < zahl2  &&  zahl1 > zahl3) || (zahl1 < zahl3  &&  zahl1 > zahl2) )
     {
       miZahl = zahl1;
     }
     else
     {
       if( (zahl2 < zahl1  &&  zahl2 > zahl3) || (zahl2 < zahl3  &&  zahl2 > zahl1) )
       {
         miZahl = zahl2;
       }
       else
       {
         miZahl = zahl3;
       }
     }
 
     document.write( "<h2>Größte Zahl: "
                   + grZahl
                   + " Mittlere Zahl: "
                   + miZahl
                   + " Kleinste Zahl: "
                   + klZahl
                   + "<\/h2>"  );
 
   </script>
 
 

Ho, ho, ho

Den Weihnachtsmann bekommen Sie hier: Weihnachtsmann.
Die verwendeten CSS-Anweisungen lauten:
  body
  {
    background-color: yellow;
  }
  #ansage
  {
    width: 300px;
  }
Und der Quelltext im <body> der HTML-Datei sieht wie folgt aus:
  <h1>Ho ho ho</h1>
  <div id="ansage">
  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!
  </div>
 
  <script type="text/javascript">
 
     var name = prompt("Wie heisst Du mein Kind?");
     var artig = Math.floor( Math.random() * 3 );
 
     switch( artig )
     {
        case 0:
        {
           document.write("<img src='weihnachtsmann.png'><h1>Du bist ein unartiges Kind "+name+"!"
                         + "<br>Pass bloss auf, sonst gibt es bald von mir eins mit der Rute!</h1>");
           break;
        }
        case 1:
        {
           document.write("<img src='weihnachtsmann.png'><h1>Du bist ein faules Kind "+name+"!"
                         + "<br>Du mußt mehr lernen, sonst kriegst Du von mir nächstes Jahr eins mit der Rute!</h1>");
           break;
        }
        case 2:
        {
           document.write("<img src='weihnachtsmann.png'><h1>Du bist ein liebes Kind "+name+"!"
                         + "<br>Du hast Dir Dein Geschenk wirklich verdient!</h1>");
           break;
        }
        default:
        {
           document.write("<img src='weihnachtsmann.png'><h1>Das Programm ist abgestürzt!"
                         + "Der Programmierer kriegt eins mit der Rute!</h1>");
        }
     }
 
  </script>

Geldwechselautomat

<h1>Geldwechselautomat</h1>
Geben Sie den zu wechselnden Betrag ein! Möglich sind eine 2 für 2Euro, eine 5 für 5Euro bzw. 10 für 10Euro!
 
<script type="text/javascript">
 
     var eingabe;
     var betrag;
 
     eingabe = prompt("Betrag:", "");
     betrag = parseInt(eingabe);
     document.write("<p>Auswahl: Sie haben " + betrag + " eingegeben!")
 
     switch( betrag )
     {
       case 2:
       {
         document.write("<h2>Bitte entnehmen Sie die 2 Ein-Euro-Münzen aus dem Ausgabefach!<\/h2>")
         break;
       }
       case 5:
       {
         document.write("<h2>Bitte entnehmen Sie die 2 Zwei-Euro-Münzen und "
                       + "1 Ein-Euro-Münze aus dem Ausgabefach!<\/h2>")
         break;
       }
       case 10:
       {
         document.write("<h2>Bitte entnehmen Sie die 2 5-Euro-Scheine aus dem Ausgabefach!<\/h2>")
         break;
       }
       default:
       {
         alert("Falsche Eingabe!")
       }
     }
 
</script>
 
 
 
 

Schulnoten

  <h1>Schulnoten</h1>
 
  <script type="text/javascript">
 
  // Variablen
  var ausgabe;
  var eingabe;  // hier steht die Eingabe der Note drin!
  var note;     // hier steht die Zahl drin!
 
  // Eingabe
  eingabe = prompt("Geben Sie bitte Ihre Note ein!");
  note = parseInt( eingabe );
 
  // Verarbeitung
 
  // Wir haben sechs mögliche Lösungen! 1,2,3,4,5,6
  switch( note  )
  {
    case 1:
    {
       ausgabe = "wenn die Leistung den Anforderungen in besonderem Maße entspricht";
       break;
    }
    case 2:
    {
       ausgabe = "wenn die Leistung den Anforderungen voll entspricht";
       break;
    }
    case 3:
    {
       ausgabe = "wenn die Leistung im Allgemeinen den Anforderungen entspricht";
       break;
    }
    case 4:
    {
       ausgabe = "wenn die Leistung zwar Mängel aufweist, aber im Ganzen den Anforderungen noch entspricht";
       break;
    }
    case 5:
    {
       ausgabe = "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";
       break;
    }
    case 6:
    {
       ausgabe = "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.";
       break;
    }
    case 7:
    {
       ausgabe = "Unterirdisch!";
       break;
    }
    default:
    {
       ausgabe = "Falsche Eingabe!";
    }
  }
 
  // Ausgabe
  document.write( ausgabe );