FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

PKlausur1

PKlausur1 2003-03-30 16:51
meiki
ich habe mal ne frage.
IN der ersten P klausur kam im Scheme-Teil die aufgabe dran
ein Übersetzter zu machen.. also der deutsche wörter ins englische übersetzt und englische ins deutsche oder so…
kann mir mal wer ssagen wie er das machen würde??
würde mir sehr helfen
meike

Re: PKlausur1 2003-03-30 17:22
Zaphod
(define Wörterbuch '((englisch1 deutsch1) (englisch2 deutsch2) (englisch3 deutsch3))) (define (translate text akku) (cond ((null? text) akku) ((assoc (car text) Wörterbuch) (translate (cdr text) (append akku (cdr (assoc (car text) Wörterbuch))))) (else (translate (cdr text) (append akku '("**timeout**")))))) (define (übersetzen text) (translate text '())) (übersetzen '(englisch1 englisch2 drei englisch3))
Das sollte das Grundgerüst darstellen. Wenn man will kann man ja noch einen Parameter einbauen, der entscheidet, ob das deutsch-englisch oder englisch-deutsch sein soll.

Re: PKlausur1 2003-03-30 17:39
meiki
aah ok danke das hilft mir glaub ich weiter… hoffe ich :-)
danke
meike

Re: PKlausur1 2003-03-30 18:17
MoKrates
In der Klausur ging es IIRC nur um einzelne Worte, nicht um ganze Texte.

MoKrates


Re: PKlausur1 2003-03-30 18:21
meiki
sähe das dann viel anders aus???
könntest du mir dann vielleicht mal zeigen wie es dann anders wäre?
danke
meike

Re: PKlausur1 2003-03-30 19:42
MoKrates
nun, das uebersetzen eines einzelnen Wortes nimmt in Zaphods prog nur eine Zeile ein.

(define (tans-ein-wort w dic) (let ((t (assoc w dic))) (if t (cadr t) #f)))
sollte schon reichen. Wobei, wenn ich mich recht entsinne, die Worterbuecher in der Klausur als eine Liste von Dotted-Pairs aufgefuehrt waren. Da waere dann das "cadr" in meinem Programm durch "cdr" zu ersetzen.

MoKrates

Edit: Weiss man, dass w im dic enthalten ist, so reduziert sich das Prog auf:
(cadr (assoc w dic))bzw: (cdr (assoc w dic))



Re: PKlausur1 2003-03-30 19:48
meiki
aso ok das sieht ja ganz verständlich aus danke :-)