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

Algorithmes et structures de données Discussion :

Création d'un générateur d'exercices de calcul mental aléatoire


Sujet :

Algorithmes et structures de données

  1. #1
    Membre régulier Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Points : 74
    Points
    74
    Par défaut Création d'un générateur d'exercices de calcul mental aléatoire
    Bonjour,

    J'ai besoin d'aide sur un algo pour un projet en C++ qui doit me permettre de réviser le calcul mental.

    Contexte général :

    Dans un temps limité, je dois répondre à un certain nombre de questions avec réponses à choix multiples (4 réponses possibles par question).

    Chaque question est obligatoirement une opération à deux chiffres.

    Les chiffres peuvent être entiers (compris entre -10000 et 10000), décimaux (jusqu'à trois chiffres après la virgule), positifs ou négatifs pour de petits chiffres (ex : 0.009) ou à deux chiffres pour ceux compris entre -100 et 100, des fractions.

    À ce stade de la conception, j'ai besoin d'être aiguillé sur trois choses :
    - la génération aléatoire de nombre qui correspondent à la description ci-dessus ;
    - le choix aléatoire d'un style opération (addition,...) ;
    - et enfin le placement aléatoire de la bonne réponse dans les propositions, les propositions fausses doivent être ressemblantes pour semer le doute.

    Merci.

  2. #2
    Nouveau membre du Club
    Homme Profil pro
    Développeur Autodidacte
    Inscrit en
    Janvier 2008
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Autodidacte

    Informations forums :
    Inscription : Janvier 2008
    Messages : 46
    Points : 36
    Points
    36
    Par défaut
    Tu cherche seulement comment obtenir des nombres aléatoires ou tu désire des conseils sur la bonne façon d'implémenter un tel programme?

    Si c'est seulement pour les nombres aléatoires clic ici, sinon peut-être devrais-tu être plus précis dans ta question...

  3. #3
    Membre régulier Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Points : 74
    Points
    74
    Par défaut
    merci

    j'ai déjà une bonne idée pour générer des nombre aléatoire, c'est plutôt une suite aléatoire d'opération qui me pose problème: mon algo doit être capable de créer N opération de deux chiffre aléatoire, avec un opérateur (addition, soustraction,...) choisit aussi de manière aléatoire. Le résultat de l'opération doit apparaitre ensuite placé "au hasard" dans une suite de 4 réponses(les 3 autres devront être évidemment).

  4. #4
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    Généralement, on utilise l'opérateur module (%) dans ces cas-là.

    Pour générer une opération aléatoire, tu génères un nombre, tu regardes le résultat de ce nombre modulo 4, et en fonction, tu choisis ton opération (0 = addition, 1 = soustraction, etc).

    Pour la division, pour être sûr de tomber sur une valeur entière, une astuce consiste à générer deux nombres, à faire leur produit, et à proposer comme opération la division du produit par la première opérande (par exemple).

    Dans l'ordre, je génèrerai d'abord l'opération, car l'intervalle de valeurs pour l'opération dépend de cette opération (on sait additionner de tête 27 et 46, mais les multiplier est un peu plus ardu).

  5. #5
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Tes trois problèmes concernent 3 tirages aléatoires successifs mais avec un objectif différent :
    1/ Un tirage pour les opérandes dans leur espace de valeur ;
    2/ Un tirage aléatoire de 0 -> N, où tu fais correspondre un nombre avec une des opérations ;
    3/ Un tirage entre 0 et 3 pour te donner la place de la bonne réponse.

    Comme white_tentacle, je commencerais probablement par le tirage de l'opération (2) car il risque de déterminer l'espace des valeurs du premier tirages - celui des opérandes.

  6. #6
    Membre régulier Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Points : 74
    Points
    74
    Par défaut
    merci pour ces précieuses idées, notamment celle sur la division.
    ce sont genre de petite astuces que je recherche.
    J'avais pensé au proprieté des nombre premiers pour créer des multiples

    le point le plus délicat est je pense le génération de fausses réponses proches de la vrai pour pouvoir avoir un QCM, et la dessus aucune idée

  7. #7
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Citation Envoyé par Nono Sto Voir le message
    le point le plus délicat est je pense le génération de fausses réponses proches de la vrai pour pouvoir avoir un QCM, et la dessus aucune idée
    Parmi les fausses réponses, deux idées parmi d'autres :
    1/ valeur proche -> Vrai +- un delta
    2/ un shuffle des digit : par expl si la réponse est 3492, proposé 3942

    Ce sont les erreurs typiques que je fais quand je fais du calcul mental

  8. #8
    Membre régulier Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Points : 74
    Points
    74
    Par défaut
    Rassure toi, ton idée est brillante tellement elle est simple
    même si ton cerveau fais des erreur (cela arrive même au Pentium) de calcul il tourne vite.
    j'ai pensé aussi à division par dix pour le cas de decimal inferieur à 0 style
    0.025 0.0025 0.25 ou 2.5 pour 1/4

  9. #9
    Modérateur
    Avatar de ToTo13
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Janvier 2006
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Santé

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 793
    Points : 9 860
    Points
    9 860
    Par défaut
    bonjour,

    - pour l'opération, il suffit de la tirer alétoirement.
    - pour les réponses, tu fais le calcul juste et ensuite tu mets des erreurs proportionnelles à la taille de tes nombres : calculs sur des milliers => erreur du type centaine, calculs sur des centaines => erreur unité, etc.
    - pour les chiffres tu n'as qu'à tirer aléatoirement la taille des nombres (décimaux, unités, dizaines, centaines, milliers) et ainsi adapter leur affichage.
    Consignes aux jeunes padawans : une image vaut 1000 mots !
    - Dans ton message respecter tu dois : les règles de rédaction et du forum, prévisualiser, relire et corriger TOUTES les FAUTES (frappes, sms, d'aurteaugrafe, mettre les ACCENTS et les BALISES) => ECRIRE clairement et en Français tu DOIS.
    - Le côté obscur je sens dans le MP => Tous tes MPs je détruirai et la réponse tu n'auras si en privé tu veux que je t'enseigne.(Lis donc ceci)
    - ton poste tu dois marquer quand la bonne réponse tu as obtenu.

  10. #10
    Membre régulier Avatar de Nono Sto
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    350
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 350
    Points : 74
    Points
    74
    Par défaut
    merci pour tes idées je continu a bosser sur la conception

Discussions similaires

  1. Réponses: 1
    Dernier message: 22/02/2008, 12h30
  2. Réponses: 2
    Dernier message: 04/01/2008, 15h31
  3. Exercice de calcul de valeur approchée
    Par profinf dans le forum Pascal
    Réponses: 2
    Dernier message: 18/06/2007, 18h22
  4. Exercice de calcul de valeur approchée
    Par annoussa dans le forum Pascal
    Réponses: 8
    Dernier message: 22/10/2006, 11h51
  5. Création d'un générateur de map "intelligent" (un
    Par Torpedox dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 30/11/2005, 22h31

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