FB18 - Das Forum für Informatik

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

Scheme, noch ganz am Anfang...

Scheme, noch ganz am Anfang... 2002-01-24 13:52
Popcorn
Irgendwo, tief in einem Cond habe ich etwas wie:

((> n 0) n 'trill)

Ich möchte also, das wenn n > 0 ist, er mit angibt, wie groß n ist und trill sagt. Tut er so nicht. Tut er aber auch nicht, wenn ich wie wild in verschiedenn versionen Klammern drumsetze, mache er nicht in Anführungszeichen mit %n und überhaupt macht der nix wie er soll. Und im Rahmen meine unglaublichen Planlosigkeit, finde ich auch nix im Skript. Kann mir wer weiterhelfen?

Re: Scheme, noch ganz am Anfang... 2002-01-24 14:34
Faleiro
Irgendwo, tief in einem Cond habe ich etwas wie:

((> n 0) n 'trill)

Ich möchte also, das wenn n > 0 ist, er mit angibt, wie groß n ist und trill sagt.

Hmm, ich sitze noch in der Uni und habe daher kein bequem benutzbares Scheme zur Hand, aber cond arbeitet mit Zeilen, die folgendermassen aufgebaut sind:

( (Bedingung) (Aktion) )

Die letzte darf (!) dann so aussehen:

( else (Aktion) )

Dein obiges Beispiel ist also auf jeden Fall so nicht zu realisieren. Man muss auf jeden Fall schonmal zwei Dinge verbinden, etwa mit string-append oder cons. Ich kann ja jetzt leider nicht herumprobieren (fast so schlimm wie in der Klausur :-), aber ich wuerde mal als 'Aktion' (cons n 'trill) einsetzen und schauen, ob er n als Variable interpretiert. Sonst halt weitersuchen.

Auf jeden Fall ist deine Zeile schon von der Stelligkeit her falsch angelegt, das ist eigentlich die einzige Aussage, die ich sicher treffen kann. :-)

Re: Scheme, noch ganz am Anfang... 2002-01-24 15:11
Anonymer User
Mir ist nicht ganz klar, was du eigentlich willst. Schließlich kann eine Funktion nur EINEN Rückgabewert haben. Selbstverständlich kann das auch eine Liste sein, welche wiederum aus mehreren Bausteinen zusammen gesetzt ist.
Falls du jedoch mit
((> n 0) n 'trill)
meinst: Wenn n>0, dann gib 'trill aus und gib n zurück, dann kannst du es auch so fassen:
((> n 0) (display 'trill) n)
In diesem Fall wird (display 'trill) nicht als Rückgabewert interpretiert. Wenn man es sehr ordentlich machen will und noch mehr Anweisungen im Action-Teil hat, dann schreibt man:
((> n 0) (begin (display 'trill) n))



Re: Scheme, noch ganz am Anfang... 2002-01-24 15:13
Zaphod
Hmmm…Einloggen schon wieder vergessen…also: das eben war ich

Re: Scheme, noch ganz am Anfang... 2002-01-24 21:45
baseman
Das ist doch jetzt schon so ein bisschen imperativ, oder?
Zumindest nicht mehr rein funktional.
Wo lernst du eigentlich sowas, doch ganz sicherlich nicht beim Maulwurf?

Fragen über Fragen…

Re: Scheme, noch ganz am Anfang... 2002-01-24 23:35
Zaphod
Nun ja…man kann nicht alles funktional machen. Will man etwas ausgeben (also anzeigen), dann würde (display 'XX) VOID zurückgeben, ein Wert, der besagt, dass er eben kein Wert ist, und mit dem man also nichts anfangen kann. Daher ist die Ausgabe als NEBENEFFEKT zu sehen.

Gelernt habe ich SCHEME ca. 1,5 Jahre im Informatik-Leistungskurs ;-) COOL, NE?

Re: Scheme, noch ganz am Anfang... 2002-01-25 11:25
Princesa
du du du angeber du! [img]http://images.rapidforum.com/images/i25.gif[/img]


Aber auch zu beneiden. Und wenn wir schon dabei sind. Bringt der Java-Kurs der RRZ eigentlich was?


Re: Scheme, noch ganz am Anfang... 2002-01-25 13:09
ICHBINDEINGOTT
Eigentlich sollen wir nicht ins RRZ, sondern die am Informatikum nutzen…[img]http://images.rapidforum.com/images/i15.gif[/img]


Re: Scheme, noch ganz am Anfang... 2002-01-26 17:38
Princesa
Es gibt einen Java-Blockkurs im Informatikum? Sag das doch gleich und URL bitte dazu!

Re: Scheme, noch ganz am Anfang... 2002-01-26 17:54
Popcorn
Ja, den gibt es. Aber mir fehlen da auch noch so die genauen Infos zu. Kann jemand noch mal das komplette Programm hier auftischen?

Re: Scheme, noch ganz am Anfang... 2002-01-26 22:33
ICHBINDEINGOTT
Seit dem 21.01 hängen in Haus D listen zum eintragen.

*schock geniesst*

*den leuten die panik nimmt und beruhigt*
das ist aber nicht verbindelich, sondern die wollen erst mal sehen, wieviele so zu dem terminen kommen wollen…

..also, einfach mal hinrennen (haus D, gleich in der "eingangshalle" :P) und gucken.

Re: Scheme, noch ganz am Anfang... 2002-01-27 16:36
Faleiro
Waaas, die Listen sind nicht verbindlich? Schweinerei. Naja, fuer Princesa ist das natuerlich Glueck, die Dinger waren irgendwie sofort voll.

Re: Scheme, noch ganz am Anfang... 2002-01-27 16:47
Zaphod
Heißt das etwa, ich habe noch eine Chance, einen Platz in der ersten Gruppe zu kriegen? Der 2. Termin passt mir nämlich eigentlich überhaupt nicht.

Re: Scheme, noch ganz am Anfang... 2002-01-28 13:59
Princesa
hm, es hatte mich ja auch schon gewundert, dass es dieses mal doch klappen hätte können. Angeblich sollen die Termine doch verbindlich sein, außerdem handelt es sich wohl um die ERB und das ist *hoff* nicht das, was im RRZ angeboten wird…

Re: Scheme, noch ganz am Anfang... 2002-01-28 15:39
Popcorn
Geile Informationspolitik. Wozu haben die eigentlich eine Web-Site? Wenn so die Organisation in irgendeinen Unternehmen laufen würde, könnte man sich bei den Mangager nächsten Montag Pommes Frites und nen Royal TS bestellen…

Re: Scheme, noch ganz am Anfang... 2002-01-31 14:58
Christoph
wo ist euer Problem mit der Org unserer Java-ERB?
Es wurde doch mehrmals (ERB, P-Vorlesung, sonst wo? )
angesprochen, wann das ist, wo die Listen ab wann hängen und
so weiter. Wenn ihr die Veranstaltungen nicht besucht oder
zu spät kommt, ist das nun wirklich nicht die Schuld des
FBI.

Aber ich denke, die Listen sind ungefähr so, wie es mit
den Übungslisten Anfang des Semesters war, also dass es
sich lohnt, mal zu gucken, ob einer von den 20 vielleicht
doch keine Lust hat, Java im Block, statt in der ERB zu
lernen. Genau: Falls das einer nicht mitgekriegt hat:
Der Java-Blockkurs ist nur eine ALTERNATIVE und keine
Ergänzung zur ERB im SS'02!
Und ich denke mal, dass keiner untragbare Probleme haben
wird, wenn er Java erst in der ERB lernt.

Re: Scheme, noch ganz am Anfang... 2002-01-31 15:08
Princesa
Äh du hast dich leider mehr als einmal wiedersprochen: Java-ERB ist eine ALTERNATIVE und kein Zusatz zur ERB ?


Re: Scheme, noch ganz am Anfang... 2002-01-31 15:10
Faleiro
Alternative bedeutet in diesem Falle, dass man entweder die ERB oder den Kompaktkurs wahrnehmen soll. Der Stoff ist mehr oder weniger der selbe. Naemlich der Java-Einstieg.
Genauso haben wir ja den Prolog- und den Scheme-Einstieg in der ERB abgehandelt.

Re: Scheme, noch ganz am Anfang... 2002-01-31 15:31
Sephiroth
von einigen 5. Semestern habe ich allerdings gehört, das dieser Blockkurs definitiv Vorteile hat, da man ohne Javakenntnisse in den Vorlesungen nur die hälfte (höchstens) versteht und die ERB ja nur Semester begleitend ist will heißen, es dauert, bis man in der ERB alles nötige gelernt hat, und dann ist das Semester auch schon rum [img]http://images.rapidforum.com/images/i23.gif[/img]

also am besten entweder am alternativkurs teilnehmen, oder selbststudium.

Re: Scheme, noch ganz am Anfang... 2002-01-31 16:18
Faleiro
Ja, so stelle ich mir das auch vor. Deshalb habe ich mich auch fuer den Javakurs eingetragen.

Re: Scheme, noch ganz am Anfang... 2002-01-31 21:56
TriPhoenix
Eben..Scheme und Prolog wären auch sicherlih besser zu hören gewesen, wenn man shcon von der Sprache Ahnung hat…und so wie ich das bisher aufm Plan gesehen habe, lernen wir ja nicht ganz Java, sondern nur die Grundzüge, also genau die Ideale Basis für die Vorlesung

Re: Scheme, noch ganz am Anfang... 2002-02-01 08:45
Popcorn
wo ist euer Problem mit der Org unserer Java-ERB?
Es wurde doch mehrmals (ERB, P-Vorlesung, sonst wo? )
angesprochen, wann das ist, wo die Listen ab wann hängen und

Aha. P-Vorlesung? Ich habe eigentlich alle besucht und war meist vor Leonie da. Sonst wo? Nix gesehen. ERB? Ich war die ersten Male da, für umsonst. Woher sollte ich da denn wissen, das es dort immer so was wie Scheme-Bücher und wichtige Termine gibt. Ganz mal unabhängig davon:

Was ist nun so schwer daran, so etwas einfach mal kurz auf der Web-Site bekanntzugeben? Ein kurzer Eintrag ins Forum fertig. Also ich finds ganz schön mau, weil das mal etwas wäre, das weder groß Zeit noch Geld beansprucht.

Re: Scheme, noch ganz am Anfang... 2002-02-01 11:08
Faleiro
Kurz vor der Vorlesung kam meiner Erinnerung nach König rein und legte eine Folie hin, auf der die Termine standen. Ich glaube, danach sagte er auch noch ein paar Worte dazu. Könnte auch sein, daß das nicht VOR, sondern NACH einer P-Vorlesung kam.

Einige Tage später kam er erneut in eine Vorlesung (Mathe?) und korrigierte die Datumsangaben auf der Folie, es war ihm ein Schreibfehler unterlaufen.

Außerdem war das wochenlang Login-Message auf den Unirechnern.

(Ein Hinweis auf der Homepage wäre natürlich trotzdem angebracht gewesen.)

Gefällt dir die ERB nicht? Zu langweilig, kannst du schon alles?


Re: Scheme, noch ganz am Anfang... 2002-02-01 11:11
Princesa
Ich war mehrmals in der ERB und das ist definitiv nicht was ich mir unter Java-Blockkurs vorstelle. Also das weder bei Prolog, noch bei Scheme der Fall. Das "E" wird ja deutlich betont! Es heißt Einführung, so viel wie : guck dir das ma an. Probier ma ein bisschen rum und den Rest machst du zuhause …
Na super!

Re: Scheme, noch ganz am Anfang... 2002-02-01 11:19
Christoph
ich denke, die aktuelle ERB wird sich doch sehr vom Block-kurs
unterscheiden. Vielleicht habt ihr ja auf den Plan geguckt,
wie das alles ablaufen soll, aber ganz grob gesagt sind
z.B. morgens extra Vorlesungen im Konrad-Zuse-HS, glaub ich.

Re: Scheme, noch ganz am Anfang... 2002-02-01 12:03
Popcorn
Gefällt dir die ERB nicht? Zu langweilig, kannst du schon alles?

Was am Anfang war, brauchte ich entweder nicht oder konnte ich schon. Ich dachte, wir bauen da nur immer weiter mit irgendwelchen UNIX Spielereien, die ich eh nie wieder brauchen werde. Das dann dort Prolog und Scheme unterrichtet wird, habe ich erst zu spät mitbekommen. Ab nächsten Semester werde ich solche Angebote auf jeden Fall regelmässig besuchen, aber dieses lief es ein wenig schief.

Re: Scheme, noch ganz am Anfang... 2002-02-01 14:31
Princesa
Prolog und Scheme unterichtet? Woher hast du denn sowas? Da wurde nix unterichtet! Das waren eher sowas wie kostproben.

Re: Scheme, noch ganz am Anfang... 2002-02-01 21:09
Faleiro
OK, ihr habt recht; was Prolog und Scheme angeht, wurden wirklich nur Kostproben verabreicht. Insbesondere wurde auf Emacs als Entwicklungsumgebung eingegangen. (Schließlich darf Besitz eines PC nicht Voraussetzung fürs Studium sein.)

Der Java-Blockkurs wird da ein gutes Stück weitergehen, jeden Tag vormittags einige Stunden Theorie und nachmittags die praktische Anwendung.

Die ERB hat trotzdem Spaß gemacht. :-)

Re: Scheme, noch ganz am Anfang... 2002-02-01 22:35
TriPhoenix
Die ERB hat trotzdem Spaß gemacht. :-)

Ja…das war immer Lustig..ich denke auch, dass das ien wichtiger Unterschied zwishcen ERB und Blockkur ist. Inner ERB saßen alle irgendwie rum und die meisten haben mehr gesurft oder gespielt als zuzuhören…ich glaube im Blokckurs wid wesentlich mehr Mitarbeit gefordert



Re: Scheme, noch ganz am Anfang... 2002-02-01 23:10
Princesa
Trotzdem sind wir hier doch eher wild am rumspekulieren. Warum gibt es dafür keinen vernünftigen eintrag? aCh So, btw. sorry wegen groß- und Kleinschreibung, aber *schulterzuck* "zu anstrengend [img]http://images.rapidforum.com/images/i25.gif[/img]

Re: Scheme, noch ganz am Anfang... 2002-02-13 11:28
Popcorn
Was passiert eigentlich, wenn man nix anderes als "cond" kann, "Papa was a rolling stone" hört und endlich mal das sechste Aufgabenblatt macht?

(define (there-is p? liste)
(cond
((null? liste) 'Nein)
((p? (car liste)) 'Ja)
(else
(there-is p? (cdr liste)))))

(define (for-all p? liste)
(cond
((= (length liste) 0) 'Nein)
(else (yeah p? liste))))

(define (yeah p? liste)
(cond
((null? liste) 'Ja)
((not (p? (car liste))) 'Nein)
((p? (car liste))(yeah p? (cdr liste)))
(else
(display 'nein))))

Oh oh oh. Musterlösungen können einen echt deprimieren…

Re: Scheme, noch ganz am Anfang... 2002-02-13 16:40
Faleiro
a) Was ist an cond auszusetzen? ;-)
b) Die Lösung sieht doch sehr gut aus, wo ist das Problem?
c) Was hat das mit "Papa Was a Rolling Stone" zu tun?

Ich würde aber lieber einen Wahrheitswert zurückgeben, das ist standardisiert und dann kann man deine Funktionen auch irgendwo einbinden…