INFORMATIK I

Übung 4 : Logische Ausdrücke und Verzweigungen


18. März 2015


Daniel Hentzen
dhentzen@student.ethz.ch



Heute


  1. Vorlösen Übung 3
  2. Theorie
  3. 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; // kleinerres = a <= b; // kleiner gleichres = a > b; // grösserres = a >= b; // grösser gleichres = a == b; // gleichres = 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 5res = (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; // falsea && a; // true
    a || b; // trueb || 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