MezData-Logo

Übungen zu Verzweigung

Aufgaben ("geborgt" von Leopold-Franzens-Universität Innsbruck Institut für Informatik)

Welche Werte erhalten d und e?

int a = 3;
int b = 45;
int c = 1;
bool d = c == 1;
bool e = false == false == 1;

Lösung: d= true (1) e= true (1)

Was erhält z für einen Wert?

bool x = true;
bool y = false;
bool z = ((x == y) == y);

Lösung: z= true (1)

Welchen Wert erhält z?

bool x = false;
bool y = true;
bool z = false == true == false == x;

Lösung: z= false (0)

Benützen Sie t, f, und r wie angegeben, um die nachfolgenden Variablen zu berechnen:

bool t = true, f = false, r = true;
  1. bool a = !true; false
  2. bool b = (false == !false) && true; false
  3. bool c = f && r == false; false
  4. bool d = (t && f) || r; true
  5. bool e = (r && r) && f; false
  6. bool fa = t && (f || r); true
  7. bool g = !f && t; true
  8. bool h = !(f || t); false
  9. bool i = t && !f || r || t && !t; true

Welche Ausgabe wird hier erzeugt?

int n=0, m=0;
n = ++m;
System.out.println(n+" "+m);

Lösung: 11

Welche Ausgabe wird hier erzeugt?

int n=0, m=0;
n = m++;
System.out.println(n+" "+m);

Lösung: 01

Programm analysieren (Verzweigungen)

Analysieren Sie folgenden Programm-Code:

int test(intx){
  int y=0;
  if (x>3);
  else y=1;
  return y;
}
Erstellen Sie ein Struktogramm! Lösung...

Welche Ausgabe hat das Programm bei folgenden Eingaben:

Eingabe Ausgabe
1 1
2 1
3 1
4 0
5 0

Erstellen Sie ein vereinfachtes Struktogramm und Quellcode für das Programm. Lösung...

Black Jack (Verzweigung)

Gegeben sei folgende Methode:

void gewinnen(int a, int b){
  if (a>21) System.out.println("b hat gewonnen");
  else if (b>21) System.out.println("a hat gewonnen");
  else if (a>b) System.out.println("a hat gewonnen");
  else if (b>a) System.out.println("b hat gewonnen");
  else System.out.println("unentschieden");
}

Analysieren Sie die Funktion der Methode und dokumentieren diese graphisch.

Lösung..

Fahrpreisprogramm (Verzweigung)

Ein Programm für einen DB-Fahrpreisrechner soll erstellt werden, folgende Regeln gelten:

  1. Der Kilometer kostet 10 Cent.
  2. Wochentage sind wie folgt als Zahlen codiert: 1=Mo; 2=Di; 3=Mi; 4=Do; 5=Fr; 6=Sa; 7=So;
  3. Wenn mehr als 185km zurückgelegt werden, gibt es 10% Ermässigung außer an 5 & 7.
  4. Bahncard bringt zusätzlich 25% Ermässigung außer wenn weniger als 100km zurückgelegt werden (Regionalstrafe).

Analysieren Sie die Verarbeitung und entwickeln Sie gegeignete Test-Daten zur Evaluation ihrer spätern Lösung.

Erstellen Sie eine Methode Fahrpreis.rechne(km,wota: GZ, baca: Bool):FKZ für die Fahrpreisberechnung (Struktogramm und Quellcode). Struktogramm Quellcode