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

Langage PHP Discussion :

[Tableaux] Programme de multiplication enfant


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut [Tableaux] Programme de multiplication enfant
    Bonjour, je suis en train de programmer pour des enfants des générateurs de fiches de maths à trou (1 inconnu), j'ai reussi a faire les additions et soustractions mais pour la multiplication je bloque !
    Le but est de faire des exercices à trous, par exemple :
    5*2=10 : l'enfant doit trouver le chiffre 2
    Voici mon code, qui marche mais qui me donne en réponse des nombres à virgules. Je ne veux pas avoir de nombres a virgules dans les réponses, c'est trop compliqué !
    S'il vous plait, comment faire ? J'ai pensé au diviseur commun mais ca devient compliquépour moi !
    Merci !

    echo "<br><center>Fiche multiplication a imprimer et a completer<br>";
    echo "<a href=\"#\" onclick=\"cacher('col2')\" title=\"cliquer pour cacher les solutions\">Cacher les solutions</a></center>";
    echo "<TABLE ALIGN=\"center\" id=\"tbl\">";

    for ($i=0;$i<$nombre;$i++) {
    $total=rand($min,$max);
    $connu=rand(1,$total);
    echo "\t<TR><TH>n°".($i+1)." : </TD>";
    echo "<TD ALIGN=\"right\">$connu</TD>";
    echo "<TD>*</TD>";
    echo "<TD ALIGN=\"center\"> _________ = </TD>";
    echo "<TD ALIGN=\"right\">$total</TD>";
    $rest=$total/$connu;
    echo "<TD ALIGN=\"right\" class=\"col2\">&nbsp;&nbsp;<i>$rest</i></TD>";
    echo "</TR>\n";
    }
    echo "</TABLE>";

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Tu n'as qu'à tirer au sort les deux nombres à multiplier (au lieu d'un nombre et du résultat) comme ça l'affaire est réglée

  3. #3
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut
    Jwhite, je ne comprend aps ta réponse :-(
    Le chiffre total est un chiffre fixe au hasard entre la valeur minimale et maximale que l'utilisateur a entré (par exemple il veut une fiche avec que des resultats entre 5 et 10)

  4. #4
    Membre confirmé Avatar de Luffy Duck
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 165
    Par défaut
    Salut =)

    Pourquoi ne pas générer les deux nombres "multiplicateurs" (je ne sais plus comment on dit ...) ?

    X * Y = Z

    Tu généres les 2 nombres X et Y, qui seront des entiers, il me semble donc que tu seras sûr de retombé sur un entier pour Z.

    @+

    [EDIT] : bon, j'avoue avoir été un peu long à taper sur mon clavier... on m'a devancé...

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    En effet si tu as des contraintes sur le résultat c'est plus chiant, tu peux peut-être prendre que des chiffres entre 1 et 3 comme ça le résultat sera entre 1 et 9...

    Edit : j'aurais du relire deux fois, là c'est plus chaud si l'utilisateur choisit les bornes, je pense qu'avec un peu de réflexion ça va se faire.

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut
    en fait il faut que $connu soit affiché en fonction de $total, $total peux etre n'importe quel chiffre entier...
    Peut etre qu'on peut le faire avec le diviseur commun de $total ?

  7. #7
    NoT
    NoT est déconnecté
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2004
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 237
    Par défaut
    Suffit de vérifier que $total ne soit pas un nombre premier : il n'est pas divisible que par lui-même et 1.

    Si $total est un nombre premier, tu regénère un nouveau $total
    S'il n'est pas premier , tu cherches le premier diviseur que tu trouves et tu l'affiche en tant X, le but étant que l'enfant trouve Y.

    Le problème a première vue peu paraitre simple, c'est juste des manips de nombre sans virgule "tout con" mais il n'en est rien , c'est pas pour rien que les nombres premiers ne sont abordé qu'en programme de terminale option maths ^^

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut
    Merci Not, mais je ne suis pas capable de faire un script avec ce que tu me dis, c'est trop compliqué

  9. #9
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Moi je pense toujours que tu ne prends pas le problème dans le bon sens (cf mes réponses et celle de Luffy Duck), mais bon chacun fait ce qu'il veut et la solution plus matheuse de NoT semble pas mal du tout.

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

Discussions similaires

  1. la programmation pour les enfants
    Par zais_ethael dans le forum Langages de programmation
    Réponses: 15
    Dernier message: 01/03/2008, 21h38
  2. Tableaux de types multiples
    Par Xorgnem dans le forum C++
    Réponses: 43
    Dernier message: 03/07/2007, 18h01
  3. Réponses: 8
    Dernier message: 28/12/2006, 00h51
  4. [Tableaux] Réponses à choix multiples
    Par hpenhp dans le forum Langage
    Réponses: 3
    Dernier message: 01/12/2006, 16h21
  5. [Tableaux] bouton radio multiples
    Par baillador dans le forum Langage
    Réponses: 4
    Dernier message: 08/06/2006, 11h14

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