FB18 - Das Forum für Informatik

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

P1 Blatt 9: Ostern

P1 Blatt 9: Ostern 2003-12-17 19:47
Anonymer User
Hat jemand nen Plan, wie ich in Scheme global die Variablen a, b, c, … initialisiere? Thx

(Edit Tri: Lösung zu P1-Aufgabe gelöscht)

Re: P1 Blatt 9: Ostern 2003-12-17 19:55
UncleOwen
Hat jemand nen Plan, wie ich in Scheme global die Variablen a, b, c, … initialisiere? Thx

(define a 20) wenn mich mein Gedaechtnis nicht truegt. Wenn der Rest die Loesung fuer eine Aufgabe ist, sollte das hier raus, oder?

Re: P1 Blatt 9: Ostern 2003-12-17 20:08
Slater
ich denke in P1 stört das nicht da eh kein Schein nötig,
wenn gewünscht, dann müssen sich ein paar mehr melden (oder der Tri ;) )

Re: P1 Blatt 9: Ostern 2003-12-17 20:15
TriPhoenix
ich denke in P1 stört das nicht da eh kein Schein nötig,
wenn gewünscht, dann müssen sich ein paar mehr melden (oder der Tri ;) )

Joah, solange mir keiner bestätigt, dass der Zettel schon vorbei ist UND vor allem solange keine wirklich Quelltextbezogene Frage dransteht, muss das nicht sein finde ich [img]http://www.fb18.de/gfx/28.gif[/img]

Re: P1 Blatt 9: Ostern 2003-12-17 20:18
Slater
na gut, an die Weisung von oben muss man sich immer halten,
schnief

Re: P1 Blatt 9: Ostern 2003-12-17 20:20
tekai
was hast du mit dem programm eigentlich vor? sollen die (= (..) a) zuweisungen ala C b=20; sein?

Re: P1 Blatt 9: Ostern 2003-12-17 21:56
Anonymer User
lol das löschen wäre nicht nötig gewesen glaube ich weil das eh so dermaßen lückenbehaftet war aber egal … damit wollte wir eigentlich nur zeigen wo das problem steckt…

wir wollen innerhalb einer define und condition ein b definieren. wenn ich das dann mit define mache sagt der mir
define: allowed only in definition contexts in: (define m 23)

Re: P1 Blatt 9: Ostern 2003-12-17 22:00
tekai
nicht schön, sollte den job aber erledigen: (set! x 20)eigentlich sollte lieber (let ((x 20) (y 10)) (bla...)) verwendet werden. Dazu müsstet ihr das Problem aber wahrscheinlich etwas anders angehen.

Re: P1 Blatt 9: Ostern 2003-12-17 22:22
Anonymer User
danke aber funktioniert auch nicht … sagt mir dann
set!: cannot set undefined identifier: m
ich will ne imperative programmiersprache … da kommt dann andere kacke aber da kann ich wenigsten son einfachen scheiss ganz billig machn… hoff ich doch ma ;)

Re: P1 Blatt 9: Ostern 2003-12-17 22:34
tekai
mit scheme geht das sicher auch "billig" aber halt anders als du es bisher in imperativen sprachen gewöhnt bist.

(define (hase l) (define a 20) (let ((b 0)) (set! b 10) (set! a 40) (list a b)))

Re: P1 Blatt 9: Ostern 2003-12-18 00:02
Anonymer User
danke für eure ratschläge … hab jetzt aber ne gaaanz hässliche version mit let gemacht … nicht schön aber erfüllt seine arbeit…

Re: P1 Blatt 9: Ostern 2003-12-18 14:20
Dennis-
soweit ich das verstanden habe, funktioniert 'define' nur, wenn man es nicht verschachtelt aufruft
set! kann nur variablen setzen, die mit define 'global' deklariert wurden
das oster-problem kann man relativ gut mit let* (der * ist wichtig! sonst muss man noch let im let machen) und ausschließlich 'lokalen' variablen lösen

Re: P1 Blatt 9: Ostern 2003-12-18 18:18
DJ-SilVerStaR
mensch. lasst den scheiss mit set! wech.

der bringt her absolut nischt.
Am einfachsten erledigst du das mit
(let(<Zuweisung>) (<Rechnung>)

um z.B. a zuzuweisen:

(let ((a(remainder 19 j)) (<RECHENOPERATIONEN>)))