Bonjour a tous
J'ai du mal avec un exercice qui consiste a faire un algorithme écrit sur le jeu le Juste Prix. Faire un algorithme pour le Jeu du nombre à deviner :
L'algorithme doit choisir un entier au hasard entre 1 et 100, demander une proposition au joueur, et lui dire si l'entier choisi est plus grand ou plus petit que le nombre proposé. Lorsque le joueur trouve le bon entier, l'algorithme lui signale qu'il a gagné.
Au fur et à mesure du déroulement du jeu, l'algorithme compte le nombre de propositions faites et l'annonce au joueur.
Je ne sais pas si je dois plutot utiliser Si ... Alors ou Tant que. J'avoue etre un peu perdue quant au Algorithmes. C'est pourquoi je demande votre aire. Merci !
Tu sais les algorithmes, il faut essayer avant de dire que l'on ne sait pas.
(Celui là marche dans algobox (tu peux le copier/coller mais en mode éditeur de teste dans algobox)
VARIABLES
N EST_DU_TYPE NOMBRE
X EST_DU_TYPE NOMBRE
c EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
N PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1,100)
c PREND_LA_VALEUR 1
AFFICHER* "J'ai choisi un nombre, à vous de le deviner ?"
LIRE X
TANT_QUE (X != N) FAIRE
DEBUT_TANT_QUE
SI (X < N) ALORS
DEBUT_SI
AFFICHER* "Vore nombre est inférieur"
FIN_SI
SI (X > N) ALORS
DEBUT_SI
AFFICHER* "Vore nombre est supérieur"
FIN_SI
LIRE X
c PREND_LA_VALEUR c+1
FIN_TANT_QUE
AFFICHER* "Bravo, c'est ça"
AFFICHER " Vous avez trouvé en "
AFFICHER c
AFFICHER " essais"
FIN_ALGORITHME
Bonjour,
1 VARIABLES
2 N EST_DU_TYPE NOMBRE
3 X EST_DU_TYPE NOMBRE
4 A EST_DU_TYPE NOMBRE
5 B EST_DU_TYPE NOMBRE
6 C EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 A PREND_LA_VALEUR 0
9 B PREND_LA_VALEUR 100
10 C PREND_LA_VALEUR 0
11 X PREND_LA_VALEUR -1
12 AFFICHER "Devinez un nombre entier entre "
13 AFFICHER A
14 AFFICHER " et "
15 AFFICHER B
16 N PREND_LA_VALEUR ALGOBOX_ALEA_ENT(A,B)
17 TANT_QUE (X!=N) FAIRE
18 DEBUT_TANT_QUE
19 LIRE X
20 SI (X<N) ALORS
21 DEBUT_SI
22 AFFICHER "Trop Petit"
23 FIN_SI
24 SI (X>N) ALORS
25 DEBUT_SI
26 AFFICHER "Trop Grand"
27 FIN_SI
28 C PREND_LA_VALEUR C+1
29 AFFICHER "."
30 FIN_TANT_QUE
31 AFFICHER "Gagné en "
32 AFFICHER C
33 AFFICHER " tentatives"
34
35 FIN_ALGORITHME
J'avais essayé mais je coincé toujours au tant que car je ne savais pas quoi mettre apres.
Merci beaucoup a vous deux !
Bonjour, je voudrais savoir comment faire pour afficher le nombre d'essais à chaque proposition de l'utilisateur. Ou je dois mettre cette opération dans l'algorithme. Merci
C'est la variable C, donc il suffit de rajouter un AFFICHER C, à toi de trouver où. Réfléchis un peu.
Bonjour, j'aimerais que mon algorithme empêche l'utilisateur de saisir des nombres décimal pour cela je pense que je dois utiliser floor mais quand je rentre floor dans mon algorithme avec bien sûr d'autre instructions il y'a des problèmes qui apparaissent avez-vous une idée pour placer une instructions après le fin si de si (x>n) ?
Merci de m'aider.
Oui c'est ça, un petit test SI (X==floor(X) )
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab ) j'en ai profité pour rajouter ce que tu avais demandé aussi, la numérotation des questions et le rappel du nombre proposé :
VARIABLES
N EST_DU_TYPE NOMBRE
X EST_DU_TYPE NOMBRE
c EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
N PREND_LA_VALEUR ALGOBOX_ALEA_ENT(1, 100)
c PREND_LA_VALEUR 1
AFFICHER* "J'ai choisi un nombre entre 1 et 100, à vous de le deviner ?"
LIRE X
TANT_QUE (X!=N) FAIRE
DEBUT_TANT_QUE
SI (floor(X)==X) ALORS
DEBUT_SI
AFFICHER "N°"
AFFICHER c
AFFICHER ": "
AFFICHER X
AFFICHER "==> "
SI (XN) ALORS
DEBUT_SI
AFFICHER* "Votre nombre est supérieur"
FIN_SI
FIN_SI
SINON
DEBUT_SINON
AFFICHER* "Vous n'avez le droit de proposer que des nombres entiers !!"
c PREND_LA_VALEUR c-1
FIN_SINON
LIRE X
c PREND_LA_VALEUR c+1
FIN_TANT_QUE
AFFICHER* "Bravo, c'est ça"
AFFICHER " Vous avez trouvé en "
AFFICHER c
AFFICHER " essais"
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :