Scope of functions
- Programming exercises integrated in ILIAS-tests
- browser-based IDE
- Output can be interpreted in textual and graphical form (2D & 3D)
- Supported programming languages: C, C++, Matlab, Octave and Java, and DuMuX
- Automatic correction of task solutions possible
Frequently asked questions
Oben in ViPLab kann die zu bearbeitende Aufgabe ausgesucht werden. Links im Textfeld steht der Teil des Programms, das zur Lösung der Aufgabe vervollständigt werden muss. Unten kann mit Execute das Programm ausgeführt werden. Oberhalb des Textfeldes kann das Programm gespeichert, geöffnet, gedruckt werden und Zeilennummern kann man sich anzeigen lassen, um die Stelle, an der eine Fehlermeldung auftritt, leichter zu finden. Im rechten Textfeld steht dann die Ausgabe und eventuell Fehlermeldungen.
Aus Sicherheitsgründen sind einige Funktionen deaktiviert. Es kann auch aus didaktischen Gründen sinnvoll sein, eine beschränkende Struktur vorzugeben. Außerdem verbietet bei einigen Programmen die Lizenz, dass man die Programme vollumfänglich im Internet zugänglich macht.
ViPLab läuft im Browser. Wird dieser geschlossen oder die Seite neu geladen, dann gehen alle Änderungen verloren. Man kann seine Arbeit auf dem aktuellen Rechner speichern. Damit ist man vor Datenverlust geschützt und kann auch später weiterprogrammieren.
Man muss zwei Arten von Fehlern unterscheiden.
Es gibt syntaktische Fehler, das heißt die Form des Programms entspricht nicht den Regeln der Programmiersprache; vergleichbar einem Grammatikfehler bei Sprachen. Computer sind da sehr strikt. Bei syntaktischen Fehlern bricht das Programm ab und gibt eine Fehlermeldung aus, die Hinweise auf den Fehler geben. Es wird dabei die Zeilennummer mit angegeben, so dass der Fehler in dieser Zeile oder der näheren Umgebung zu suchen ist.
Die Zeile
n = length(b;
führt zur Fehlermeldung wie
>> {#??? Error: File: /work/16/source.m Line: 31 Column: 13 Unbalanced or unexpected parenthesis or bracket.
die angibt, dass die Zahl der öffnenden und schließenden Klammern ( bzw. ) unterschiedlich ist. Damit sollte der Fehler zu finden sein.
Schwieriger zu finden sind semantische Fehler, also logische Fehler im Programm. Bei Sprache wären das korrekte Sätze mit einer falschen Aussage. Inhaltliche Fehler sind schwerer zu finden. Es gibt einige klassische Fehler. Oft werden Schleifen einmal zu viel oder zu wenig durchlaufen, Vorzeichenfehler in Bedingungen oder Dimensionsfehler bei Vektoren und Matrizen treten auf. Manchmal bricht das Programm ab, wenn der Befehl nicht ausgeführt werden kann. Dann ist der Fehler leicht einzugrenzen. Stimmt allerdings das Ergebnis nicht, muss das Programm noch einmal durchdacht werden. Es kann helfen Zwischenergebnisse mit disp, printf ausgeben zu lassen. Oft haben die Variablen andere Werte, als man fälschlicher Weise vermutet.