Bonjours tout le monde pourriez-vous m'aider j'ai vraiment du mal avec les algorithmes....
Mon sujet est le suivant:
On connait le jeu (le juste prix) que l'on va un peu modifier !
Un nombre entier compris au sens large entre 0 et 1000 est caché. On dispose de 20 coups, pas un de plus pour le trouver. A chacune de nos propositions, l'ordinateur nous répondra "plus" si le nombre proposé est inférieur à ce nombre et "moins" sinon. D'autre part, dans le cas où le nombre caché est trouvé, on désire que l'ordinateur affiche le nombre de coups nécessaire! A vous de monter cet algorithme, puis programmer sur Texas et Algobox.
Je vous propose de noter P:"le prix caché"; N:"le nombre de coups"; E:"les propositions".
Merci de me donner les réponses le plus rapidement possible cet algorithme doit être fait pour lundi 26 janvier 2015! Help me please ! I'm lost !
Bonjour, oui mais on aurait bien aimé voir tes essais de programmation au lieu de te donner le résultat tout fait !
Ça n'est pas un algorithme très difficile; As-tu réfléchis aux instructions dont tu vas avoir besoin ?
- le tirage aléatoire d'un nombre entre 0 et 1000.
- pour les 20 coups, il va falloir un " TantQue l'on a pas atteint les 20 coups et que l'on a pas encore trouvé, on continue"
- Pour tester si la proposition est en dessus ou en dessous du nombre à trouver, il va falloir des SI ... ALORS
Essaye au moins !
En gros la logique globale, ça sera :
P = tirage d'un nombre aléatoire entre 0 et 1000 (il y a une instruction Algobox pour ça, donc cherche un peu)
X = 0 une variable qui vaut 0 tant que l'on a pas trouvé le nombre et 1 quand on trouve
N=1 numérotation des essais
TantQue N <= 21 ET X ==0 Faire
Afficher "Essai N°"
afficher N
afficher " : "
Lire E
SI E == P alors
Afficher* " gagné !!!!"
X = 1
FinSi
SI E < P alors
afficher* "c'est plus"
finSi
SI E>P alors
afficher* "c'est moins"
finSI
FinTantQue
J'ai fais quelque chose mais cela ne marche pas...
entaleat(0,1000)->P
promptP
0->x
while x==1
prompt n
while n<=20, x=0
disp"essai",n
if e=p
then
disp "gagné"
x=1
end
if e<p
then
disp"c'est plus petit"
end
if e>p
then
disp "c'est moins"
end
end
Ce programme n'a pas l'aire de fonctionner....
ha, je ne peux t'aider que sous algobox, je ne connais pas assez bien la syntaxe de ta calculatrice.
En voilà un qui marche
(tu peux le copier/coller dans algobox en mode éditeur de texte, ou bien directement en ligne dans proglab )
VARIABLES
P EST_DU_TYPE NOMBRE
X EST_DU_TYPE NOMBRE
N EST_DU_TYPE NOMBRE
E EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
X PREND_LA_VALEUR 0
N PREND_LA_VALEUR 1
P PREND_LA_VALEUR ALGOBOX_ALEA_ENT(0,1000)
TANT_QUE (N<= 20 ET X ==0 ) FAIRE
DEBUT_TANT_QUE
AFFICHER "Essai N° "
AFFICHER N
LIRE E
SI (E == P) ALORS
DEBUT_SI
AFFICHER* " C'est gagné !!!!!"
X PREND_LA_VALEUR 1
FIN_SI
SI (E < P) ALORS
DEBUT_SI
AFFICHER* " C'est plus"
FIN_SI
SI (E > P) ALORS
DEBUT_SI
AFFICHER* " C'est moins"
FIN_SI
N PREND_LA_VALEUR N+1
FIN_TANT_QUE
SI (X==0) ALORS
DEBUT_SI
AFFICHER "désolé, vous avez depassé les 20 coups ! c'est perdu !!"
FIN_SI
FIN_ALGORITHME
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :