ADSimulator ist ein Programm zum simulieren der Datenstrukturen ( Listen Bäume ) sowie die Suchverfahren und andere Algorithmen.
Die Simulation wird graphisch dargestellt wie es unten auf dem Screenshot zu sehen ist. Das Programm besteht aus einem Editor wo die Datenstrukturen gezeichnet werden und einem Terminal zum eingeben der Befehle die ausgeführt werden sollen, das Terminal verfügt über eine eigne Syntax Highliting.
Wofür ist das Programm ?
ADSimulator ist grundsätzlich zum Lernzwecke gedacht, es hilft Studenten die Datenstrukturen besser zu verstehen, wie sie sich verhalten und wie sie implementiert werden. Es zeigt auch die Unterschiede zwischen den verschiedenen Datenstrukturen.
Die Implementierung
Die wichtigsten Bestandteile des Programms sind:
Graphic Klasse, beinhaltet die benötigten Funktionen zum Zeichnen. Jedes neue Node erbt von der Klasse um sich zu zeichnen.
SystemGraphic zum speichern der Elemente die gezeichnet werden sollen. Erbt selber von Graphic, und somit kann ein komplettes System wiederum ein Element eines anderen Systems.
PaintDevice, die Zeichenfläche im Editor.
Editor beinhaltet im Moment den Editor.
MainWindow, zum verwalten der MDI.
Syntaxhighliter
Interpreter, zum interpretieren des Textes. Jede Datenstruktur hat einen eigenen Interpreter. Aber alle erben von einem Interpreter der die Grundfunktionen beinhaltet.
Terminal, zum eingeben des Textes und beinhaltet Syntaxhighliter.
EListe (einfache Liste), wie alle anderen Datenstrukturen erbt sie von SystemGraphic.
DListe wie Eliste nur doppelt verkettet.
NodeGraphic, erbt von Graphic. Jede Datenstruktur verwendet die NodeGraphic um die Element darzustellen.
Wie funktioniert ADSimulator?
Im Terminal gibt man die Befehle, sie werden intern bearbeitet und graphisch dargestellt.
Beispiel Befehle für die EListe Datenstruktur:
createlist <list name>: erstellt eine einfache Liste mit dem Name <name>.
pushback : fügt ein Element am Ende der List zu.
pushpop : fügt ein Element am Anfang der List zu.
popfront : löscht das erste Element aus der Liste.
popback : löscht das letzte Element aus der Liste.
Im Screenshot kann man die Eingaben und Ausgaben Erfolg/Error sehen.
Nein das ist noch nicht verfügbar. Da ich dazu noch Animation hinzugefügt habe dauerte das noch länger. Die Listen sind schon so weit und jetzt habe ich mit den Bäumen angefangen.Ich hoffe ich kriege das vor dem Anfang des nächsten Semester hin.Vielleicht stelle ich eine Test Version zur Verfügung für das was im Moment läuft.
ja, das mach ich mal, wobei ich z.Zt. auch wieder viel zu tun habe (Klausuren etc.),
aber wenn ich mal richtig Zeit hab schau ich rein :) torben.hensgens@alumni.fh-aachen.de
download?
is das noch nich verfügbar?
noch nicht
Nein das ist noch nicht verfügbar. Da ich dazu noch Animation hinzugefügt habe dauerte das noch länger. Die Listen sind schon so weit und jetzt habe ich mit den Bäumen angefangen.Ich hoffe ich kriege das vor dem Anfang des nächsten Semester hin.Vielleicht stelle ich eine Test Version zur Verfügung für das was im Moment läuft.
hoi, interessantes
hoi, interessantes projekt.
hatte auch mal an sowas gedacht, ist der code auf irgendnem repo oder ist das projekt gar komplett eingestampft?
Hi, Code ist in Sourceforge,
Hi, Code ist in Sourceforge, habe zwar lange nicht mehr was commitet aber will irgendwann mal weitermachen
bald sind die Klausuren vorbei dann könnte ich was dran machen.
kannst mir gerne deine email hinterlassen dann schicke ich dir svn zugang
Hoi, ja, das mach ich mal,
Hoi,
ja, das mach ich mal, wobei ich z.Zt. auch wieder viel zu tun habe (Klausuren etc.),
aber wenn ich mal richtig Zeit hab schau ich rein :)
torben.hensgens@alumni.fh-aachen.de
So, eMail wurde schon
So, eMail wurde schon verschickt :-)