Einstufungstest zum Teil 1 des Lehrgangs "aktiv programmieren lernen mit Java" [] (Test, Einstufung, Prüfung (Java Kenntnisse Test;)), Einstufungstest, Seite 721559
http://www.purl.org/stefan_ram/pub/java_einstufungstest_1_de ist die kanonische URI dieser Seite.
Stefan Ram

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.

Seiteninformation und Impressum  |   Mitteilungsformular  |   "ram@zedat.fu-berlin.de" (ohne die Anführungszeichen) ist die Netzpostadresse von Stefan Ram.   |   Von der Stefan-Ram-Startseite ausgehend finden sich oft noch mehr Informationen zu Themen, die auf einer Seite angesprochen wurden. (Eine Verbindung zur Stefan-Ram-Startseite befindet sich ganz oben auf dieser Seite.)  |   Der Urheber dieses Textes ist Stefan Ram. Alle Rechte sind vorbehalten. Diese Seite ist eine Veröffentlichung von Stefan Ram. slrprd, PbclevtugFgrsnaEnz