Algorithmen und Programmierung II


SS 2002 Dr. Hannes Federrath
Übung 2 Natalie Ardet
Abgabe bis zum Fr. 10.05.02

Die Lösung der Aufgaben und die Abgabe der Lösungen erfolgt in Zweiergruppen!
Hinweis: Benutze die Ressourcen der ALP2 Webseite.

Aufgabe 1 (5 P.)

Gegeben seien folgende Java-Deklarationen:

  1. int x;
  2. int y;
  3. char z;
  4. long w;

Welche der folgenden Java-Ausdrücke ist unter den o.g. Deklarationen korrekt? Wenn der Ausdruck nicht korrekt ist, was ist der Fehler und gibt es eine Typdeklaration, mit der er korrekt ist?

  1. w = x / (y+1)
  2. i = 25L
  3. x = x+1
  4. 17 % 3
  5. y += 1
  6. 2 * (x+y) - (z/73)
  7. x = y = z = 0
  8. x = y + (z +=w)
  9. 6++
  10. (x+y)++

Aufgabe 2 (4 P.)

Schreibe folgende zwei Beispiele aus der Vorlesung so um, dass diese keine Sprunganweisungen mehr beinhalten, ihre Funktionalität jedoch erhalten bleibt.

  1. int i=0;
    while (i<10) {
        if (i==5) { 
            i++;
            continue;
        }
        System.out.println(" "+i);
        i++;
    }
    System.out.println();

  2. weiter: {
        System.out.println("Schleife beginnt");
        for (int i=0; i<10;i++) {
            if (i==5) break weiter;
            System.out.print(" "+i);
        }
        System.out.println("Schleife beendet");
    }
    System.out.println("Ende");

Aufgabe 3 (4 P.)

Die Fibonacci-Zahlen sind eine Folge natürlicher Zahlen, bei der jede Zahl die Summe der beiden vorangegangenen ist.  Die Folge beginnt mit 1, 1, 2, 3, 5, 8, 13 und setzt sich so weiter fort.

  1. Entwerfe einen Algorithmus zur Berechnung der Fibonacci-Zahlen. 
    Hinweis: Die Darstellung erfolgt in Pseudo-Code (analog zu Übungsblatt 1, Aufgabe 3).
  2. Implementiere den Algorithmus aus (1) als nicht terminierendes JAVA-Programm.

Aufgabe 4 (4 P.)

Die imperative Programmierung unterscheidet zwei Arten von Iterationen:

Die Programmiersprache Java bietet eine Iterationsmöglichkeit mit dem Schlüsselwort "for". 
Handelt es sich um eine Zählschleife? Hinweis: Eine Argumentation wird hier erwartet!


03.06.2002