Bonjour tout le monde
j'ai un Dm et je suis bloqué à une question de manipulation du logiciel algobox merci de votre futur aide
à chaque tour on lance un dé. Si le 6 sort alors le lièvre gagne la partie sinon la tortue avance d'une case. La tortue gagne lorsqu'elle a avancé de 6 cases.
1) completer l'algorithme qui simule une partie et qui affiche le vainqueur
variables: lièvre,tortue
Début: lièvre prend valeur 0, tortue prend valeur 0
tant que lièvre<6 et tortue<6 faire
Si une valeur aléatoire entière entre 1 et 6 est différent de 6
Alors tortue prend la valeur +1
Sinon lièvre prend la valeur 6
FinSi
FinTant
Si lièvre est égal à 6
Alors...
Si...
...=chose à compléter (moi j'ai mis Alors lièvre gagne, Sinon tortue gagne)
2)programmer l'algorithme
(image jointe en 2 partie 1 ci dessous l'autre dans les réponses)
3) modifier cet algorithme afin de simuler n parti et de compter le nombres de parties gagnés par la tortues
Pour simuler n partie, on peut par exemple:
a) assigner une certaine valeur à une nouvelle variable n (qui sera le nombre de partie à jouer) ou mieux demander cette valeur de n à l'utilisateur
b) englober les instructions de la ligne 5 à la ligne 25 dans une nouvelle boucle POUR comptant de 1 jusqu'à n
c) se définir une nouvelle variable qui contiendra le nombre de victoires de la tortue et donc incrémenter cette variable à chaque victoire de la tortue. C'est également la valeur de cette variable que l'on affichera à la toute fin du programme
Tout au début de l'algorithme entre la ligne 4 et la ligne 5: il faut que la valeur de n soit connue avant de démarrer la nouvelle boucle.
Il faut encore rajouter un FIN_POUR puis suivre la méthode du c) pour créer et incrémenter la variable qui comptera le nombre de victoires de la tortue.
je viens de tester mon algorithme et ça ma marque lièvre gagne à chaque fois. (je n'ai pas fais l'étape c)
Dans l'algorithme original, il faut modifier:
a) la ligne 6: tortue PREND_LA_VALEUR 0
b) la ligne 11: tortue PREND_LA_VALEUR tortue +1
c) et donc la ligne 18: SI (lièvre == 6) ALORS
Avec ces modifications, j'obtiens des victoires tant pour le lièvre que pour la tortue.
Bonjour, j'ai également ce devoir maison. Mais je n'arrive malheureusement pas à "effectuer la simulation de n parties et de compter le nombre de parties gagnées par la tortue" malgré l'aide donnée précédemment.
Pourriez-vous me ré-expliquer cette partie de l'exercice?
Merci d'avance!
Bonjour,
Une fois que le programme fonctionne pour une partie, le plus dur est fait ! Pour passer à n parties, il faut procéder par étapes. La première consiste à englober les lignes 5 à 25 dans une boucle FOR comptant, disons, de 1 à 4 (nous modifierons cette dernière valeur plus tard). Dès que cette première modification fonctionnera, nous passerons à la suivante.
Cordialement.
Lorsque je dois mettre POUR allant de .. à ..
Le logiciel m'affiche POUR la variable (et là j'ai le choix, et je ne sais pas laquelle choisir) allant de .. à ..
Merci.
L'étape suivante consiste à s'affranchir du 4 de la boucle. Nous allons demander à l'utilisateur le nombre d'itérations de la boucle qu'il souhaite (instruction LIRE) en mettant le résultat dans, par exemple, la variable N. Il faudra ensuite remplacer le 4 par ce N ...
La dernière chose à faire est de comptabiliser le nombre de victoire de la tortue. On pourra stocker ce nombre dans par exemple la variable VICTOIRE_TORTUE. Elle devra être initialisée à 0 tout au début du programme et devra ensuite être incrémentée de 1 à chaque victoire de la tortue (on sait que la tortue gagne lorsqu'on affiche le message "tortue gagne"). Enfin, pour indiquer à l'utilisateur le nombre final de victoires de la tortue, il faudra afficher notre variable tout à la fin du programme.
1 VARIABLES
2 lièvre EST_DU_TYPE NOMBRE
3 tortue EST_DU_TYPE NOMBRE
4 i EST_DU_TYPE NOMBRE
5 n EST_DU_TYPE NOMBRE
6 DEBUT_ALGORITHME
7 POUR i ALLANT_DE 1 A n
8 DEBUT_POUR
9 LIRE n
10 lièvre PREND_LA_VALEUR 0
11 tortue PREND_LA_VALEUR 0
12 TANT_QUE (lièvre<6 ET tortue<6) FAIRE
13 DEBUT_TANT_QUE
14 SI (ALGOBOX_ALEA_ENT (1,6) !=6) ALORS
15 DEBUT_SI
16 tortue PREND_LA_VALEUR tortue+1
17 FIN_SI
18 SINON
19 DEBUT_SINON
20 lièvre PREND_LA_VALEUR 6
21 FIN_SINON
22 FIN_TANT_QUE
23 SI (lièvre==6) ALORS
24 DEBUT_SI
25 AFFICHER "lièvre gagne"
26 FIN_SI
27 SINON
28 DEBUT_SINON
29 AFFICHER "tortue gagne"
30 FIN_SINON
31 FIN_POUR
32 FIN_ALGORITHME
Voilà mon algorithme. Je commence un peu à être perdu. Pourriez-vous m'indiquer où je dois ajouter les derniers éléments s'il vous plait?
Merci.
Tout d'abord, concernant le programme actuel, il faut placer le "LIRE n" juste après DEBUT_ALGORITHME car sinon Algobox ne saura pas comment compter de 1 à n en ligne 7 !
Maintenant pour les derniers éléments, la variable VICTOIRE_TORTUE est à déclarer en même temps que celles déjà existantes (par exemple après la ligne 5) puis à initialiser à 0 juste après DEBUT_ALGORITHME. Il faudra incrémenter VICTOIRE_TORTUE de 1 dans le DEBUT_SINON...FIN_SINON qui débute en ligne 28. Enfin, il faudra afficher VICTOIRE_TORTUE à la fin, juste avant FIN_ALGORITHME.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :