INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Türme von Hanoi rekursiv programmieren?



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

04.11.2010, 12:46 (Dieser Beitrag wurde zuletzt bearbeitet: 14.01.2011 13:32 von Dennis.Moser.)
Beitrag #1

Crizzel Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Oct 2010

9.0
-
de

72458
Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo LVF!

Ich hoffe, ich bin hier in der Kategorie mit meinem Problem auch richtig.

Wir haben vor kurzem ein Projekt bekommen, mit LV die Türme von Hanoi rekursiv zu programmieren und das Ganze dann an unseren DENSO Industrieroboter zur "Ausführung" zu geben.
Wir trennen jetzt mal die zwei Probleme und betrachten nur das erste, die rekursive Programmierung des Algorithmus von den Türmen von Hanoi.

Und genau da setzt unser Problem an. Da niemand Ahnung von der Programmierung von Algorithmen in LV hat, sitzen wir ziemlich doof da. Das Internet gibt wenig her und sätmliche LV-Bücher helfen mir auch nicht weiter.

Hat jemand einen Vorschlag bzw. ein paar hilfreiche Tipps, wie ich soetwas lösen könnte?
Ich verstehe ja noch nicht einmal den Algorithmus des Problems... Türme von Hanoi

Es wäre toll, wenn sich hier jemand meiner annehmen könnte und mir helfen würde!

Vielen Dank & viele Grüße,
Christoph
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 16:52
Beitrag #2

snuz Offline
LV-Eumel
**


Beiträge: 245
Registriert seit: Mar 2009

2011
2008
EN


Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo Crizzel,

ich finde die Aufgabe äußerst interessant. Ich weiß nicht wie Du dir die Umsetzung gedacht hast, aber ich habe erstmal drei Arrays genommen. Die Arrays haben einen Index von 4, also fünf "Scheiben". Das erste Array fülle ich mit 1 bis 5, somit steht 1 für die kleinste Scheibe und 5 für die größte, die anderen beiden jeweils mit 0. In einer Schleife suche ich das zweite Array nach "Platz" durch (0 bedeutet Platz), also der zweite Turm. Dann schreibe ich die 1 auf das zweite Array um, danach sucht LabView wieder nach Platz da Turm 1 und Turm 2 jetzt belegt sind schaut er nach Turm 3. Dann wieder nach einer Möglichkeit...
weiter bin ich noch nicht, aber möglich ist es.
Wieviel Scheiben sollen denn genutzt werden?

Gruß snuz

Es gibt 10 Arten von Menschen... Die die Binärrechnung beherrschen und die die es nicht tun.

http://www.techniker2013.eu
http://www.plapilab.de
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 17:18
Beitrag #3

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo Christoph,

ein bisschen Googlen schadet nicht... Ist ja schließlich eine Aufgabe, die schon Generationen vor dir bearbeitet habenSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 21:34 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2010 21:34 von jg.)
Beitrag #4

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Türme von Hanoi rekursiv programmieren?
Für echt rekursive Programmierung in LabVIEW müsstest du updaten auflv09updaten:
http://zone.ni.com/devzone/cda/tut/p/id/10214

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
04.11.2010, 23:05 (Dieser Beitrag wurde zuletzt bearbeitet: 21.11.2010 14:47 von rbliomera.)
Beitrag #5

rbliomera Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 56
Registriert seit: Sep 2010

LV X.Y.Z
-
kA

NNNNN
Spain
Türme von Hanoi rekursiv programmieren?
Edit: Deleted. /EOM
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 08:59
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo Crizzel,

Zitat:Ich verstehe ja noch nicht einmal den Algorithmus des Problems...
Dann spiel den Algorithmus doch einfach mal mit ein paar Münzen nach! Ist sehr hilfreich, sich das zu visualisierenSmile

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 10:28
Beitrag #7

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Türme von Hanoi rekursiv programmieren?
Interessantes Problem. Das Programm (Link von GerdW) auf LV umzustricken dürfte kein Problem sein. Schwieriger wird es sein, den Turmumbau während es läuft schön zu visualisieren. Hat da jemand eine Idee wie man das machen könnte?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 10:38
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo Lucki,

Zitat:Hat da jemand eine Idee wie man das machen könnte?
- PictureIndicator, "Scheiben" selbst malen&animieren
- mehrere ColorBoxes vorhalten und diese auf dem FP verschieben

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 11:03
Beitrag #9

Crizzel Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Oct 2010

9.0
-
de

72458
Deutschland
Türme von Hanoi rekursiv programmieren?
Hallo Forum

wow, das ging ja wirklich schnell mit den ersten patenten Antworten. Freut mich!

Vorab: Ich habe bisher nur 1 Projekt in LV gemacht - und das war ziemlich "einfach"...(Spannungs-, Strom- und Leistungsmessung an PV-Modulen mit Ausgabe in LV). Daher sind meine Kenntnisse in LV ziemlich bescheiden.

