Übung 6, Aufgabe 7 - Metainterpreter
- Krümelmonster
- Geek
- Beiträge: 767
- Registriert: 17. Okt 2007 13:58
- Wohnort: Jossgrund
Hast du zutällig eine Liste mit dem
quote-Konstruktor erstellt?
...ist das selbe wie...
quote-Konstruktor erstellt?
Code: Alles auswählen
'('a)
Code: Alles auswählen
(list (list 'quote 'a))
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!
- Krümelmonster
- Geek
- Beiträge: 767
- Registriert: 17. Okt 2007 13:58
- Wohnort: Jossgrund
Hat eigentlich schon jemand, der in
der Übungsgruppe von Kai ist
(Freitags 13:30-15:10) eine
Bestätigung auf den Eingang
der Übung bekommen?
Ich nämlich nicht und morgen
ist ja die Deadline.
der Übungsgruppe von Kai ist
(Freitags 13:30-15:10) eine
Bestätigung auf den Eingang
der Übung bekommen?
Ich nämlich nicht und morgen
ist ja die Deadline.
Stell deinen Fuß auf einen hohen Sockel
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!
Mach dir ein Haar aus tausend Locken
Du bleibst doch immer, was du bist!
habe auch ein problem mit filter, ich rufe die prozedur über auf, ausgegeben wird mir jededoch
Code: Alles auswählen
(my-cons 5 (my-filter (lambda (x) (= (x) 3)) alon))
woran liegt es, dass er die übergebene funktion nicht bearbeitet?(make-proc
(list 'n)
(make-if-clause.......u.s.w
Probiers mal mit my->cons statt mit my-conscaesar hat geschrieben:habe auch ein problem mit filter, ich rufe die prozedur überauf, ausgegeben wird mir jededochCode: Alles auswählen
(my-cons 5 (my-filter (lambda (x) (= (x) 3)) alon))
woran liegt es, dass er die übergebene funktion nicht bearbeitet?(make-proc
(list 'n)
(make-if-clause.......u.s.w

Weiß jemand, wo der Fehler liegen könnte, wenn ich bei (my->cons 5 (my-filter (lambda (x) (< x 0)) alterate-nat)) die Fehlermeldung
Code: Alles auswählen
map: all lists must have same size; arguments were: (lambda (a1 a2) ...) (list 'relop 'lox) (list (make-application (make-variable 'my-rest) (list (make-application (make-v..." erha
erhalte?
aber filter braucht 2 argumente oder?seb1402 hat geschrieben:Also ich habe den Fehler auch bekommen.
Bei mir war es folgendes Problem:
Mein Vertrag von filter ist: (X TH -> boolean) (listof X) TH -> (listof X)
Das ist ja schon bekannt aus der Vorlesung.
Wenn dein Vertrag genauso aussieht, dann hast du beim Aufruf deiner Filterfunktion TH vergessen.
bei dir gibts 3 argumente
weil eigebaute filter im scheme sieht so aus (aus scheme Help):
filter : ((X -> boolean) (listof X) -> (listof X))
Puh, endlich geschafft und eine schnelle Lösung gefunden 
Zum Filtern von 5 positiven und negativen Elementen von nat und jeweils 10 von alterate-nat, also:
(list (list 1 2 3 4 5) empty (list 1 3 5 7 9 11 13 15 17 19) (list -2 -4 -6 -8 -10 -12 -14 -16 -18 -20))
Braucht mein Laptop jetzt noch 14 Sekunden
thx @ MelonTropic. Ohne deine Aussage, dass es auch schneller geht, hätte ich meine alte Lösung gelassen.

Zum Filtern von 5 positiven und negativen Elementen von nat und jeweils 10 von alterate-nat, also:
(list (list 1 2 3 4 5) empty (list 1 3 5 7 9 11 13 15 17 19) (list -2 -4 -6 -8 -10 -12 -14 -16 -18 -20))
Braucht mein Laptop jetzt noch 14 Sekunden

thx @ MelonTropic. Ohne deine Aussage, dass es auch schneller geht, hätte ich meine alte Lösung gelassen.
Ich hab soeben nach mehrstündigem Suchen bemerkt, dass ich vergessen hab der Prozedur beim rekursiven aufrufen den rel-op zu übergebenseb1402 hat geschrieben:Also ich habe den Fehler auch bekommen.
Bei mir war es folgendes Problem:
Mein Vertrag von filter ist: (X TH -> boolean) (listof X) TH -> (listof X)
Das ist ja schon bekannt aus der Vorlesung.
Wenn dein Vertrag genauso aussieht, dann hast du beim Aufruf deiner Filterfunktion TH vergessen.

hallo
ich habe auch eine frage zu 7.3
und zwar ob empty für metainterpreter erkannt ist und
wenn ich in filter leere liste ausgeben muss ,was soll ich schreiben
und zweites muss man selber eine relation-operation(X -> boolean) für diese aufgabe ausdenken, wie even? , sqrt? ,... und danach filter auf der verwenden?
ich habe auch eine frage zu 7.3
und zwar ob empty für metainterpreter erkannt ist und
wenn ich in filter leere liste ausgeben muss ,was soll ich schreiben
und zweites muss man selber eine relation-operation(X -> boolean) für diese aufgabe ausdenken, wie even? , sqrt? ,... und danach filter auf der verwenden?
Das hab ich mich zuerst auch gefragt, aber statt zB (if (= x 0) true false) kann man ja auch (= x 0) verwenden, gibt ja auch nen boolean zurück.saba hat geschrieben:aha und andere frage ist ,
wie kann ich true und false zurück geben,weil es sieht so aus ,dass metainterpreter
true und false nicht erkennt ,weil für die Funktion X->boolean soll ich irgendwelche bedingung prüfen und true oder false zurückgeben
oder??
