FB18 - Das Forum für Informatik

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

Aufgabenblatt 6

Aufgabenblatt 6 2002-01-11 19:55
ICHBINDEINGOTT
Ich habe da eine tolle lösung, aber leider mag mich scheme nicht.

irgendwie bekomme ich den einfach nicht überredet, in einer if klausel mehrere bedingungen auszuführen. if bla, dann mach x und y und z.

wenn mir nun wer sagen könnte, wie das zustande kommen kann…

Re: Aufgabenblatt 6 2002-01-11 20:56
Zaphod
Das liegt einfach an der Definition von if in SCHEME:
(if Bedingung THEN-klausel ELSE-Klausel)

Allerdings kannst du mehrere Bedingungen durch
(and Bedingung1 Bedingung2 … BedingungN) oder
(or Bedingung1 Bedingung2 … BedingungN) verknüpfen
(die Punkte natürlich alle weglassen). Hier ein Beispiel:

(if (and (= 0 0) (< 2 6) (> 3 1)) ; 3 Bedingungnen
(display "Es funktioniert") ; THEN-Klausel
(display "Es funktioniert nicht")) ;ELSE-Klausel

HINWEIS: Man kann nach einem if auch nur eine Anweisung in der THEN- oder ELSE-Klausel aufführen. Will man mehrere haben, dann fasst man die durch
(begin Anweisung1 Anweisung2 … AnweisungN)
zusammen.
Weiterhin viel Spaß mit SCHEME (engl. "gemein") ;-)

Re: Aufgabenblatt 6 2002-01-12 10:11
Popcorn
Kann man sonst auch if's schachteln?

Re: Aufgabenblatt 6 2002-01-12 10:15
Zaphod
Ich bin mir nicht sicher, was du damit meinst:
(if (if (if …)…)…) ;—>Sinn?
oder eher
(if Bedingung (if…) ELSE) ;—>JA
(if Bedingung THEN (if…) ;—>JA

Re: Aufgabenblatt 6 2002-01-12 10:44
Popcorn
Ja, Version Nummer zwei. Löst dass dann nicht auch das Problem von dem, mit dem größenwahnsinnigen Namen? Ach so, Erwähnte ich schon, dass ich hier bald Namneskonventionen wie "Name darf nicht ausschließlich aus Großbuchstaben" bestehen einführe? [img]http://images.rapidforum.com/images/i15.gif[/img]

Re: Aufgabenblatt 6 2002-01-12 18:08
ICHBINDEINGOTT
Hat sich eh erledigt. Geht auch ohne mehrere Bedingungen wunderbar.

Re: Aufgabenblatt 6 2002-01-14 09:32
Anonymer User
Und wie lautet nun eigentlich die tolle Lösung?