Gymnasium Uebung2 2010 NSt

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Java</language>
= Der Typ Boolean =
== Einfache Ausdrücke ==
Ein wichtiges Werkzeug von Programmiersprachen sind Wahrheitswerte.

'''Übung''' Überlege Dir, welches Ergebnis die Eingabe liefern muss und dann führe erst aus. Andersherum geht es auch, aber das hat kein Lerneffekt für dich ;)

<eval id="4aa277e1e0fdb">
40>100
</eval>

<eval id="4aa277e1e17b8">
100>40
</eval>

<eval id="4aa277e1e1f7a">
int x = 30;
x==30;
</eval>

<eval id="4aa277e1e274d">
boolean test=(30==30);
test;
</eval>

'''Übung'''
Experimentiere ein bisschen mit diesen logischen Ausdrücken

== Komplexe Ausdrücke ==
Logisches UND
<eval id="4aa277e1e2f1d">
30==40 && 20<30
</eval>

Logisches NICHT
<eval id="4aa277e1e36eb">
  !true
</eval>

Logisches ODER

'''Übung'''
Schreibe einen Ausdruck mit der oder Verknüpfung ('''||''')
<eval id="4aa277e1e3ecb"/>


'''Übung'''
Was ist die Lösung von: <math>4>3 \wedge 10 <= 100</math>
'''Tipp:''' Gebe beim Ergebnis nur '''true''' oder '''false''' ein.

<code id="4aa277e1d9da3">
boolean erg1 = //...;
</code>
<check>erg1 == true;</check>


'''Übung'''
Was ist die Lösung von: <math>4 > 3 \vee 10==100</math>

<code id="4aa277e1da59b">
boolean erg2 = //...;
</code>
<check>erg2 == true;</check>


'''Übung'''
Was ist die Lösung von: <math>\neg(2==3)</math>

<code id="4aa277e1dadca">
boolean erg3 = //...;
</code>
<check>erg3 == true;</check>

= If / Else =
<code id="4aa277e1dd15f">
  String hallo(int x) {
     if(x==2) {
        return "Cool, du hast eine 2 eingegeben!";
     } else {
        return "Ok, du hast keine 2 eingegeben, sondern: "+x;
     }
}
</code>
<eval id="4aa277e1e4690">
  hallo(2);
</eval>

'''Übung'''
Gehe kurz diesen Quelltext durch, versuch ihn zu verstehen und bei Fragen meld dich!
Spiele mit den Werten und Anweisungen und sieh was passiert.

= Else If =
Als nächstes wollen wir herausfinden, welcher Schüler eingegeben wurde.
Es gibt 2 Schüler.
* Katharina, 13 Jahre, ist ein Mädchen aus der 8. Klasse.
* Matthias, 13 Jahre, ist ein Junge aus der 8. Klasse.

Die Schüler haben ein Alter und ein Geschlecht. Versuche mittels '''if''' zu prüfen, welcher Schüler eingegeben wurde.
Sollte keiner von beiden zutreffen, so gib einen passenden Sonst-Fall an. 
Das Grundgerüst ist grün eingefärbt, du musst nur noch die Bedingung und die Ausgabe ergänzen.

'''Hinweis:''' Die Variable '''geschlecht''' kann '''m''' für männlich sein oder '''w''' für weiblich.

<code id="4c973d9a8e750">
void welcherSchueler(int alter, String geschlecht){
       /**
         if () {

         } else if {

         }else {
          
         }
       */
}
</code>
<eval id="4c973d9a8e808">welcherSchueler(13, m)</eval>

= Switch =
Versuche, den im Unterricht gezeigten switch-Fall (Kalendar) nachzubauen und dir damit das '''switch''' anzueignen.
Die Variable, die du mit switch prüfen kannst, muss vom Typ '''int''' sein! Danach prüfst du alle Werte, die die Variable in dem Kalendar annehmen kann. Für alle restlichen Werte gibt es den '''default'''-Fall.


<code id="4c972c92d9e43">
void kalendar (int monat) {
    switch(monat){
    // Hier kommen deine Fälle rein
    }
}
</code>


<eval id="4c9723f79ca69"> kalendar(2); </eval>

= Zusammenfassung =
=== Zuweisungsoperatoren ===
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator     !! Bezecihnung !! Bedeutung  	 
|- 
| <span style="color:red">==</span>    || Gleich   || a==b ergibt true, wenn a gleich b ist.
|-
| <span style="color:red">!=</span>   ||  Ungleich  || a!=b ergibt true, wenn a ungleich b ist.
|-
| <span style="color:red"><</span> 	  || Kleiner   || a < b ergibt true, wenn a kleiner b ist.
|-
| <span style="color:red"><=</span> 	  || Kleiner gleich   || a<=b ergibt true, wenn a kleiner gleich b ist.
|-
| <span style="color:red">></span>   || Größer	  || a>b ergibt true, wenn a größer b ist.
|-
| <span style="color:red">>=</span>  || Größer gleich 	  || a>=b ergibt true, wenn a größer gleich b ist.
|}
</center>


=== Logische Operatoren ===
<center>
{| style="text-align:center;border:solid grey 1px" cellpadding=3 cellspacing=0
|- style="background:#FFE466;"
! Operator     !! Bezecihnung !! Bedeutung  	 
|- 
| <span style="color:red">!</span>    || Logisches NICHT    || !a ergibt false, wenn a wahr ist und true, wenn a falsch ist
|-
| <span style="color:red">&&</span>   ||  UND (Short-Curcuit)  || a && b ergibt wahr wenn a und b wahr sind, sonst falsch. Ist a bereits falsch wird falsch zurückgegeben und b nicht mehr ausgewertet.
|-
| <span style="color:red"><pre>||</pre></span> 	  || ODER (Short-Curcuit)   || ergibt falsch wenn a und b falsch sind, sonst wahr. Ist a bereits wahr wird b nicht emhr ausgewertet.
|-
| <span style="color:red">&</span> 	  || UND   || ergibt wahr wenn a und b wahr sind, sonst falsch. Überprüft beide Operanden.
|-
| <span style="color:red"><pre>|</pre></span>   || ODER	  || ergibt falsch wenn a und b falsch sind, sonst wahr. Überprüft beide Operanden.
|-
| <span style="color:red">^</span>  || Exklusiv-ODER 	  || a ^ b ergibt wahr wenn a und b verschiedene Wahrheitswerte haben.
|}