Registrierung Kalender Mitgliederliste Teammitglieder Suche Häufig gestellte Fragen Zur Startseite

Informatiker Board » Themengebiete » Praktische Informatik » Kleines Problem mit Racket/Lisp » Antwort erstellen » Hallo Gast [Anmelden|Registrieren]

Antwort erstellen
Benutzername: (du bist nicht eingeloggt!)
Thema:
Nachricht:

HTML ist nicht erlaubt
BBCode ist erlaubt
Smilies sind erlaubt
Bilder sind erlaubt

Smilies: 21 von 33
smileWinkDaumen hoch
verwirrtAugenzwinkerngeschockt
Mit ZungeGottunglücklich
Forum Kloppebösegroßes Grinsen
TanzentraurigProst
TeufelSpamWillkommen
LehrerLOL HammerZunge raus
Hilfe 
aktuellen Tag schließen
alle Tags schließen
fettgedruckter Textkursiver Textunterstrichener Text zentrierter Text Hyperlink einfügenE-Mail-Adresse einfügenBild einfügen Zitat einfügenListe erstellen CODE einfügenPHP CODE farbig hervorheben
Spamschutz:
Text aus Bild eingeben
Spamschutz

Die letzten 3 Beiträge
Shizmo

Ja mit der Bibliotheksfunktion hast du recht Daumen hoch
Und mit 2 Operanden hat es funktioniert, habs dann einfach mit and verknüpft und geklammert. Das % braucht man allerdings nicht.

LG
eulerscheZahl

Ich kann kein racket und habe es auch nicht ausprobiert. Kann also sein, dass ich Unsinn schreibe.
Aber es gibt eine Bibliotheksfuktion max, wird vielleicht die aufgerufen?
Und müsste es nicht %> heißen, mit nur 2 Operatoren?
Shizmo Kleines Problem mit Racket/Lisp

Hallo, ich versteh grad was nicht, hier mal ein sehr kurzer Coder.
code:
1:
2:
3:
4:
5:
6:
7:
#lang racket
(define (doublemax x y z)
    (define max
      (cond ((> x y z) x)
            ((> y x z) y)
            (else z)))
    (+ max max))


Es sollte das Maximum suchen und dann verdoppeln.
Ich komme aber zu diesen spannenden Ergebnissen:
code:
1:
2:
3:
4:
5:
6:
7:
> (doublemax 1 2 3)
6
> (doublemax 1 3 2)
4
> (* 2 (max 1 3 2))
6
> 


Wenn ich nur max aufrufe passt alles, wenn ich aber die komplette Funktion doublemax aufrufe, nimmt er immer nur das letzte Argument und verdoppelt es, warum?

LG