Fehler in Folien

Benutzeravatar
Demmi
Kernelcompilierer
Kernelcompilierer
Beiträge: 423
Registriert: 1. Okt 2007 12:56
Wohnort: Darmstadt

Fehler in Folien

Beitrag von Demmi »

Hallo zusammen, ich hab 2 Fehler in Folien gefunden, wobei ich gerade nicht sicher bin ob das hier her gehört, oder ob ich mich direkt per Mail an den Prof oder nen Tutor wenden soll. Falls ich hier falsch sein sollte, sagt bescheid.

Wie auch immer here we go:

1.) Es geht um folgende Datei: http://www.st.informatik.tu-darmstadt.d ... erview.pdf
Diese Scheme-Kurzreferenz
Da steht rechts unter Primitive Operationen folgende Zeile:
> list? : (any -> boolean) Ist das eine Liste?
Das ist aber meiner Meinung nach falsch, da es list? gar nicht zu geben scheint. Stattdessen sollte man cons? verwenden. Das überprüft ob es sich um eine "construced list" handelt.

2.) Es geht um die Folie T5 - 49
(Link zur Folie T5)
Dort fehlt das else in der cond-Verzweigung.

bashFish
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 3. Okt 2007 17:38

Beitrag von bashFish »

zu 1)
Die Prozedur list? existiert tatsächlich - sie ist in der offiziellen Referenz und auch-> hier <- zu finden! Warum diese Funktion bei uns so nicht geht liegt am Sprachlevel! "Full Swindle" hat sie z.B.!
cons? ist aber auf jeden Fall eine gute Alternative...

zu 2)
cond fordert keine else Klausel! Sie ist optional - nur bei if wird eine Then- und Else- Klausel vorrausgesetzt!

Grüße
Björn

PS: Ich finde diese Kurzreferenz eh witzlos... Vollständige bzw. zumindest gut kategorisierte findest du auf jeden Fall im Netz!

kaktuskuchen
Mausschubser
Mausschubser
Beiträge: 50
Registriert: 1. Okt 2007 22:34

Beitrag von kaktuskuchen »

bashFish hat geschrieben:zu 2)
cond fordert keine else Klausel! Sie ist optional - nur bei if wird eine Then- und Else- Klausel vorrausgesetzt!
das wollte ich auch erst schreiben... stimmt soweit auch, aber es diese zeile hier ist trotzdem ein syntaxfehler:

Code: Alles auswählen

[(cons(square(firstalon)) (list-of-squares(restalon)))]
dieser cond-clause besteht nur aus der "antwort" (zähle mal die klammern nach). es fehlt die "frage" oder eben das schlüsselwort "else".

Benutzeravatar
Demmi
Kernelcompilierer
Kernelcompilierer
Beiträge: 423
Registriert: 1. Okt 2007 12:56
Wohnort: Darmstadt

Beitrag von Demmi »

Tatsache, das mit dem list?. Mein Problem war, dass ich es nichtmal im Hilfezentrum gefunden hatte. Nur blöd, wenn sich das Hilfezentrum auch der eingestellten Sprache anpasst... da hätte ich ja auch mal dran denken können ^^

Das else fehlt in dem Fall aber definitiv. Denn wie kaktuskuchen schon sagte, erwartet diese 2. Klammer ne Bedingung um ausgeführt zu werden. Also zum Beispiel das else.
(Es sei denn man kann auch das mit der Wahl einer bestimmte Sprache umgehen ...)

bashFish
Mausschubser
Mausschubser
Beiträge: 77
Registriert: 3. Okt 2007 17:38

Beitrag von bashFish »

Akzeptiert - da fehlt ein else :oops:
Demmi hat geschrieben:Tatsache, das mit dem list?. Mein Problem war, dass ich es nichtmal im Hilfezentrum gefunden hatte. Nur blöd, wenn sich das Hilfezentrum auch der eingestellten Sprache anpasst...

Sei froh, dass du eins hast! Bei mir geht es garnet :/

MisaghZ
BASIC-Programmierer
BASIC-Programmierer
Beiträge: 133
Registriert: 11. Okt 2007 15:50

Beitrag von MisaghZ »

T5.57:
(define (insert an alon)
(cond
[(empty? alon) (cons an empty)]
[(>= an (first alon)) (cons an alon)]
[else (cons (first alon) (insert an (rest alon)))]))

das soll bestimmt <= heißen oder?
ansonsten würde es keinen sinn machen
wenn an größer ist als das erste element der liste, z.b. 5>3 dann wird es an die erste stelle gesetzt also '(5 3...)
so wird die liste höchstens absteigend sortiert, kann das sein?

i3oot
Erstie
Erstie
Beiträge: 12
Registriert: 24. Okt 2004 20:54
Wohnort: Darmstadt

Beitrag von i3oot »

so wird die liste höchstens absteigend sortiert, kann das sein?
Ja, so stehts auch unten auf der gleichen Folie ;-)

Antworten

Zurück zu „Archiv“