Seite 1 von 1

HÜ 6 A8

Verfasst: 8. Dez 2007 16:50
von marek
Hängt die Eingabe für die lokal gebundenen Variablen, also

z = 7 in x(y,z)
und y = 7 in z(y)

in IRGENDEINER Weise mit der Eingabe für das "globale y" (zufälligerweise ebenfalls 7) zusammen? Oder wollten uns die Tutoren schon wieder irreführen :) ?

Verfasst: 9. Dez 2007 12:00
von Georg
Soweit ich das verstanden habe, sollen wir die 7 (aus (func 7) ) einfach auf dem weg durch die prozedur in die einzelnen umgebungseben bringen, und das UM ist quasi der routenplan...
das ganze hat bei mir keine 5 zeilen code...

Verfasst: 9. Dez 2007 12:55
von marek
Du meinst quasi, wenn wir für unser "globales" y 7 einsetzen, werden die lokalen y und z auch zu 7 ??

Verfasst: 9. Dez 2007 13:17
von Georg
nicht zwingend...
du hast das ebenenmodell und wenn ich es richtig verstanden habe, dann ist völlig egal was in den ebenen passiert, du kannst die zahl unverändert durchschleusen, du kannst sie auch mit der ebenennummer multiplizieren, oder einfach eins draufsetzen, es ist dem UM völlig egal was passiert, wichtig ist nur in welcher umgebung es passiert...

Verfasst: 9. Dez 2007 16:50
von ChRiZz88
Hm, ich hab genau 5 Zeilen, bei größerer Formatierung dann 7...
Was mich wundert ist, dass ich kein einziges lambda drin habe, weil die Version ohne lambda besser aussieht.. Aber mein Verstand sagt mir, dass doch nur ein lambda die Doppelblasen erzeugt, oder? Da drei drinne sind, müsste man ja auch lambda haben... Oder geht das auch mit local?

Verfasst: 9. Dez 2007 17:00
von Krümelmonster
Du hast doch bestimmt ein local
in deiner func-Prozedur mit
Subprozeduren.

Und ob du

Code: Alles auswählen

(define (x y z)...)
oder

Code: Alles auswählen

(define x (lambda (y z) ...))
schreibst ist ja äquivalent.

Verfasst: 9. Dez 2007 17:41
von ChRiZz88
Wunderbar :D

Verfasst: 9. Dez 2007 19:30
von Ziuzia
Habt ihr als Ausgabe (void) oder eine Zahl? Mein letzter Ausdruck ist set!. Ist das richtig ?

Verfasst: 9. Dez 2007 19:44
von heiko_s
Ziuzia hat geschrieben:Habt ihr als Ausgabe (void) oder eine Zahl? Mein letzter Ausdruck ist set!. Ist das richtig ?
Im Template steht, dass sie eine Zahl zurückgeben soll.

Verfasst: 9. Dez 2007 21:28
von ChRiZz88
und set!'s hab ich gar nich drin...

Verfasst: 9. Dez 2007 22:45
von marek
Ziuzia hat geschrieben: Ist das richtig ?
Befürchte nicht... Ist jetzt wahrscheinlich eh zu spät :?

Verfasst: 10. Dez 2007 00:19
von Krümelmonster
Hier stand ein sinnloser Beitrag ;-)

Verfasst: 10. Dez 2007 08:48
von soi-disant
Falls jemand den Sinn dieser Aufgabe gefunden hat - bitte melden :D

Ernsthaft, was genau wird denn von der Prozedur func erwartet bzw. von den "Bodies" der Subprozeduren?



Oder sollen wir einfach nur das Argument von einer lokalen Prozedur zur anderen schicken (sinngemäß)?

Ich meine, ich sehe keinen Widerspruch zwischen (func 7) -> 7 und dem angegebenen UM, oder habe ich da etwas verpasst?

:wink:

Verfasst: 10. Dez 2007 09:56
von mantra
soi-disant hat geschrieben:Falls jemand den Sinn dieser Aufgabe gefunden hat - bitte melden :D
Der Sinn ist, das Umgebungsmodell lesen zu können.
Ernsthaft, was genau wird denn von der Prozedur func erwartet bzw. von den "Bodies" der Subprozeduren?
Es wird erwartet, dass sie irgendwas tun, was das gegebene UM erzeugt.
Ich meine, ich sehe keinen Widerspruch zwischen (func 7) -> 7 und dem angegebenen UM, oder habe ich da etwas verpasst?
Kannst du machen, solange der Body zum UM passt.