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:''' Gib 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 =
<eval id="4c9798beb6b89">
int x = 2;
if(x==2) {
System.out.println("Cool, du hast eine 2 eingegeben!");
} else {
System.out.println("Ok, du hast keine 2 eingegeben, sondern: "+x);
}
</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. Änder mal den Wert von x um die verschiedenen Wege des if-Konstrukts zu durchlaufen.
= 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.
Wenn rausgefunden wurde, welcher Schüler eingegeben wurde, dann lass eine entsprechende Bildschirmausgabe anzeigen.
Das Grundgerüst ist grün eingefärbt, du musst nur noch die Bedingung und die Ausgabe ergänzen. Frag, wenn du nicht weiterkommst.
'''Hinweis:''' Die Variable '''geschlecht''' kann '''männlich''' oder weiblich sein.
<eval id="4c979926227c0">
int alter = 13;
String geschlecht = "weiblich";
/**
if (vergleiche hier alter und geschlecht von Katharina) {
} else if (vergleiche hier alter und geschlecht von Matthias){
}else {
}
*/
</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. Nenn die Variable '''monat'''.
<eval id="4c9799b098a52">
// Hier kommt dein Quellcode rein
</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.
|}