Normalerweise dauert im ersten Semester eine Klausur nach der Einführung in die Programmierung mit JAVA neunzig Minuten. In diesem Semesterabschluss (Juli 2020) dauerte die Klausur zum Modul „Programmieren 1 mit Java“ nur 60 Minuten. „Bloss nicht zulange im Auditorium Maximum bleiben, mit potentiell Covid-19 infizierten Menschen“ – eine Angst, die nicht unbegründet und verständlich ist.
Natürlich stehen die Klausarbeitsplätze weit auseinander und der Mund-Nasen-Schutz verhüllt die gefährlichen Gesichtspartien, aber man weiß ja nie, wer in der stehenden Atmosphäre des Auditorium Maximum möglicherweise Covid-19 streut…
Das Semester war in jeder Beziehung ungewöhnlich: alle Begegnungen zwischen Studierenden und Lehrendem fanden in virtuellen Online-Meetingräumen statt. Die Vorlesungen, Workshops und Gruppen-Übungen auch die Semester-Projekt-Präsentationen. Praktisch dabei war nur der reduzierte Verkehr, die Schonung der Umwelt und der kurze Gang ins Geschoß mit den HomeOffices und der Blick auf den weitläufigen grünen Garten.

Klausur
Das Leben ist geprägt von der Unsicherheit – sicher ist nur das Ende! Und das Ende des Semesters ist gekennzeichnet von Prüfungen, einer Klausur. Schauen wir und diese Klausur im Corona-Sommersemester 2020 zu „Programmieren_1“ mal an.
Aufgabe 1
Schreiben Sie eine lauffähige Anwendung, die folgendes realisiert: Eine double-Variable i wird mit dem Wert 1 initialisiert und dann mit Hilfe einer while-Schleife bis zum Maximalwert von 1,999 für i inkrementiert. Die double-Variable i wird also bei jedem Schleifendurchlauf um ein tausendstel erhöht. Im Schleifenkörper der while-Schleife wird jeweils der aktuelle Wert von i ausgegeben, auf die Konsole. Auf der Konsole erscheinen dann die tausend Ausgaben wie folgt: i hat momentan den Wert 1,000 i hat momentan den Wert 1,001 i hat momentan den Wert 1,002 … i hat momentan den Wert 1,998 i hat momentan den Wert 1,999 (10 Punkte)
Lösungsskizze 1
import java.util.IllegalFormatException;
public class Uebung4_3_float {
public static void main(String[] args)
{
double j = 1d;
int loop_counter = 0;
while (j <= 1.9999)
{
try
{ System.out.printf("%.3f%n",j);
j = j + 0.001f;
loop_counter++;}
catch(IllegalFormatException illFom)
{System.out.println("FormatError");} }
System.out.println("Loopcounter = " + loop_counter);
}
}
Aufgabe 2
A) Beschreiben und begründen Sie: Wann reichen Default-Konstruktoren aus? (4 Punkte) B) Nennen Sie typische Eigenschaften für Konstruktoren in Java, die Sie beim Schreiben von Konstruktoren zwingend beachten müssen. (6 Punkte)
Lösungsskizze 2
Lösungsskizze:
A) Die Default-Konstruktoren reichen aus, wenn keinerlei Variablen der Klasse mit bestimmten Werten initialisiert werden müssen.
B) + Konstruktor heißt wie die Klasse
+ Konstruktor hat keinen Returnwert
+ Konstruktor ist auch nicht vom Typ void
+ es kann mehrere Konstuktoren geben, mit unterschiedlicher
Parametrierung
+ Konstruktor kann nicht manuell aufgerufen werden
+ Konstruktor wird mit instanziieren eines Objects mit new() implizit
aufgerufen
+ Parameterloser Konstruktor überlagert den Standardkonstruktor
+ Sobald ein Konstruktor deklariert wird, "muß" auch der
Standardkonstruktor neu deklariert werden, wird erfahrungsgemäß
benötigt.
Aufgabe 3 bis 8 und Lösungsskizze 3 bis 8?
Natürlich gab es in der Klausur mehr als 2 Aufgaben! Wer sich für alle Aufgaben und Lösungsskizzen interessiert, schaut das Video an:
Mein Bedarf ist gedeckt
Ich klappe mal die JAVA-Klausur zu. Daß das Semester vorbei ist, freut mich, auch für euch. Den Studierenden wünsche ich eine erholsame, vorlesungsfreie Zeit und weiterhin positive Erkenntnisse und viel Erfolg beim Studieren und darüberhinaus.
Machen Sie’s gut!
Ihr Prof. J. Anton Illik
Und ich geh mal in den Garten.
