1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    mai 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Industrie

    Informations forums :
    Inscription : mai 2015
    Messages : 6
    Points : 5
    Points
    5

    Par défaut Exercices arithmétiques aléatoires

    Salut,
    j'ai besoin d'aide svp.
    Je voudrais faire un programme qui affiche les tables de multiplication, addition et soustraction, et propose des expressions arithmétiques par grade de difficulté (difficulté 1 : une seule opération, difficulté 2 : 2 opérations...) et qui et corrige et affiche la note /20.
    Bon j'ai fait l’affichage et difficulté 1 mais je suis resté bloqué en difficulté deux ; je ne demande pas que vous fassiez mon travail, je demande juste un peu d'aide ou une méthode pour procéder parce que je suis vraiment bloqué.
    (je vous informe que les nombres et les opérations sont aléatoires). Veuillez voir la pièce jointe.
    Fichiers attachés Fichiers attachés

  2. #2
    Responsable Delphi

    Avatar de gvasseur58
    Homme Profil pro
    Cultivateur de code (bio)
    Inscrit en
    février 2013
    Messages
    1 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Cultivateur de code (bio)
    Secteur : Enseignement

    Informations forums :
    Inscription : février 2013
    Messages : 1 059
    Points : 12 514
    Points
    12 514
    Billets dans le blog
    33

    Par défaut

    Citation Envoyé par hodalgatt Voir le message
    slt , j'ai besoin d'aide svp , je voudrais faire un programme qui affiche les tables de multiplication , addition et soustraction , et propose des expressions arithmétique par grade de difficulté ( difficulté 1 :une seule opération , difficulté 2 : 2 opération ..)et qui et corrige et affiche la note /20 , bon j'ai fait l’affichage et difficulté 1 mais j'ai resté bloqué en difficulté deux, je demande pas que vous fassiez mon travail je demande juste un peu d'aide ou une méthode pour procéder parce que je suis vraiment bloqué .( je vous informe que les nombres et les operations sont aleatoires ); veuillez voir la pièce jointe .
    Bonjour,

    J'ai regardé votre travail et vous êtes sur la bonne voie.
    Pour commencer, il faut corriger deux erreurs :

    * dans une procédure ou une fonction, une variable locale a une valeur indéterminée : il faut par conséquent toujours l'initialiser. Pour la valeur de retour d'une fonction, il est aussi grandement conseillé de l'initialiser, la plupart des compilateurs ne préjugeant pas d'un résultat.

    Ainsi, dans vos fonctions de calcul, j'ajouterais la ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    function add(var a,b: integer):boolean;
    var
     rep:integer;
    begin
     writeln(a,'+',b,'=');
     readln(rep);
     if rep=a+b then
       add:=true
     else
     begin
       writeln ( 'wrong answer');
      Add:=false; // ligne ajoutée
     end;
    end;
    * Second problème plus grave : la fonction op ne retournera pas ce que vous pensez En effet, la dernière ligne ne sera jamais testée puisque si x > 200, son cas aura déjà été traité par X > 100

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function op():char;
    var
      x:integer;
    begin
     x:=random(300);
     if x<100 then
       op:='+';
     if x>100 then
       op:='-'; // à remplacer par if (x>100) and (x<200) then op:='-';
     if x>200 then
       op:='*';
    end ;
    Pour la suite, je vous laisse réfléchir :
    * vous avez besoin d'une variable supplémentaire qui va compter les réussites et vous déciderez à partir de quand il faut passer au niveau suivant ;
    * vous avez besoin de boucler sur vos fonctions de calcul autant de fois que le niveau l'indique (1 fois pour le niveau 1, 2 fois pour le niveau 2...)
    * vous avez enfin besoin de deux autres variables qui compteront l'une le nombre total d'exercices faits et l'autre le nombre d'exercices réussis.

    Vous travaillez encore un peu et on vous aide, d'accord ?

    Bon courage,

    Gilles
    Accès à mon site et à mon blog. Actualités, cours et ressources Delphi, Lazarus et Pascal.
    Pensez à la balise - Quelqu'un vous a aidé ou vous appréciez une intervention ? Pensez au

Discussions similaires

  1. Exercice tordu sur l'arithmétique des pointeurs
    Par Tamzoro dans le forum Débuter
    Réponses: 5
    Dernier message: 20/04/2015, 16h26
  2. Création d'un générateur d'exercices de calcul mental aléatoire
    Par Nono Sto dans le forum Général Algorithmique
    Réponses: 9
    Dernier message: 18/03/2009, 14h02
  3. Pouvez vous m'aider a resoudres ces 3 exercices
    Par algorithmique dans le forum Général Algorithmique
    Réponses: 11
    Dernier message: 09/08/2002, 17h26
  4. Récupérer 10 nb différents avec un calcul aléatoire
    Par BXDSPORT dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2002, 02h35

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