f(x)=2x le 15/04/2012 à 13:38
Bonjour !
je dois faire un algorithme.
"Une grenouille se trouve sur un nénuphare noté 0. Faire un lancer aléatoire entre 1 et 0. Si le résultat est 0, la grenouille saute a gauche, sinon elle saute a droite. Au nenuphare 4, il y a un animal, si elle arrive au 4, elle meurt. Si elle arrive au nenuphare -3 elle mange, le jeu s'arrete.
on fait au maximum 10 lancers aléatoires.
Realiser un algo pour qu'il fait 100fois et qu'il fasse afficher le nombre de fois qu'elle meurt, le nombre de fois qu'ele mange & le nombre de fois qu'elle se balade sans manger et sans se faire manger par l'animal."
J'ai fait quelque chose mais il ne me dit pas combien de fois elle se balade sans manger.
VARIABLES
X EST_DU_TYPE NOMBRE // numéro du nénuphare
P EST_DU_TYPE NOMBRE // Resultat du lancer aleatoire 1 ou 0
N EST_DU_TYPE NOMBRE // Compteur de lancers
I EST_DU_TYPE NOMBRE // Indice de boucle
A EST_DU_TYPE NOMBRE // Nombre de fois qu'elle mange
B EST_DU_TYPE NOMBRE // Nombre de fois qu'elle se balade sans manger
C EST_DU_TYPE NOMBRE // Nombre de fois qu'elle meurt
DEBUT_ALGORITHME
1 A PREND LA VALEUR 0
11 B PREND LA VALEUR 0
12 C PREND_LA_VALEUR 0
13 POUR I ALLANT_DE 1 A 100
14 DEBUT_POUR
15 X PREND_LA_VALEUR 0
16 N PREND_LA_VALEUR 0
17 P PREND_LA_VALEUR ALGOBOX_ALEA_ENT(0,1)
18 N PREND_LA_VALEUR N+1
19 TANT_QUE (X!=-3 ET X!=4 ET N<10) FAIRE
20 DEBUT_TANT_QUE
21 SI (P==0) ALORS
22 DEBUT_SI
23 X PREND_LA_VALEUR X-1
24 FIN_SI
25 SINON
26 DEBUT_SINON
27 X PREND_LA_VALEUR X+1
28 FIN_SINON
29 FIN_TANT_QUE
30 SI (X==4) ALORS
31 DEBUT_SI
32 AFFICHER "Mort"
33 B PREND_LA_VALEUR B+1
34 FIN_SI
35 SI (X==-3) ALORS
36 DEBUT_SI
37 AFFICHER "Sieste Digestive"
38 A PREND_LA_VALEUR A+1
39 FIN_SI
40 SI (X!=-3 ET X!=4) ALORS
41 DEBUT_SI
42 AFFICHER "grenouille vit

"
43 C PREND_LA_VALEUR C+1
44 FIN_SI
45 FIN_POUR
46 AFFICHER "Nombre de sieste digestive"
47 AFFICHER A
48 AFFICHER "Nombre de mort"
49 AFFICHER B
50 AFFICHER "Nombre de vie"
51 AFFICHER C
FIN_ALGORITHME
je l'ai fait sur algobox.
Est ce que quelqu'un peut me dire où est mon erreur ?
f(x)=2x le 15/04/2012 à 15:38
Lorsque je le fais fonctionner, j'ai toujours 0 pour le nombre de fois que le grenouille se balade sans manger. Donc je pense que j'ai mal mis certains éléments, mais je ne sais pas lesquels :/ Le prof a dit que ce n'est pas possible d'avoir un resultat nul pour le nombre de fois qu'elle se balade sans manger.
bah je peux tout mettre en langage TI alors ..
Code
Variables:
X numéro du nénuphare
P Resultat du lancer aleatoire 1 ou 0
N Compteur de lancers
I Indice de boucle
A Nombre de fois qu'elle mange
B Nombre de fois qu'elle se balade sans manger
C Nombre de fois qu'elle meurt
Debut:
0->A
0->B
0->C
For(I,1,100
0->X
0->N
entaleat(1,0)-> P
N+1 -> N
While X=/=3 ET X=/=4 ET N<10
If(P==0)
Then
X-1->X
Else
X+1-> X
End
End
If X=4
Then
Disp "Mort"
B+1 -> B
End
If X=-3
Then
Disp "Sieste Digestive"
A+1->A
end
If X=/= -3 ET X=/=4
Then
Disp "grenouille vit "
C+1->C
End
End
disp "Nombre de sieste digestive"
disp A
disp "Nombre de mort"
disp B
disp "Nombre de vie"
disp C
FIN
Voilà.