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.
Fehler in Folien
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!
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!
-
- Mausschubser
- Beiträge: 50
- Registriert: 1. Okt 2007 22:34
das wollte ich auch erst schreiben... stimmt soweit auch, aber es diese zeile hier ist trotzdem ein syntaxfehler:bashFish hat geschrieben:zu 2)
cond fordert keine else Klausel! Sie ist optional - nur bei if wird eine Then- und Else- Klausel vorrausgesetzt!
Code: Alles auswählen
[(cons(square(firstalon)) (list-of-squares(restalon)))]
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 ...)
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 ...)
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?
(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?