FB18 - Das Forum für Informatik

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

Scheme Duden

Scheme Duden 2004-02-13 14:13
Anonymer User
Ahoi ihr Landratten!

Nachdem gestern mein Link zu den Scheme-Ausdrücken doch noch zu einiger Diskussion geführt hat hab ich mir die Mühe gemacht udn alle mir bekannten Scheme-Funktionen die ich für relevant halte abzutippen und kurz zu erklären bzw. mit einem Beispiel zu versehen. Die Liste ist sicher NICHT dazu geeignet sie einfach mit in die Klausur zu nehmen und dort dann mal aus dem Stehgreif loszulegen. Ihr solltet schon gelernt haben und in der Syntax, Aufbau etc. sicher sein ( was ich persönlich bei Scheme nicht gerade leicht finde ). Und sicher sind einige Dinge wieder nicht ausreichend erklärt bzw. gibt es Spezialfälle blablabla. Daher: Es soll nur eine kleine Unterstützung darstellen falls man plötzlich einen Blackout hat und nich mehr weiß was ne Funktion macht etc.

Good luck an alle, wenn Montag wieder Aufgaben aus Scheme in prolog gestellt werden und umgekehrt dreh ich durch und kotz erstmal leise untern Tisch !

CheGue

P.S.:
http://www.chegue.com/uni/scheme_definitions.pdf

Re: Scheme Duden 2004-02-13 14:19
UncleOwen
let: […] hat im Prinzip die gleiche Funktion wie lambda

Wie meinst Du das?

Re: Scheme Duden 2004-02-13 14:22
MoKrates
Kritik, Korrekturen (hier ist doch Perfektion gefragt, oder? Ok, will nur helfen.) [img]http://www.fb18.de/gfx/6.gif[/img]

Es heisst: (lambda (x) (* x x)) -> funktion ((lambda (x) (* x x)) 4) -> 16 (let ((y 40) (z 30) ...) (* y z)) -> 1200
MoKrates

Re: Scheme Duden 2004-02-13 14:24
MoKrates
let: […] hat im Prinzip die gleiche Funktion wie lambda

Wie meinst Du das?

(let ((var1 wert1) (var2 wert2) ...) (berechnung)) == ((lambda (var1 var2 ...) (berechnung)) wert1 wert2 ...)
MoKrates

Re: Scheme Duden 2004-02-14 10:29
docfive
Ich hab das Ding mal Kurz überflogen, noch zwo klene Fehler:
(case 4 ((2 3 5 7) `primzahl) ((1 4 6 8 9) `teilbar)) => teilbar (mit (* 4 4) funktioniert das natürlich nicht.)

(cdr `(1 2 3 4)) => (2 3 4) (nicht zu 4)