(Programmierung mit JavaScript) 3 - Bedingungen

3.A1_2 - BMI mit Beurteilung

HTML - Code

Das HTML wird um ein weiteres Ausgabefeld berurteilung erweitert

Ausgabe im Browser

Liegt der errechnete Wert im offiziell empfohlenen Bereich, wird das mit angezeigt.

Beschreibung des JavaScript

Wir erstellen eine neue Funktion (Zeile 20) function beurteilung() { ... }. Aufgerufen wird die Funktion in Zeile 17, das ist am Ende unserer ersten Funktion zur Berechnung des BMI, nachdem das ergebnis feststeht. Da die beurteilung() anhand des ergebnis entscheiden muss wird ihr das Ergebnis mit übergeben: beurteilung( ergebnis ). Dazu etwas Grundsätzliches:

  • Variablen sind nur innerhalb des Kontextes sichtbar, wo sie definiert wurden
  • Damit ist ergebnis nur in der Funktion bmi() sichtbar und man könnte an keiner anderen Stelle, damit etwas anfangen
  • Braucht man eine Variable aber noch woanders hat man dazu zwei Möglichkeiten:
  • Man stellt sie außerhalb jeder Funktion im Kopf der JavaScript Datei. Dann ist die Variable auch überall sichtbar. Man nennt dies: "Globale Variable"
  • Oder die Variable wird, wie im Beispiel, explizit übergeben
  • Global sollten Variablen nur sparsam benutzt werden. Wird ein Programm groß, wird es mit vielen globalen Variablen schwerer, unübersichtlicher und fehleranfälliger.
  • Hier im Beispiel "BMI" wäre beides OK
  • Nun das eigentlich Neue - die Bedingung:
    "Wenn das Ergebnis zwischen 18,5 und 25 liegt, liegt es im Normbereich". So wird es fast wörtlich im Programmcode umgesetzt: if (ergebnis >= 18.5 && ergebnis < 25 ) Alles was zu dieser Bedingung gehört steht wie immer in den geschweiften Klammern { ... }. Zweite Besonderheit ist die Schreibweise für das Logische "UND" als &&. "ODER" würde übrigens so aussehen: ||.

    Als Aufgabe könntest du dir überlegen, wie das Programm angepasst werden könnte, damit die Ausgabe außer dem BMI-Normbereich zusätzlich nach 'untergewichtig' und 'übergewichtig' entscheiden kann.