# Aufgaben lösen
Auf dieser Seite werden Aufgaben gelöst.

Im Folgenden wird auf die verschiedenen Bereiche näher eingegangen.
TIPP
Ist dir ein Bereich/Panel zu klein/zu groß? Dann kannst du die drei Pfeil-Symbole oben rechts in dem Bereich verwenden.
Außerdem kannst du die vertikale und horizontale "Linie" (zwischen den Bereichen) verschieben und so die Bereiche etwas genauer aufteilen.
# Die Abgabe der Lösung
Anders als bei anderen Plattformen kannst du deinen Code nicht direkt abgeben, du kannst ihn nur speichern (Save all files).
Auf dem Server wird nur die letzte Version gespeichert und diese wird auch zum Kontrollieren verwendet.
Oberhalb des Editors wird dir auch nochmal angezeigt, von welchem Datum deine aktuellst Version auf dem Server ist (Server version: XXX).
# Allgemeines zur Seite
Im oberen Bereich der Seite sind ein paar allgemeine Funktionen platziert.
# Code explizit speichern (Save all files)
Einige Aktionen (z.B. Ausführen eines Tests) speichern den Quellcode automatisch.
Willst du den Quellcode manuell speichern, so kannst du auf Save all files klicken oder Ctrl+s bzw. Cmd+s drückst.
# Code kompilieren (Compile single file)
Willst du nur die aktuell sichtbare Datei (im Editor) kompilieren, kannst du das mit Compile single file tun.
TIPP
Der Quellcode wird automatisch vor dem Kompilieren auf dem Server gespeichert (bzw. geändert, falls nötig).
# Code ausführen (Just run program)
Mit Just run program wird das Programm ohne Ein-/Ausgabe ausgeführt.
Trotzdem kannst du rechts auf das A-Symbol klicken und Konsolenparameter für das Programm angeben.
TIPP
Der Quellcode wird automatisch vor dem Kompilieren auf dem Server gespeichert (bzw. geändert, falls nötig).
# Weiße Flagge (Should not count)
Diese Funktion wird von den Erstellern der Übungen bzw. in verschiedenen Modulen unterschiedlich benutzt.
Bitte beachte auch die Hinweise auf dem Übungsblatt dazu, falls vorhanden!
TIPP
Tatsächlich handelt es sich hier nur um einen Hinweis für die Kontrolleure, an deiner Lösung wird nichts geändert.
# Verbleibende Bearbeitungszeit und Status der Freigabe
Oben rechts wird dir u.a. der Status der Freigabe sowie die verbleibende Bearbeitungszeit angezeigt.
Ist die Freigabe geschlossen, steht dort Release finished, dann ist die Aufgabe unter All closed exercises zu finden.
TIPP
Wenn dich die verbleibende Bearbeitungszeit beunruhigt/nervös macht, kannst du auf das Uhr-Symbol klicken und die Zeit wird versteckt.
Kontrolleure
Für die verbleibende Bearbeitungszeit wird das Minimum der verbleibenden Bearbeitungszeit und dem automatischen Schließen der Freigabe angezeigt.
# Der Editor
Dieser Bereich befindet sich oben links
# Hinweise
- Eine Datei wird nicht angezeigt? Du willst eine neue Datei anlegen?
- Klicke auf das
Datei-Symbol links, um alle vorhanden Dateien anzuzeigen- Klickst du auf eine Datei, wird diese im Editor angezeigt
- Du kannst auch neue Dateien hinzufügen, indem du den Dateinamen über den vorhanden Dateien einträgst (Dateiendung nicht vergessen) und anschließend auf
+klickst- (Dateien hinzufügen geht nur, wenn diese Option für die Aufgabe aktiviert wurde!)
- Klicke auf das
- Du bevorzugst einen dunklen Hintergrund zum Programmieren?
- Dann kannst du das unter
Editor settingseinstellen
- Dann kannst du das unter
- Hast du dich total vertan und möchtest zum anfänglichen Code zurück, der für die Aufgabe vorgesehen war?
- Dann klicke auf
Reset code
- Dann klicke auf
- Die Schrift ist dir zu klein?
- Dann kannst du diese dauerhaft unter
Editor settingsverändern oder links im Editor auf dieLupen-Symbole klicken
- Dann kannst du diese dauerhaft unter
- Gibt es keine Autovervollständigung?
- Aktuell nicht und ist auch erstmal nicht geplant
TIPP
Um den Zeileneinzug von mehreren Zeilen zu vergrößern, kannst die Zeilen markieren und einfach Tab drücken.
Um den Einzug zu verkleinern, die Zeilen markieren und Shift+Tab drücken
TIPP
Auch wenn der Editor und Browser sonst stabil läuft, ist regelmäßiges Speichern sinnvoll!
# Die Aufgabenstellung (Task Description)
Dieser Bereich befindet sich oben rechts
Hier wird die Aufgabenstellung angezeigt.
# Konsolenausgabe (Console output)
Dieser Bereich befindet sich unten rechts
Hier wird die Ein- und Ausgabe deines Programms angezeigt.
Die Ausgabe kann je nach ausgeführtem Testtyp ein unterschiedliches Format haben.
Für eine genauere Beschreibung der Tests siehe Tests erstellen
Die zwei häufigsten Tests werden hier erklärt
# Black-Box-Tests
Bei diesem Test werden deinem Programm Eingaben gegeben und Ausgaben von deinem Programm gelesen.
Die Konsolenausgabe stellt diesen Ablauf visuell dar.
Auf der linken Seite (Input) steht das, was deinem Programm als Eingabe gegeben wurde
Auf der rechten Seite (Output) steht das, was dein Programm ausgegeben hat.
Ist die Zeile rot hinterlegt, so war deine Ausgabe falsch (der Balken am Anfang der Zeile ist rot).
In der nächsten Zeile steht die erwartete Ausgabe (der Balken am Anfang der Zeile ist orange).
Jede Ausgabe, die unterhalb von END OF USER PROGRAM erfolgt wurde von deinem Programm zu viel ausgegeben.
TIPP
Oben im Bereich der Konsolenausgabe gibt es die Option Replace spaces, bei der Leerzeichen zur besseren Sichtbarkeit durch ein · ersetzt werden.
Siehe Option replace spaces
TIPP
Oben im Bereich der Konsolenausgabe gibt es die Option Use diff, bei der der Unterschied zwischen tatsächlicher und erwarteter Ausgabe farblich besser dargestellt wird.
Siehe Option use diff
# Regex-Tests
Bei diesem Test werden eine oder mehrere Dateien auf einen Regex geprüft.
# Hinweise
TIPP
Um besser zu debuggen kannst du nach stderr schreiben, dies wird beim Testen ignoriert.
Passend dazu gibt es oben im Bereich der Konsolenausgabe das durchgestrichene Bug-Symbol, welches Zeilen von stderr ausblendet.
WARNUNG
Bitte erstelle nur eine Instanz der Klasse zum Einlesen (z.B. Scanner oder BufferedReader), da es sonst zu Problemen mit der Ein-/Ausgabe kommt!
# Tests
Dieser Bereiche befindet sich unten links
Unten links im Fenster gibt es verschiedene Tests.
Die Normal tests sind immer sichtbar und werden vom Übungsleiter vorgegeben.
Die Custom tests sind deine selbst erstellten Tests. Der Übungsleiter kann das Erstellen von eigenen Tests verbieten.
Die Submit tests sind erst nach dem Ende der Freigabe sichtbar und stellen sicher, dass die Lösung nicht explizit auf die gegebenen Testfälle angepasst ist.
Um einen Test auszuführen, klicke auf den Kreis mit der Nummer des Tests.
Bist du mit deiner Lösung zufrieden, kannst du auch auf Run all tests klicken und es werden alle Test ausgeführt, bis ein Test fehlschlägt.

