jeu de devinette programme
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

jeu de devinette programme



  1. #1
    gtmimi

    Question jeu de devinette programme


    ------

    Bonsoir tout le monde !
    j'espere que vous allez bien ! je suis une debutante en programmation (actuellement je fais de la programmation imperative
    en Ada) ! j'ai ecris un programme pour le jeu de devinette mais il ne marche (il me semble que j'ai
    un probleme en boucle tant que)
    j'espere que quelqu'un pourra m'aider
    merci infiniment d'avance!
    voici mon programme
    WITH Ada.text_io;
    WITH Ada.integer_text_io;
    WITH Alea;
    USE Ada.text_io;
    USE Ada.integer_text_io;
    USE Alea;

    --Specification:
    --R0: ecrire un programme dans lequel l'utilisateur choisit un nombre entre 1 et 100, et la machine doit le deviner
    --Tests: nombre = 2,99,50,23,0,140

    --R1+Analyse informelle:
    --1)l'utilisateur choisit un nombre entre 1 et 100 que la machine doit deviner
    --2)la machine devine le nombre cherche par la methode de dichotomie (on utilisera pour cette devinette une boucle tant que car on ne sait pas si on doit executer les instructions au moins une fois ou si la machine devine le nombre du premier coup)
    --3)on affichera le resultat

    --R2:
    --1)je sais faire (une boucle repeter jusqu'a pour que le nombre choisit soit entre 1 et 100)
    --2)boucle tant que : on mettera un si alors sinon pour aider la machine a deviner le nombre cherche
    --3)je sais faire

    PROCEDURE jeu_machine IS
    --un programme dans lequel l'utilisateur choisit un nombre entre 1 et 100, et la machine doit le deviner
    --declaration des variables
    N : INTEGER; --le nombre que l'utilisateur choisit de faire deviner à la machine
    M : INTEGER; --le nombre que la machine devine
    BEGIN
    --l'utilisateur choisit un nombre entre 1 et 100 que la machine doit deviner
    LOOP
    PUT("veuillez taper le nombre compris entre 1 et 100 que vous voulez faire deviner à la machine : ");
    GET(N);
    EXIT WHEN (N>=1 AND N<=100);
    END LOOP;
    --N est entre 1 et 100
    --la machine devine le nombre cherche par la methode de dichotomie
    --initialisation des variables
    --appeler la fonction fournissant un nombre aleatoire
    M:=Alea_1_100;
    WHILE M/=N LOOP
    IF M>N THEN
    M:=(M-1)/2;
    ELSE
    M:=(100-M)/2;
    END IF;
    GET(M);
    END LOOP;
    --M=N
    --afficher le resultat
    PUT("le nombre que je dois deviner est : ");
    PUT(M);
    END jeu_machine;

    -----

  2. #2
    gtmimi

    Re : jeu de devinette programme

    NB: pour que la machine choisisse le nombre aléatoirement, j'utilise la fonction alea_1_100 qui renvoie
    un nombre aléatoire entre 1et 100 (cette fonction marche tres bien (donnée par le prof))

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/06/2014, 19h44
  2. comment utiliser les résultats d'un programme fortran dans un autre programme
    Par invitedb78a3a3 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 30/09/2010, 19h21
  3. Devinette
    Par invite7e46586a dans le forum Physique
    Réponses: 0
    Dernier message: 01/02/2010, 11h15
  4. Devinette
    Par CM63 dans le forum Science ludique : la science en s'amusant
    Réponses: 10
    Dernier message: 23/02/2008, 14h18