Bonjour,
Dans un DM à rendre pour demain, il y a un exercice portant entièrement sur un algorithme. Je suis bloquée sur la seconde et dernière question. Voici l'énoncé complet :
La fonction floor(random()*6+1) permet avec Algobox de simuler le lancer d'un dé à six faces.
1. Écrire un algorithme avec Algobox permettant de simuler 1000 lancers de deux dés et d'afficher la somme des deux dés à chaque lancer.
2. Modifier l'algorithme afin que le programme affiche le nombre de 7 obtenus sur ces 1000 tirages.
J'ai réussi le premier algorithme mais malheureusement, j'ai un problème avec le deuxième.
Voici mon algorithme :
1 VARIABLES
2 dé1 EST_DU_TYPE NOMBRE
3 dé2 EST_DU_TYPE NOMBRE
4 s EST_DU_TYPE NOMBRE
5 k EST_DU_TYPE NOMBRE
6 sept EST_DU_TYPE NOMBRE
7 DEBUT_ALGORITHME
8 sept PREND_LA_VALEUR 0
9 POUR k ALLANT_DE 1 A 1000
10 DEBUT_POUR
11 dé1 PREND_LA_VALEUR floor(random()*6+1)
12 AFFICHER dé1
13 AFFICHER " + "
14 dé2 PREND_LA_VALEUR floor(random()*6+1)
15 AFFICHER dé2
16 AFFICHER " = "
17 s PREND_LA_VALEUR dé1+dé2
18 AFFICHER s
19 SI (s==7) ALORS
20 DEBUT_SI
21 sept PREND_LA_VALEUR +1
22 FIN_SI
23 FIN_POUR
24 AFFICHER "Le nombre 7 a été obtenu "
25 AFFICHER sept
26 AFFICHER " fois."
27 FIN_ALGORITHME
Lorsque je le lance, il effectue les lancers, additionne bien les deux résultats puis recommence jusqu'à avoir effectué 1000 lancers. Mon problème est qu'il n'affiche pas le bon nombre de 7 obtenus. Lorsqu'on obtient au moins un 7, il affiche toujours "Le nombre 7 a été obtenu 1 fois", même lorsqu'on a obtenu plusieurs 7.
Pourriez-vous m'aider s'il vous plaît ? Je ne vois pas où se trouve mon erreur.
Merci d'avance.
Bonjour,
Je pense que l'erreur se situe ligne 21...
19 SI (s==7) ALORS
20 DEBUT_SI
21 sept PREND_LA_VALEUR
22 FIN_SI
Bonne journée.
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :