Name: _____________________________________________ Matrikel-Nr.: __________

Platz: _______ erster ( ) zweiter ( ) letzter ( ) Versuch

Pseudonym: __________________ (nur wenn Sie möchten, daß Ihr Klausurergebnis im Internet veröffentlicht wird)

Unterlagen und Hilfsmittel sind nicht zugelassen. Kommunikation während der Klausur ist nur mit dem Dozenten erlaubt, der Mißverständnisse und Unklarheiten klären kann. Schreiben Sie die Lösungen auf diese Blätter, gegebenenfalls auf ein numeriertes leeres Blatt mit Ihrem Namen; kennzeichnen Sie die Aufgabennummer eindeutig. Geben Sie alle Blätter (auch die Schmierblätter) ab. Für falsche oder nicht einleuchtende Lösungen bekommen Sie grundsätzlich keine Punkte. Wenn aber aus Ihren Notizen oder Bemerkungen ersichtlich ist, daß Ihr Gedankengang richtig war, können Sie Teilpunkte bekommen. Sie verlieren jedoch diese Möglichkeit, wenn Abschreiben oder Kommunikation während der Klausur nachgewiesen werden kann. Der Kern der Fragen wurde kursiv gesetzt. Neben der Punktzahl der einzelnen Aufgaben steht als Orientierung ein geschätzter maximaler Zeitaufwand (insg. 90 Minuten). Bei manchen Aufgaben steht als Orientierungder Anzahl der Programmzeilen in der Musterlösung. In den letzten 15 Minuten werden keine Fragen mehr beantwortet.

Klausurtermin: Dienstag, den 27. Januar 1999

Die Klausurnote (rot) wird abwärts gerundet vergeben. Sie ergibt mit der Übungsnote (blau) gemittelt die Endnote (gelb):

5 15 25 35 45 55 65 75 85 95 105 115 125 135 145 155 165 175 185 195

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200

5,0 4,0 3,7 3,3 3,0 2,7 2,3 2,0 1,7 1,3 1,0


Aufgabe 1. (30 Punkte, 20 Min, ca. 15 Programmzeilen): Entwickeln Sie ein Hauptprogramm, die die Wertetabelle der Funktion f(x) = 1 / (x - 4.7) und im Intervall [4.3, 5.6] mit Schrittweite 0.1 in 14 Schritten erstellt. Die Ergebnisse sollen auf der Konsole tabellenartig ausgegeben werden. Ihr Programm hat diesmal keine Eingaben. Geben Sie an den Stellen, wo die Funktion (wegen Division durch Null) nicht definiert ist, eine geeignete Meldung aus.

Lösung auf dem Extrablatt Nr. _________ ( 0 5 10 15 20 25 30 35 40 )


Aufgabe 2. (30 Punkte, 15 Min): Die Datenstruktur der Klasse WarteschlangePol ist:

class WarteschlangePol { ...

protected Object[] inhalt;

protected int juengstes, aeltestes, anzahl;

}

Zeichnen Sie diese Datenstruktur; stellen Sie dabei ein Warteschlangenobjekt mit 3 Einträgen dar.

Lösung auf dem Extrablatt Nr. _________ ( 0 5 10 15 20 25 30 )


Aufgabe 3. (30 Punkte, 15 Min, ca. 9 Programmzeilen): Implementieren Sie für die Klasse aus der Aufgabe 2 die Methode

void eintragen(final Object element) throws VollAusn;

Lösung:

( 0 5 10 15 20 25 30 )


Aufgabe 4. (40 Punkte, 15 Min): Kreuzen Sie die richtigen Antworten an und geben Sie Ihre Begründung mit Stichworten dazu. Ohne Begründung gilt Ihre Antwort als falsch.

( ) Richtig Es gibt Java-Programme, die auch ohne einen Interpreter ausgeführt werden können.

( ) Falsch

Grund:

( ) Richtig Ein Konstruktor kann den Namen der Oberklasse tragen.

( ) Falsch

Grund:

( ) Richtig Es gibt Multibehälter, die Datenelemente unterschiedlicher Klassen aufnehmen können.

( ) Falsch

Grund:

( ) Richtig Ein Applet kann keine andere Methoden haben, als was sie

( ) Falsch von der Klasse java.applet.Applet geerbt hat.

Grund:

( ) Richtig Um eine Methode polymorph aufrufen zu können, ist es notwendig,

( ) Falsch daß alle Unterklassen diese Methode überschreiben.

Grund:

( ) Richtig Mit der Methode println kann eine Zeile in eine Datei geschrieben werden.

( ) Falsch

Grund:

( ) Richtig Die Klassen aus java.awt sind Beans.

( ) Falsch

Grund:

( ) Richtig Jede Methode kann auf der rechten Seite einer Zuweisung aufgerufen werden.

( ) Falsch

Grund:

( 0 5 10 15 20 25 30 35 40 )


Aufgabe 5. (30 Punkte, 10 Min, ca. 4 Programmzeilen): Erweitern Sie die Schnittstelle lehrbuch.kapitel8.Sack (es ist nicht notwendig, sie zu kennen) um Operationen, mit denen die Summe und die Differenz zweier Säcke errechnet werden kann

Lösung:

( 0 5 10 15 20 25 30 )


Aufgabe 6. (40 Punkte, 25 Min, ca. 16 Programmzeilen): Entwickeln Sie ein Applet mit einem blauen Knopf. Das Drücken des Knopfs soll bewirken, daß seine Farbe auf rot verändert wird. Die hierzu notwendigen Methoden aus den entsprechenden Klassen sind:

package java.awt; class Color { final static Color red; final static Color blue; ... }

class Button extends Component { ...

public void setLabel(String label);

public void setBackground(Color c); // geerbt von Component

public void addActionListener(ActionListener listener);

}

package java.awt.event; interface ActionListener { public void actionPerformed(ActionEvent e); }

package java.applet; class Applet extends Panel { // extends Container

public void init();

public void add(Component comp); // geerbt von Container

...

}

Lösung auf dem Extrablatt Nr. ________ ( 0 5 10 15 20 25 30 35 40 )