Klausurtermin: 22. Januar 2000
Die Klausurnote (rot) wird abwärts gerundet. Sie ergibt mit der Übungsnote (blau) gemittelt die Endnote (gelb):
Aufgabe 1
. (ca. 20 Programmzeilen): Eine Liste aus Ganzzahlelementen zu normalisieren bedeutet, alle ihre Elemente auf Werte zwischen n und n zu setzen (n ist Parameter der Normalisierung, z.B. 100) so, dass das Verhältnis der Elemente zueinander (bis auf den Rest der Ganzzahldivision) bleibt. Dies kann in zwei Schritten durchgeführt werden: Zuerst muss das Element mit dem maximalen absoluten Wert (d.h. ohne Vorzeichen) gefunden werden, dann müssen alle Elemente mit n multipliziert und mit diesem (positiven) Wert dividiert werden. Beispielsweise ergibt die Liste {1543, -5683, -10000, 328} auf 100 normalisiert {15, -56, -100, 3} (multipliziert mit 100 und dividiert durch das maximale Element 10000).Erweitern Sie nun die Klasse GanzWSReihung aus der Übung um die Methode
public voidnormalisieren(int n);
public class GanzWSReihung { protected int[] inhalt; protected int aeltestes, juengstes, anzahl; ...
public classListe { public class Knoten { private Object wert; private Knoten verbindung; public Knoten(Object w, Knoten v) { wert = w; verbindung = v; } } private Knoten anker; ... public void einfuegen (Knoten wohin, final Element wert) { Knoten neu = new Knoten(wert, wohin.verbindung); wohin.verbindung = neu; } }
wohin.verbindung == null
( ) Richtig Die Datei iostream.h enthält ein C++-Modul.
( ) Falsch
Grund:
( ) Richtig Die Knoten-Klasse einer rückwärts verketteten Liste kann
auch für eine doppelt verkettete
( ) Falsch Liste benutzt werden.
Grund:
( ) Richtig Die Anzahl der Elemente in der Reihung-Implementierung
eines Multibehälters kann
( ) Falsch nach der Erzeugung des Multibehälter-Objekts nicht mehr verändert werden.
Grund:
( ) Richtig In C++ kann man Objekte auch ohne new erzeugen.
( ) Falsch
Grund:
( ) Richtig Eine for-Schleife (in Java und in C++) ist
garantiert keine Endlosschleife.
( ) Falsch
Grund:
( ) Richtig Operanden von Operatoren können in Java nur Variablen, in
C++ auch Objekte sein.
( ) Falsch
Grund:
( ) Richtig Durch die Vereinbarung int[] reihung; entsteht keine
Reihung.
( ) Falsch
Grund:
( ) Richtig Zwei String-Objekte referiert durch z1 und z2 können die gleiche
Zeichenkette enthalten,
( ) Falsch auch wenn der Vergleich z1 == z2 das Ergebnis false liefert.
Grund:
Aufgabe 4. (4 Programmzeilen): Erweitern Sie die Schnittstelle lehrbuch.kapitel8.PositionierbareListe (es ist nicht notwendig, sie zu kennen) um Operationen, mit denen die Summe und die Differenz zweier Listen errechnet werden kann.
Aufgabe 5. (4 Programmzeilen): Die folgende fehlerhafte Funktion soll die Summe der ersten n Zahlen berechnen:
public intsumme(final int n) { return n + summe(n-1); }