Bonjour
J'ai quelques petits problèmes avec les algorithmes que je suis censée écrire, et implémenté ensuite dans Algobox.
1) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme
2) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme
3) Développez un jeu qui consiste à tirer au sort un nombre compris entre 0 et 1000, puis à demander au joueur de deviner quel est ce nombre, jusqu'à ce qu'il donne la bonne réponse. En cas de mauvaise réponse, le jeu répondra simplement "trop petit" ou "trop grand".
4) ** exercice effacé et dupliqué dans un nouveau topic ** Ecrire un algorithme
Pour le trois j'ai tout d'abord :
Variable :
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
Lire b
Si (b<a) alors
Debut Si
Afficher "trop petit"
afficher a =
afficher a
afficher b =
afficher b
Debut sinon
Si (a>b) alors
debut si
afficher "trop grand "
afficher a =
afficher a
afficher b =
afficher b
Fin si
Fin sinon
Fin algorithme
Mais je ne trouve aucun résultat (algobox me marque Debut algorithme, puis Fin algorithme lorsque je le lance), en bref je suis perdue, merci à tous ceux qui pourront m'aider ..
Edit Coll : merci de respecter la FAQ, un problème = un topic
visiblement, dans cet algorithme, il manque une bouche while.
le cas a = b n'est jamais traité.
un joli mêli-mêlo sur le test en IF.
Est-ce que le "lire b" marche au moins ?
...
Non rien ne marche enfaite, c'est trop vague.
Je comprend pas vraiment comment intégré les trois ( a<b, a>b et a=b) dans l'algorithme ..
bien.
alors on va déjà régler le problème de la syntaxe du if :
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
afficher a =
afficher a
afficher b =
Lire b
Si (b < a) alors
Debut_Si
Afficher "trop petit"
Fin si
sinon
debut sinon
si (a > b) alors
debut si
afficher "trop grand "
Fin si
sinon
debut sinon
afficher "c'est gagné "
fin sinon
fin sinon
Fin algorithme
implémente déjà cela et fait tourner.
comme tu as l'affichage de la valeur a en début de prgrm, tu testes
1 fois avec un nombre b inférieur
1 fois avec un nombre b supérieur
1 fois avec un nombre b égal.
les 3 cas doivent marcher.
ensuite on rajoutera une boucle tant que
...
J'ai essayé, ça tourne a peu près
sauf qu'il me marque après " ***Algorithme interrompu ligne 10 : erreur dans la lecture d'une variable ***" plus précisément avec "Lire b"
On a oublié l'instruction variable en début de prgm
variables
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
afficher a =
afficher a
afficher b =
Lire b
...
j'ai corrigé le problème, maintenant le programme tourne. J'ai essayer avec plusieurs valeur, seulement j'ai remarqué que je n'arrive pas à tomber sur " trop grand"
normal. le test est à l'envers.
corrige ça :
sinon
debut sinon
si (a < b) alors
debut si
afficher "trop grand "
Fin si
sinon
...
comment je fais pour celle -ci ?
et je viens de remarquer que ça m'affiche toujours " ***Algorithme interrompu ligne 10 : erreur dans la lecture d'une variable ***" :s
Variable
a est du type nombre
b est du type nombre
Debut algorithme
a prend la valeur (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire B
Si (b<a) alors
...
Je rentre bien un nombre oui
Je corrigerais déjà la syntaxe :
Variables
a EST_DU_TYPE nombre
b EST_DU_TYPE nombre
Debut_algorithme
a PREND_LA_VALEUR (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire b
...
Si on introduit la boucle tant_que
on va même pouvoir simplifier les test en If
variables
a EST_DU_TYPE nombre
b EST_DU_TYPE nombre
Debut_algorithme
a PREND_LA_VALEUR (random()*1000)
Afficher "a="
Afficher a
Afficher "b="
Lire b
tant_que (a != b) faire
début tant que
Si (b < a) alors
Debut_Si
Afficher "trop petit"
Fin si
sinon
debut sinon
afficher "trop grand "
fin sinon
afficher "recommencez... "
Afficher "b="
Lire b
fin tant que
afficher "c'est gagné "
Fin algorithme
...
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :