Türme von Hanoi mit Delphi programmieren

Hallo, ich habe ein großes Problem. Im Rahmen meines Info-Leistungskurses soll ich eine Belegarbeit anfertigen, zum Thema des letzten Semesters, in dem ich schon Grundlagen nicht verstanden habe.
Ich soll mit delphi (also objektorientiert) Türme von hanoi programmieren. Dabei soll ich die Lösung grafisch darstellen. Man soll also sehen, wie die Steine gestapelt und umgestapelt werden. Die Steine Sollen eine Farbe erhalten und diese während des umstapelns beibehalten. gespeichert werden, zum Schutz vor Stromausfall. Das UML-Diagramm soll wie folgt aussehen: TXT_Zeit:string, LBL_anzahl:string, LBL_Warte:string, LBL_Zeit:string, LBL_zugzahl:string, TXT_zugzahl:String, hoehe: u_platz, position:U_platz) und die Methoden: begin() und BN_start_click()Des weiteren gibt es eine Klasse U_steine mit den Argumenten farbe:int, groesse:int und position:int Klasse: U_Turm mit den Methoden stapeln() die beiden letzten KLassen sind Tcanvas und U_platz mit bisher noch keinen weiteren argumenten oder methoden. Folgende Beziehungen: U_hanoi hat TCanvas,
U_Turm hat U_steine, U_platz hat U_turm,
U_Hanoi hat U-platz, also nur hat beziehungen (aggregation). Soweit ist das UML diagramm abgesegnet worden von meinem Lehrer, jetzt komm ich aber nicht weiter mit der Umsetzung, können Sie mir helfen? noch eine Frage: gibt es eine PRogramm mit dem man Delphi exe wieder in quellcode verwandeln kann?
MfG, Bea

[…]

Im Rahmen meines
Info-Leistungskurses soll ich eine Belegarbeit anfertigen, zum
Thema des letzten Semesters, in dem ich schon Grundlagen nicht
verstanden habe.

Das fängt wirklich gut an…

Ich soll mit delphi (also objektorientiert) Türme von hanoi
programmieren. Dabei soll ich die Lösung grafisch darstellen.
Man soll also sehen, wie die Steine gestapelt und umgestapelt
werden. Die Steine Sollen eine Farbe erhalten und diese
während des umstapelns beibehalten.

Vielleicht kenne ich ja die falschen Hanoier Türme, aber wozu brauchen die Steine eine Farbe, die zudem noch abgespeichert werden muß?

gibt es eine PRogramm
mit dem man Delphi exe wieder in quellcode verwandeln kann?

Das halte ich für unwahrscheinlich. Was für ein Problem willst Du damit lösen?

Sebastian

Kinder, Kinder! Wie haben wir bloß früher gemooglet – ähh: ohne Google gemogelt?


Anm. Moderator (Heiner): Da dieser Artikelbaum aus einem anderen Brett hierher verschoben wurde, wurde ein Hinweis darauf aus diesem Artikel entfernt. Der gelöschte Textabschnitt wurde ggf. durch „[…]“ ersetzt.

[…]

gibt es eine PRogramm mit dem man Delphi exe wieder in quellcode verwandeln kann?

Es gab einstmals Decompiler für Turbo Pascal. Von einem Delphi-Decompiler habe ich noch nie gehört.
Außerdem kann ein solches Programm keine Information aus dem Executable hervorzaubern, die nicht dristeht. Das heißt: Kommentare fehlen, sprechende Variablen- und Funktionsnamen gibt es auch nicht mehr ( „for int001 := 0 to int0027 do proc011;“ ). Ein solcher Quelltext ist enorm schwer verständlich.

Abschließend: Für Grundlagenerläuterungen oder Detailfragen stehe ich gern im passenden Forum oder per Email zur Verfügung, aber wenn Du ein fertiges Programm erwartest bist Du hier (und überall anders) falsch.

genumi


Anm. Moderator (Heiner): Da dieser Artikelbaum aus einem anderen Brett hierher verschoben wurde, wurde ein Hinweis darauf aus diesem Artikel entfernt. Der gelöschte Textabschnitt wurde ggf. durch „[…]“ ersetzt.

Edit Mod (Heiner): Vorweg zum Verständnis dieses Artikels: Dieser Artikelbaum stand zuvor im Brett „IT-Sicherheit“ und wurde hierher verschoben :smile:


Hallo,

Hi,

ich habe ein großes Problem. Im Rahmen meines
Info-Leistungskurses soll ich eine Belegarbeit anfertigen, zum
Thema des letzten Semesters, in dem ich schon Grundlagen nicht
verstanden habe.

Das ist schlecht. Die Grundlagen zu Themen in diesem Brett findest Du in den FAQs. Falls Du dazu konkrete Fragen hast kannst Du damit gerne wiederkommen.

Ich soll mit delphi (also objektorientiert) Türme von hanoi
programmieren.

Das ist schon mal schlecht: Delphi ist Klartext, falls das Programm vertrauliche Informationen enthaelt, solltest Du zumindest eine asymmetrische Verschluesselung verwenden, falls Du es ueber ein potentiel unsicheres Medium transportieren musst. Ausserdem solltest Du zur Sicherung der code base ein dezentrales Versionsmanagement einsetzen (z. B. CVS oder BitKeeper). Auch Tuerme halte ich fuer ein Sicherheitrisiko: sie koennen (bei fehlerhafter Programmierung) einstuerzen. [1] liefert immerhin fast 5000 Treffer! Fange erstmal mit Modellen von Flachbauten an und arbeite Dich langsam zu niedrigen Bunkern vor. Tuerme sind fuer Spezialisten.

Dabei soll ich die Lösung grafisch darstellen.

„GUI: ‚Man in the middle‘ attack zwischen user und Rechner.“ (irgendwo gelesen) Verwende zur Steigerung der Transparenz Textformate.

gespeichert werden, zum Schutz vor Stromausfall.

Das ist eine sehr gute Idee. Je nach Vitalitaet des Systems solltest Du auch ueber eine USV nachdenken.

Das UML-Diagramm soll wie folgt aussehen: [snip].

Davon versteh ich nichts, suche aber auf jeden Fall den RFC, der diesbezueglich den Standard festlegt.

Soweit ist das UML diagramm abgesegnet worden von meinem
Lehrer,

Je nach Verstaendnis des Lehrers koenntest Du auch eine zweite Meinung von einem Sicherheitsexperten einholen. Gegebenenfalls musst Du den bezahlen.

jetzt komm ich aber nicht weiter mit der Umsetzung,
können Sie mir helfen?

Das Thema ist leider zu komplex, um es ueber ein solches Webforum abzuhandeln. Frage jemand persoenlich, aus Deinem Bekanntenkreis oder professionelle IT-Experten.

noch eine Frage: gibt es eine PRogramm
mit dem man Delphi exe wieder in quellcode verwandeln kann?

Nein. Programme, deren source code nicht sowieso von vorn herein vorliegt, solltest Du sowieso nicht vertrauen. Closed source war bislang selten eine Garantie fuer sichere Programmierung (eher im Gegenteil IMHO). Frage beim Hersteller _freundlich_ nach Offenlegung der Quellen (evtl. musst Du dafuer auch einen NDA unterzeichnen), alles andere waere Unsinn.

MfG, Bea

SCNR,
Gruss vom Fra"Du bist hier fschal"nk.
===footnotes===
[1] Beweis durch google: http://www.google.de/search?q=tower+buffer+overflow

[Team] Türme von Hanoi mit Delphi programmieren
Hallo!

Nur als kurzer Hinweis an alle (potenziell) Antwortenden: Natürlich ist wer-weiss-was kein Hausaufgaben-Erledigungsdienst, aber man kann ja durchaus ein paar konkrete Hinweise geben, wie das Problem zu lösen ist (ohne gleich ein komplettes Programm zu entwerfen) :smile:

Grüße!

Heiner

Hi Bea,

Das Problem ist in der Literatur bekannt und verbreitet. Es ist ein beliebtes Beispiel zur Erklärung der Rekursion. Schau mal in der Bibliothek nach Programmierbüchern oder im Internet nach „Rekursion“ und „Türme von Hanoi“, vielleicht auch in englisch. Dort findest du sicher Sourcecode (den Programmtext).

Chris