PMG2425 10/Verzweigungen

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Javascript</language>
<font color = grey>Einige Beispiele sind dem ''Brückenkurs Webapps der HS Zittau/Görlitz entnommen.''</font>

== Syntax ==

Oft sollen bestimmten Anweisungen nur ausgeführt werden, wenn eine bestimmte Bedingung erfüllt ist. 

Eine solche Verzweigung (Alternative) ist folgendermaßen in JavaScript aufgebaut:

 if(<Bedingung>){
    ...
 }else{
    ...
 }

Zwischen die geschweiften Klammern werden ein oder mehrere Anweisungen geschrieben, die ausgeführt werden sollen, wenn die <Bedingung> true (also ''wahr'') ist. Es handelt sich um den sogenannten '''If-Block'''.
Zwischen die geschweiften Klammern des '''Else-Blocks''' werden ein oder mehrere Anweisungen geschrieben, die ausgeführt werden sollen, wenn die <Bedingung> false (also ''unwahr'') ergibt.


''Beispiel''

Das Programm gibt den Text "Es ist kalt." aus, wenn die Temperatur <= 15 ist. Ändere den Wert der Variable "temperatur", um das Programm zu testen.
<code id="6716a96635fbc">
var temperatur = 20;
</code>
<run id="6716a966362a8">
if(temperatur > 15){
   
   console.log("Es ist warm.");

}else{

  console.log("Es ist kalt.");
}
</run>


Gelegentlich gibt es keine Anweisungen für den ELSE-Block, also wenn die <Bedingung> nicht erfüllt ist. Dann wird dieser Block weggelassen.

 if(<Bedingung>){
    ...
 }




== Bedingungen ==


Die <Bedingung> muss ein logischer Ausdruck sein, der wahr oder falsch (d.h. true oder false) ergibt.

'''Beispiele für logische Ausdrücke'''
Ändere in den folgenden Beispielen die Werte der Variablen x und y, um die Programme zu testen.

''x > y''
<code id="6716a9663600d">
var x = 6;
var y = 7;
</code>
<run id="6716a966362fa">
if(x > y){
  console.log("x ist größer als y");
}else{
  console.log("x ist kleiner als y");
}
</run>


''x < y''
<code id="6716a96636058">
var x = 6;
var y = 7;
</code>
<run id="6716a96636344">
if(x < y){
  console.log("x ist kleiner als y");
}else{
  console.log("x ist größer als y");
}
</run>

Außerdem können die Operatoren >= (größer gleich) sowie <= (kleiner gleich) verwendet werden.


''x>=a && x<=b'' (Test, ob x zwischen den Werten a und b liegt)
<code id="6716a966360a2">
var a = 0;
var b = 10;

var x = 3;
</code>
<run id="6716a966363a4">
if(x>=a && x<=b){
 console.log("x liegt zwischen a und b");
}else{
 console.log("x liegt außerhalb von a und b");
}
</run>


''x == y'' (Test, ob x und y den gleichen Wert besitzen)
<code id="6716a9663610e">
var x = 6;
var y = 6;
</code>
<run id="6716a966363f0">
if(x == y){
  console.log("x ist gleich y");
}else{
  console.log("x ist ungleich y");
}
</run>


''x != y'' (Test, ob x und y ungleiche Werte besitzen)
<code id="6716a9663615a">
var x = 6;
var y = 7;
</code>
<run id="6716a9663643a">
if(x != y){
  console.log("x ist ungleich y");
}else{
  console.log("x ist gleich y");
}
</run>


== Aufgaben ==

'''1. Erstelle eine If-Anweisung:''' <br>
Wenn der Wert von x > 0 ist, soll der Text "die Zahl ist positiv" ausgegeben werden. Ansonsten soll der Text "die Zahl ist negativ" ausgegeben werden.
<code id="6716a966361a5">
var x = 5;
</code>
<run id="6716a96636485">
</run>


'''2. Erstelle eine If-Anweisung:''' <br>
Wenn das Alter größer gleich 18 ist, soll der Text "Die Person ist volljährig." ausgegeben werden. Ansonsten soll der Text "Die Person ist minderjährig" ausgegeben werden.
<code id="6716a966361f1">
var alter = 25;
</code>
<run id="6716a966364d1">
</run>



'''3. Erstelle eine Funktion zur Berechnung der Nullstellen einer quadratischen Funktion:'''

Diese Funktion ''Nullstelle'' soll 
# entscheiden, ob eine quadratische Funktion keine, genau eine oder genau zwei Nullstellen besitzt
# die Werte dieser Nullstellen ausgeben

 <u>vorher</u> Algorithmus formulieren und Struktogramm entwerfen


<code id="6716a9663624a">

</code>
<run id="6716a9663651e">

Nullstelle(2,4)</run>