Selbstverständlich habe ich seit zwei Wochen Algorithmen gelesen und damit herumgespielt. Das Problem ist ja schon uralt und die Thematik eigentlich ausführlich behandelt. Dennoch fehlt bei mir noch das entscheidende Fünkchen, damit mir der Algorithmus klar wird.

Wir haben letztes Jahr in LV das Spiel sequenziell für den Roboter programmiert - aber das ist natürlich keine Kunst. Das ist ja nur eine Abfolge verschiedener Punkte, die der Roboter abfahren soll und dabei werden noch ein paar I/Os benutzt.

Anforderungen:
Nun ist die Aufgabe aber, das Szenario rekursiv zu programmieren mit Anzahl n Scheiben (variabel vom Benutzer über die Oberfläche wählbar - wir dachten an n=3..6).
Des Weiteren soll der Ablauf auf der Oberfläche (nennen wir sie mal Frontend) verfolgbar sein - es genügt ein numerischer Zähler (eigentlich keine Grafik - aber das wäre die irrsinnige Krönung des Ganzen).
Es soll noch ein Zähler drauf, wie viel Schritte er noch machen muss und schon gemacht hat.

----------------
Ich habe gestern durch Zufall im amerikanischen Forum von NI die Lösung für das Problem gefunden - jedoch nur für das Teilproblem (und das wird mir im Zweifel schon mal meinen Allerwertesten retten).
Die VI berechnet die Schritte rekursiv (siehe Anhänge) und gibt die Schrittfolge als Text aus.

Textausgabe umbauen in Ausgabe von Zahlen ist ja kein Problem. Das Ergebnis muss ich dann in ein Array schreiben lassen, aus dem mein Roboter auslesen kann, wann er was machen soll.

Und jetzt kommen die komplizierten Parts:

- Übergabe der Werte an den Roboter (kein Problem, hoffe ich) mit automatischer Berechnung der Höhe der Scheiben anhand von einem noch zu erstellenden Array in dem steht, zu welcher Zeit auf welcher Stange wie viele Scheiben liegen.

- Darstellung des Ablaufes als Zähler/Grafik in LV

- Verständnis für den Algorithmus (*lach* - ich hab die VI aber verstehe trotzdem noch nicht, wie am Ende die richtige Schrittfolge rauskommt)


Ich weiss, solche Aufgaben sind hier mit Sicherheit keine "Highlights"...dennoch würde ich mich sehr freuen, wenn ich nicht allzu sehr belächelt werde ;-)))

Vielen Dank & Grüße aus Albstadt,
Christoph


Angehängte Datei(en)
Sonstige .vi  TowerOfHanoi_LV85.vi (Größe: 17,81 KB / Downloads: 293)

Sonstige .vi  TowerOfHanoi_LV2009.vi (Größe: 13,08 KB / Downloads: 279)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
05.11.2010, 13:20
Beitrag #10

SeBa Offline
LVF-Guru
*****


Beiträge: 2.025
Registriert seit: Oct 2008

09SP1 & 10 FDS
2008
DE

65xxx
Deutschland
Türme von Hanoi rekursiv programmieren?
' schrieb:Darstellung des Ablaufes als Zähler/Grafik in LV

Hab mal bei diesem Aspekt angefangen, da der Algorithmus an sich ja schon existiert. Den Text zu zerpflücken und in Anweisungen zu zerlegen ... hatte ich keine LustBig Grin

So als Anstoß hab ich mal den 1. Turm aufgestapelt. Weitestgehend variabel gestaltet.
Es wird nur der Erste Turm gefüllt. Das soll dir helfen dich mit den Paint Funktionen zurechtzufinden. Das Verschieben der Teile auf die anderen Türme bedeutet im einfachsten Fall (ohne das Verschieben zu animieren) einfach eine Neuzeichnung mit allen Türmen.

       

Lv09_img2
Sonstige .vi  Hanoi_GUI_Prototyp.vi (Größe: 22,44 KB / Downloads: 307)



Gruß SeBa

Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.

Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.

Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Programmieren im Formelknoten DrHoas 9 12.690 26.06.2021 23:22
Letzter Beitrag: Martin.Henz
  Tic Tac Toe Programmieren OenerSer 3 3.007 11.05.2021 09:26
Letzter Beitrag: OenerSer
  Labview Memory Programmieren OenerSer 5 3.805 27.04.2021 13:05
Letzter Beitrag: GerdW
  Statemachine programmieren… Granit 8 10.881 30.04.2017 16:42
Letzter Beitrag: Granit
  Übersichtliches Programmieren LabVIEW cobain2004 2 4.364 29.10.2015 17:57
Letzter Beitrag: IchSelbst
  Automatischen Ablauf programmieren Freaky29 3 4.997 03.02.2015 11:27
Letzter Beitrag: Freaky29

Gehe zu: