Einstufungstest vor Teil 1
Wer in den Teil 1 einsteigen will, sollte zunächst prüfen, ob er auch die erforderlichen Vorkenntnisse aus dem Teil 0 besitzt, der die elementaren Grundlagen von Java behandelt. Auch wer Teil 0 nicht gelesen hat, aber Vorkenntnisse aus anderen Quellen besitzt, kann so prüfen, ob er gleich mit Teil 1 beginnen kann.
Für Teil 1 wird grundsätzlich vorausgesetzt, daß der Leser in der Lage ist, eine Java-Übersetzungseinheit übersetzen und ausführen zu lassen, was aber nicht direkt in dem folgenden Test vorkommt. Dennoch sollte das unbedingt vor der Lektüre von Teil 1 erlernt werden.
Dieser Einstufungstest soll ohne Hilfsmittel (Aufzeichnungen, Bücher, Webrecherchen) bearbeitet werden. Nur ein Stift und Papier oder ein Texteditor dürfen verwendet werden. Die maximale Bearbeitungszeit beträgt 15 Minuten.
- 0 Schreibweisen
- In einer Java -Übersetzungseinheit stehe die Zeichenfolge "return 2" (außerhalb eines Kommentars und außerhalb eines Textliterals). Wird die Bedeutung verändert, wenn 1.) das Leerzeichen gelöscht wird, 2.) ein weiteres Leerzeichen direkt nach dem Leerzeichen eingefügt wird, 3.) der kleine Buchstabe "r" durch den großen Buchstaben "R" ersetzt wird?
- 1 Datentypen
- Welcher Datentyp ist am besten für einen Wert geeignet, der eine bestimmte Würfelzahl (also eine der Zahlen aus der Menge { 1, 2, 3, 4, 5, 6 }) darstellen soll? Zur Auswahl stehen der Datentyp "int", der Datentyp "double" und der Datentyp "boolean".
- 2 Literale
- Sagen Sie die Ausgabe des folgenden Programms möglichst genau voraus, ohne das Programm von einer Java -Implementation ausführen zu lassen.
- Die erste Zeile (mit der Endung ".java") gehört noch nicht zu dem Inhalt der Quelldatei, sondern gibt deren Namen an.
Literale.java
public class Literale
{ public static void main( String[] args ) //
{ System.out.println( 012 ); /*
System.out.println( 120 ); */
System.out.println( 2E0 ); }} //- 3 Operatoren
- Sagen Sie die Ausgabe des folgenden Programms möglichst genau voraus, ohne das Programm von einer Java -Implementation ausführen zu lassen.
Operatoren.java
public class Operatoren
{ public static void main( String[] args )
{ System.out.println(( double )( 1 / 2 ));
System.out.println( 5 % 2 ); }}- 4 Ausdrücke
- Schreiben Sie einen Java -Ausdruck, der dem folgenden Term mit einer gemischten Zahl (andere Schreibweise für einen unechten Bruch) entspricht. Die gemischte Zahl wird „Zwei drei Siebtel“ gesprochen. Zu jedem Numeral in dem Term soll es also ein entsprechendes Numeral in dem Ausdruck geben. Der Wert des Ausdrucks soll möglichst dem Wert gleichen, der sich ergibt, wenn man den Term so ausrechnete, wie man dies in der Schule gelernt hat. (Abweichungen von weniger als ein Milliardstel gelten dabei noch als richtig.)
Term [Mathematische Notation]
3 + 4 3
------- + 2 ---
5 7- 5 Prozentrechnung
- Schreiben Sie einen Java -Ausdruck, dessen Wert der Wert ist, den man erhält, wenn man 16 % zu 4,83 (der Zahl "Vier Komma Acht Drei“) addiert. Der Ausdruck darf nur Numerale und Operatoren enthalten. Dabei soll ein Numeral dem Wert 16 % entsprechen (so daß nur dieses Numeral verändert werden würde, wenn ein anderer Prozent-Wert verwendet werden soll) und ein anderes Numeral soll dem Betrag von 4,83 entsprechen. Der verlangte Wert soll also nicht im Kopf ausgerechnet und dann hingeschrieben werden.
- 6 Analyse einer Methodenangabe
- In einem Programm findet sich die folgende Anwendung einer Methode.
Anwendung
java.awt.datatransfer.SystemFlavorMap.getDefaultFlavorMap()
- Bei dieser Angabe der anzuwendenden (aufzurufenden) Methode wird ein Methodenname, ein Paketname (package name ) und ein Klassenname verwendet, aber wo endet der Methodenname und wo fängt der Klassenname an? Geben Sie auf jeweils einer Zeile den Methodennamen, den Paketnamen und den Klassennamen (in dieser Reihenfolge) an. Sie können dabei annehmen, daß hier die in Java üblichen Empfehlungen zur Benennung von Methoden, Paketen und Klassen beachtet wurden. (Aber auch ohne Berücksichtigung dieser Empfehlungen kann man die gesuchten drei Teile erkennen.)
- 7 Anwendung einer Abbildungs-Methode
- Ein Standard-Methode habe folgende Synopsis.
Math.abs [Synopsis]
java.lang
Class Math
public static double abs( double )
Returns the absolute value of an double value.- Schreiben Sie einen Ausdruck, der die Anwendung dieser Methode auf das Numeral "2." als Argument ist. (Die „Anwendung einer Methode auf ein Argument“ wird auch „Aufruf einer Methode mit einem Argument“ genannt. Ein Numeral ist ein numerisches Literal, d.h. eine bestimmte Art eines Ausdrucks.) Die Lösung dieser Aufgabe darf nicht mehr als genau diesen Ausdruck enthalten. Die Lösung ist also falsch, wenn sie mehr oder weniger umfaßt als genau den verlangten Ausdruck.
- 8 Ausgabe
- Schreiben Sie genau auf, wie die Ausgabe der folgenden Übersetzungseinheit aussieht.
Ausgabe.class
public class Ausgabe
{ public static void main( String[] args )
{ System.out.print( 1 < 2 );
{ System.out.println( 2 ); System.out.println( 3 ); }}}- 9 Quelltexte-Entitäten (Fachbegriffe)
- Geben Sie an, ob die folgenden Quelltexte (jeweils ohne die Anführungszeichen) jeweils
- ein Ausdruck,
- eine Anweisung,
- ein Operator,
- ein Literal oder
- keines davon
- sind. Wenn mehrere Antworten richtig wären, dann soll der speziellere richtige Begriff als Antwort verwendet werden.
- 0) Quelltext "2"
- 1) Quelltext "+"
- 2) Quelltest "2+"
- 3) Quelltext "+2"
- 4) Quelltext "{}"
- 5) Quelltext "{};"
- 6) Quelltext "{{};}"
- 7) Quelltext "Math.cos( 0 )"
- 8) Quelltext "Math.cos( 0 );"
Die richtigen Lösungen sollen hier nicht verraten werden. Wer das geforderte Wissen sicher beherrscht, weiß nämlich jetzt, daß er die Aufgaben richtig beantwortet hat. In einer Lehrveranstaltung kann der Dozent die richtigen Antworten nach dem Ende des Testes im Rahmen einer Nachbesprechung mitteilen.
Wer nur unvollständiges Wissen hat, könnte aber irrtümlich glauben, Aufgaben richtig beantwortet zu haben. Daher sollten nach Beendigung des Tests die Programme, deren Ausgaben vorhergesagt werden sollten, ausgeführt werden und die vorhersagte Ausgabe soll mit der tatsächlichen Ausgabe verglichen werden. Als Lösung geschriebene Java -Programmteile sollten ausprobiert und mit dem Verlangten verglichen werden. Wenn mehrere Aufgaben nicht verstanden wurden, falsch beantwortet wurden oder Zweifel daran bestehen, ob sie richtig beantwortet wurden, dann zeigt das schon, daß der Teil 0 vielleicht doch noch nicht übersprungen werden sollte.
- eine oder weniger falsche Lösungen
- Der Teil 1 kann gelesen werden.
- zwei bis drei falsche Lösungen
- Der Teil 1 kann gelesen werden, wenn das fehlende Wissen noch nachträglich erworben wird.
- vier oder mehr falsche Lösungen
- Es sollte zuerst der Teil 0 durchgearbeitet werden.