Für jeden Test, den du bereits ausgeführt hast, kannst du dir auch nachträglich das Ergebnis/die Ausgabe anzeigen lassen. Klicke dazu rechts neben dem Namen des Tests auf Result. Dann wird dir die Ausgabe in der Konsolenausgabe rechts daneben angezeigt.
Bei allen sichtbaren Tests kannst du dir auch den Inhalt anzeigen lassen. Klicke dazu einfach auf Show content.
- Der Tab
Test content visuallyhat das Format der Konsolenausgabe. - Der Tab
Test contentstellt den tatsächlichen Inhalt des Tests dar. - Der Tab
Test settings & filesstellt noch ein paar Einstellungen dar.

Für eine genauere Beschreibung der Tests siehe Tests erstellen
TIPP
Dein Quellcode wird automatisch gespeichert, wenn du mindestens einen Test ausführst.
# Weitere Bereiche
Es gibt außerdem noch ein paar Bereiche, die nur unter bestimmten Umständen angezeigt werden z.B. wenn die Lösungen kontrolliert wurden.

# Feedback für die Aufgabe (Manual assessment)
Dieser Bereich befindet sich oben rechts
Hat ein Kontrolleur deine Aufgabe kontrolliert und Punkte oder Feedback hinterlassen, wird es hier angezeigt.
Normalerweise ist es so, dass nur die manuell vergebenen Punkte zählen, das kann aber je nach Modul abweichen.
D.h. die Punkte bei den normalen und submit Tests haben nicht unbedingt etwas zu bedeuten.
# Weiterführender Editor (Subsequent editor)
Dieser Bereich befindet sich oben links
Nachdem die Bearbeitungszeit abgelaufen ist bzw. die Freigabe beendet wurde, ist dieser Bereich sichtbar (oben rechts im Fenster).
In diesem Editor kannst du die Aufgabe weiter bearbeiten und lösen z.B. auf Vorbereitung auf die Nächste Übung oder Prüfung.
Zu diesem Bereich gehören auch die Bereiche der Tests mit dem Rettungsring.
# Tests mit Rettungsring (Normal, Submit, ...)
Dieser Bereiche befindet sich unten links
Um den Code im weiterführenderen Editor zu testen, kannst du die Tests mit Rettungsring benutzen.
Deine Testergebnisse mit deinem ursprünglichen Quellcode bleiben davon unberühert.