Informatik 1 – MaVt – FS 2010 Übung 3 Claudia Kuster [email protected] Mittwoch 13-15h HG E 27 http://graphics.ethz.ch/~ckuster/Teaching/MaVt_Info1_2010.html Organisatorisches • Code::Blocks ist jetzt auch im HG E27 installiert Nachbesprechung Übung 1 • Gut • Kommentare sind wichtig 2 Vergleichsoperatoren < kleiner > grösser <= kleiner gleich >= grösser gleich == gleich != nicht gleich • Vergleichen Werte miteinander • Rückgabewert: true oder false 3 Logische Operatoren ! nicht && und || oder • Verknüpfen Wahrheitswerte • Rückgabewert: true oder false 4 Logische Operatoren Wahrheitstabellen a !a NOT a b a && b AND a || b OR true false true true true true false true true false false true false true false true false false false false • AND: beide Seiten müssen true sein • OR: mindestens eine Seite muss true sein int, char, double als Wahrheitswerte - 0 false - nicht 0 true Kurzschluss (Lazy Evaluation) a && false && b b false a || true || b b true Auswertung wird abgebrochen, sobald das Resultat bestimmt ist - Bei && wenn ein Term false ist - Bei || wenn ein Term true ist 6 If Anweisung if ( { ) Falls (Bedingung erfüllt) { Anweisungsblock } } Erlaubt die Ausführung von Teilen des Programms, je nach dem, ob eine Bedingung erfüllt ist oder nicht 7 If-Else Anweisung if ( { ) Falls (Bedingung erfüllt) { Anweisungsblock } else { } Sonst { Anweisungsblock } } 8 Fallunterscheidung mit Switch Switch (zahl) { case 1: //falls zahl==1 break; case 2: //falls zahl==2 break; default: //alle anderen Fälle • Switch verwendet man, um eine Variable mit vielen Werten zu vergleichen • Alternative zu vielen IfAnweisungen hintereinander • Zahl muss int oder char sein } 9 Übung 3 - Tipps Aufgabe 1 & 2 • Siehe vorherige Slides (3-7) • char: Ascii Codes in Tabelle nachschauen ‘a’ < ‘A’ ‘a’ ‘A’ 97 65 11 Aufgabe 3 Beispiel Der integer i liegt zwischen [0,25] oder ist durch 7 teilbar 0<i && i < 25 || i % 7 == 0 • c) echter Teiler: jeder Teiler einer natürlichen Zahl, der nicht die Zahl selbst ist 12 Aufgabe 4 • Eingabe – Gerade 1: a1, b1, k1 – Gerade 2: a2, b2, k2 • Berechnung der Determinanten • 3 Mögliche Ausgaben, Fallunterscheidungen mit ifAnweisungen – Fall 1: Es gibt eine eindeutige Lösung x=…, y=… – Fall 2: Es gibt keine Lösung – Fall 3: Es gibt unendlich viele Lösungen 13 Aufgabe5 • Verwenden von Switch und If-Else • Illegale Zahlen: negativ oder grösser als 99 14