Aufgabe H4 7.2???

Java_the_hut
Gast

Aufgabe H4 7.2???

Beitrag von Java_the_hut »

hi Leute,
ich hab ein Problem mit der Aufgabe 7.2 und zwar weiß ich nicht so recht weiter!
Am Ende soll doch eine immer längere Zeichenkette rauskommen für den Wert den man für n angibt also:

bei 1 (...)
bei 2 (.....)
bei 3 (.........)
usw......

Ich steh auf dem Schlauch, habe nämlich keine Idee wie ich das umsetze
mein Anfang war erstmal nen Fallunterschied bei ner leeren Regel kette und dann wenn alles okay ist geht es weiter mit der Berechnung nur da häng ich jetzt fest!

Osterlaus
BSc Spammer
BSc Spammer
Beiträge: 1263
Registriert: 23. Aug 2007 12:46
Wohnort: DA

Beitrag von Osterlaus »

Hilft dir der Tipp "rekursiver Aufruf" vielleicht?

Christian.
Mausschubser
Mausschubser
Beiträge: 56
Registriert: 6. Aug 2007 22:38

Beitrag von Christian. »

ich denke, dass eine fallunterscheidung bei einer leeren regel nichts mit dieser aufgabe zu tun hat...das sollte schon in 7.1 geklaert sein.
was ist der triviale fall bei expand-ntimes?
wenn du ihn gefunden hast, dann musst du nur noch den nicht trivialen fall behandeln.
stichwort: generative rekursion

RaZzel
Erstie
Erstie
Beiträge: 15
Registriert: 1. Okt 2007 12:13

Beitrag von RaZzel »

Ich hätte da auch noch eine (blöde) Frage. Was soll eigentlich ausgegeben werden, wenn n=0 ist?

soll ich dann entweder die zeichenkette an sich ausgeben, weil ja die Ersetzungsregeln nicht angewandt werden oder empty?

Letzteres würde für mich zwar mehr sinn machen, aber ich steh grad irgendwie auf dem schlacuh und werd aus der Aufgabenstellung nicht schlau...

Wäre vielleicht jemand so nett und würde ein Beispiel posten? Weil ich bin grad auch e wenig unschlüssig, ob die Ersetzungsregeln in der 2. (etc.) Iteration auf das Ergebnis der 1. Iteration angewandt werden sollen oder auf de ursprüngliche Zeichenkette...

Bei mir würde es im moment so aussehen:

(expand-ntimes 2 '(F + G) '( (F (G +)) (G (+ F)) ) ) -----> (list 'G '+ '+ '+ 'F 'G '+ '+ '+ 'F)

...help....

Benutzeravatar
Skylo
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 149
Registriert: 7. Nov 2006 20:08
Wohnort: Darmstadt (Woogsviertel)
Kontaktdaten:

Beitrag von Skylo »

also wenn n = 0 ist dann gibt der bei mir einfach wieder die Kette aus...

expand-ntimes N string rules -> string bei n=0

Ansonsten führt er ja expand-once min. 1 mal aus!

Und zur Frage mit der Rekursion...

Man muss natürlich dann expand-once auf das Ergebnis aus dem ersten Mal expand anwenden.

Meine Meinung war das sowas wie

1. Schritt (klar)
G + + + F

und dann

+ F + + + + + G + beim 2. mal expanden... usw.
Junge, geh kacken! Echt jetzt!

RaZzel
Erstie
Erstie
Beiträge: 15
Registriert: 1. Okt 2007 12:13

Beitrag von RaZzel »

Stimmt du hast recht. Stand eigentlich auch so in der aufgabe (ganz oben in der einleitung).

Dann noch schnell ändern und ich habs dann auch hinter mir :D

Benutzeravatar
arit
Windoof-User
Windoof-User
Beiträge: 28
Registriert: 19. Nov 2007 00:08
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von arit »

Meine Meinung war das sowas wie

1. Schritt (klar)
G + + + F

und dann

+ F + + + + + G + beim 2. mal expanden... usw.
Müßte dass nicht eher so sein?

F + G mit F -> G + ; G -> + F

0 F + G
1 G + + + F
2 + F + + + G +
3 + G + + + + + F +
4 + + F + + + + + G + +
Guilty Gear und ST ftw!
-----> http://www.hardedge.org

Antworten

Zurück zu „Archiv“