INFORMATIK I
Übung 4 : Logische Ausdrücke und Verzweigungen
18. März 2015
Daniel Hentzen
dhentzen@student.ethz.ch

Heute
- Vorlösen Übung 3
- Theorie
- Vorbesprechung Übung 4
Übung 3 : Datentypen und Funktionen
Aufgabe 2 : Unix : On-line Hilfe
- which <Kommando> : zeigt den absoluten Pfad zu einem Terminal Kommando an
- whereis <Kommando> : zeigt den Pfad zum Programm, Source Code und Manual eines Kommandos
- apropos <Stichwort> sucht im Kurzbeschreib jedes Manuals nach dem Argument
- info <Kommando> zeigt das Info-Dokument eines Kommandos an
- man <Kommando> gibt die Hilfe zu einem Befehl an
Aufgabe 3 : Typenumwandlung

Variablentabelle
Aufgabe 4 : Funktionen und Gültigkeit von Variablen
Aufgabe 5 : Durchschnitt
Theorie
- Vergleichsoperatoren
- Logische Operatoren
- if/else Verzweigungen
- switch Verzweigungen
- ?: Operator
- Einführung in arrays
Vergleichsoperatoren
- zum Vergleichen von 2 Werten
- Resultat : true (1) oder false (0)
- V.O. werden nach arithmetischen Operatoren ausgewertet
int a = 3, b = 5;
bool res;
res = a < b; // kleiner
res = a <= b; // kleiner gleich
res = a > b; // grösser
res = a >= b; // grösser gleich
res = a == b; // gleich
res = a != b; // ungleich
Achtung !!!
Unterschied zwischen = und ==
-
= ist der Zuweisungs-Operator
- ändert die Variable links in den Wert rechts
-
== ist der Vergleichs-Operator
- evaluiert, ob linker Wert und rechter Wert gleich sind
- Resultat : true (1) oder false (0)
Beispiel
int a = 3, b = 5;
bool res;
res = (a == b); // res ist false, da 3 nicht gleich 5
res = (a = b); // res ist true, obwohl a nicht gleich b, a wird zu 5
Logische Operatoren
- logisches AND : &&
- logisches OR : ||
- logisches NOT : !
bool a = true;
bool b = false;
a && b; // false
a && a; // true
a || b; // true
b || b; // false
!a; // false;
!b; // true;
if else Verzweigungen
if

else if
- else if wird nur ausgeführt, wenn die vorherige Bedingung nicht erfüllt ist!
- kann beliebig oft wiederholt werden ( if - else if - else if - ...)
- falls ein Block ausgeführt wurde springt das Programm ans Ende der ganzen if/else Struktur!
else

- ELSE-Block wird ausgeführt falls alle anderen Bedingungen false sind
- benötigt keine Bedingung
switch Verzweigungen

- switch-Anweisungen ersetzen lange if-else Ketten
- Programm springt sofort an richtige Stelle
- default-case ist optional !
- break nicht vergessen, sonst führt das Programm alle Anweisungen im switch aus, bis das erste break erreicht wird
- kein break beim default-Fall, da default sich bereits ganz am Ende befindet
Vergleich : if/else - switch
?: Operator
wert = bedingung ? valTrue : valFalse;
int bear_damage;
bool isStrong;
bear_damage = isStrong ? 100 : 30;
- ?: gibt ersten Wert zurück, falls Bedingung true
- ?: gibt zweiten Wert zurück, falls Bedingung false
Einführung in Arrays
<type> <name>[<number of elements>]
int lotto[6] // "Liste" von 6 int
- array = Variable, die viele Werte eines gleichen Typs speichert
- eine Art "Liste" / "Vektor"
lotto[3] // 4. Element!
- Zugriff auf einzelne Elemente durch [ ]
- 0 - (Grösse-1)
- erstes Element : lotto[0]
- zweites Element : lotto[1]
- ...
- letztes Element : lotto[5]
int lotto[6];
lotto[0] = 5;
lotto[1] = 12;
lotto[2] = 13;
lotto[3] = 28;
lotto[4] = 32;
lotto[5] = 43;
Übung 4 : Logische Ausdrücke und Verzweigungen
Aufgabe 1 : Logische Ausdrücke
- auf Prioritäten achten !
- in einzelne Blöcke zerlegen
- lieber zu viele Klammern als zu wenige
- benutze : %, ASCII Tabelle
Prüfungsaufgabe Sommer 2012

Aufgabe 2 : Verzweigung I
Aufgabe 3 : Verzweigung II
Aufgabe 4 : Buchstaben Test
Übung 4 : Logische Ausdrücke und Verzweigungen
By Daniel Hentzen
Übung 4 : Logische Ausdrücke und Verzweigungen
- 1,045