IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scheme Discussion :

Alternatives avec if


Sujet :

Scheme

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut Alternatives avec if
    Bonsoir , j'ai un peu de difficultés à lire un petit code , le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (define (valeur-absolue x)
    (if (>= x 0)
    x
    (- x)))
    donc on définit bien la fonction , la seconde ligne veut dire "si x supérieur ou égal à 0

    la 3eme est la dernière ligne veulent dire quoi ?

    merci pour votre aide .

  2. #2
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Si tu connais d'autre langages de programmation, ce sont les clauses then et else:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    (define (valeur-absolue x)
        (if (>= x 0) ; condition
            x ; then
            (- x))) ; else

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    oui mais dans ce cas je vois absolument pas en quoi ça renvoit la valeur absolue de x ici , vu qu'on dit avec le else : "sinon = -x" , ça renvoit le nombre négatif .

    et une autre petite question : sur la 3eme ligne , le x , veut dire quoi concrètement , qu'on renvoit la valeur de x ?

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    je souhaite écrire en scheme mais je n'y arrive pas :

    si a plus petit ou égal à b , on renvoit 0 , sinon on renvoit c mais je n'y arrive pas...quelqu'un peut m'aider ?

    merci

  5. #5
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Citation Envoyé par Maxence45 Voir le message
    oui mais dans ce cas je vois absolument pas en quoi ça renvoit la valeur absolue de x ici , vu qu'on dit avec le else : "sinon = -x" , ça renvoit le nombre négatif .

    et une autre petite question : sur la 3eme ligne , le x , veut dire quoi concrètement , qu'on renvoit la valeur de x ?
    Oui, on retourne x. Si x est positif, on le retourne tel quel. Si x est négatif, on l'inverse et on retourne ce résultat.

  6. #6
    Membre éclairé
    Avatar de GnuVince
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2004
    Messages
    679
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2004
    Messages : 679
    Points : 803
    Points
    803
    Par défaut
    Citation Envoyé par Maxence45 Voir le message
    je souhaite écrire en scheme mais je n'y arrive pas :

    si a plus petit ou égal à b , on renvoit 0 , sinon on renvoit c mais je n'y arrive pas...quelqu'un peut m'aider ?

    merci
    D'où vient c?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (define (f a b c)
      (if (<= a b)
          0
          c))
    
    (f 1 2 4) ; => 0
    (f 3 2 4) ; => 4

  7. #7
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    ben c'est bien ce que je pensais alors je comprends plus , regarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    (if (<= x (* -0.7 10 y y))
    ce code veut bien dire : si x plus petit ou égal à 0,7*10*y² ?

  8. #8
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    regarde ce code qui est censé etre bon mais qui ne renvoit pas 0 quand il le faut :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (define (shoot x y)
      (if (<= x (* -0.7 10 y y))
          0
          (+ (* -0.7 10 y y) x)))
    si tu fais (shoot 100 100) ça t'affiche un nombre négatif alors que ça devrait afficher 0... c'est pas normal .

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    correction léger du code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (define (shoot x y)
      (if (<=  (* -0.7 10 y y) x)
          0
          (+ (* -0.7 10 y y) x)))
    ça devrait m'afficher 0 pour (shoot 100 100) et m'affiche un nombre quand x est plus grand que -0.7 10 y y , c'est quoi le probleme ?

  10. #10
    Débutant
    Profil pro
    Inscrit en
    Février 2007
    Messages
    450
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 450
    Points : 107
    Points
    107
    Par défaut
    j'ai réussi à résoudre mon probleme merci

  11. #11
    Inactif  
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    1 958
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 958
    Points : 2 467
    Points
    2 467
    Par défaut
    Citation Envoyé par Maxence45 Voir le message
    j'ai réussi à résoudre mon probleme merci
    Je pense que tu as trop tendance à poser les questions ici.
    Visiblement quand tu te creuses la tête tu comprends.

    De plus, je ne vois pas pourquoi tu ne comprenais pas ton if pour la valeur absolue. N'as tu jamais définie la valeur absolue en math ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    |x| =  x si x > 0
          -x si x < 0

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. alterner les couleurs dans un tableau avec xsl
    Par Eithelgul dans le forum XSL/XSLT/XPATH
    Réponses: 14
    Dernier message: 03/05/2015, 23h29
  2. Ecole d'ingénieur en alternance avec seulement le BAC
    Par herfrayg dans le forum Etudes
    Réponses: 1
    Dernier message: 06/02/2009, 11h01
  3. Réponses: 0
    Dernier message: 21/03/2008, 13h40
  4. Réponses: 0
    Dernier message: 21/03/2008, 11h12
  5. [Struts-Layout] Tableau avec deux couleurs alternées
    Par yolepro dans le forum Struts 1
    Réponses: 2
    Dernier message: 18/09/2006, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo