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

Flash Discussion :

bug de variables aléatoires


Sujet :

Flash

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut bug de variables aléatoires
    J'ai commencé un exercice de conversions d'unités de masse avec valeur aléatoires.

    Mais je rencontre un problème très étrange qui m'intrigue , notamment aux questions 3 et 4 :

    Pour la question 3 , quand (par hasard) on nous demande de convertir 7 mg en g et qu'on répond O.007(ce qui est bon) alors il s'affiche" Faux ! la bonne réponse était 0.007" Ce qui est absurde !

    De même pour certaines valeurs de la question 4 !

    Je me pose donc la question : pourquoi tant de haine envers le chiffre 7 alors que pour les autres chiffres , la question 3 fonctionne très bien !

    Il y a peut être une histoire d'arrondi lors de divisions mais j'avoue ne rien y comprendre à ce problème.

    Je joins le fichier swf et le .fla

    D'avance merci.

    PS : je désespère
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par KAYSER.SAUZEE Voir le message
    Pour la question 3 , quand (par hasard) on nous demande de convertir 7 mg en g et qu'on répond O.007(ce qui est bon) alors il s'affiche" Faux ! la bonne réponse était 0.007" Ce qui est absurde !
    e
    salut.
    heureusement que tu nous as donné le code pour comprendre de quoi il parle dans la question 3

    sinon, tu peux utiliser un test de différence (-) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x= c/1000;
     
    Math.round(rép1C.text-x) == 0;

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2010
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Un grand merci à toi !

    Cela fonctionne très bien maintenant . J'ai utilisé l'idée de la comparaison par différence mais au début ça ne marchait pas car il compare des valeurs <1
    donc si on rentre par exemple 0.002 au lieu de 0.003 alors l'arrondi de la différence sera bien égal à 0 et cela m'affichait une réponse bonne ...

    j'ai donc comparé par différence des valeurs >1

    Comme ceci :
    -----------------------------------------
    on(release){



    if(Math.round(rép1C.text*1000-c) == 0){
    note=note+1;
    message.text="Bien !";

    }
    -----------------------------------------


    Et à l'heure où je t'écris , je m'aperçois que ce n'est pas suffisant !!!!

    Par exemple si j'entre 0,0051 au lieu de 0,005 alors il affiche bon ! Normal car il arrondit la différence de 5,1-5 = arrondi de 0,1 == 0 donc réponse bonne !

    J'ai donc écrit :

    if(Math.round(rép1C.text*10000-c*10) == 0){

    mais même comme ça ce n'est pas encore parfait ( si on entre 0.00601 au lieu de 0.006 cela affichera bon) , forcément : 60,1 - 60 = 0,1 et arrondi de 0,1 = 0....

    Mais je me contenterai de cela comme précision je me dis qu'il faut être un peu ravagé pour entrer 0.00501 à la place de 0.005 .

    Pfiou ! En tout cas tu m'auras mis sur la voie . Sans ton aide j'aurais arraché les touches 7 de mon clavier et je les aurais bouffées avec rage.

    Bonne journée à toi.




    Citation Envoyé par slim_java Voir le message
    salut.
    heureusement que tu nous as donné le code pour comprendre de quoi il parle dans la question 3

    sinon, tu peux utiliser un test de différence (-) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    x= c/1000;
     
    Math.round(rép1C.text-x) == 0;

Discussions similaires

  1. Générateur de variable aléatoire
    Par wapita dans le forum Langage
    Réponses: 11
    Dernier message: 24/07/2014, 01h39
  2. Réponses: 4
    Dernier message: 18/01/2007, 13h48
  3. Générer une variable aléatoire gaussienne
    Par User dans le forum Probabilités
    Réponses: 5
    Dernier message: 29/06/2006, 22h58
  4. Réponses: 2
    Dernier message: 08/06/2006, 00h10
  5. Réponses: 4
    Dernier message: 13/03/2006, 11h29

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