Salut à tous
J'ai quelques problème avec cet exercice, si vous pouvez m'aider à comprendre ce serait super
voici l'énoncé :
Une puce se déplace sur un axe gradué entre -3 et 3.
A chaque saut, elle se déplace aléatoirement vers la droite ou vers la gauche de manière équiprobable.
Elle part de 0 et effectue 3 sauts.
Partie A:
On considère l'algorithme suivant:
1 VARIABLES
2 position EST_DU_TYPE_NOMBRE
3 nbsaut EST_DU_TYPE_NOMBRE
4 DEBUT_ALGORITHME
5 position PREND_LA_VALEUR 0
6 POUR nbsaut ALLANT_DE 1 A 3
7 DEBUT_POUR
8 SI(random()<0.5)ALORS
9 DEBUT_SI
10 position PREND_LA_VALEUR position+1
11 FIN_SI
12 SINON
13 DEBUT_SINON
14 position PREND_LA_VALEUR position-1
15 FIN_SINON
16 FIN_POUR
17 AFFICHER position
18 FIN_ALGORITHME
N.B. la fonction random() génère un nombre aléatoire dans l'intervalle [0;1]
1. Que fait cet algorithme ?
J'ai répondu:
Cet algorithme simule le déplacement de la puce et affiche sa position au bout de trois sauts sur l'axe graduée de -3 à 3, en sachant que la puce se déplace vers la gauche ou vers la droite de façon équiprobable.
2. On suppose que la puce se trouve sur l'un des entiers fixés. Quelle est la probabilité que la puce saute à gauche ? à droite ?
Je ne comprends pas la question, c'est équiprobable, donc 1/2 ??
3. Justifier le test dans la boucle " SI " de la ligne 8.
pareil, je ne sais pas ce qu'il faut faire ...
4. Compléter l'algorithme afin qu'il répète 50 fois l'expérience et qu'il affiche les 50 positions.
Je ne sais pas trop comment faire, je n'ai jamais été très bon en algorithme, j'aurais pensé à quelque chose comme répeter 50 fois, après la ligne 16, puis afficher les 50 positions, mais je ne sais pas si c'est possible ...
5. Compléter le tableau suivant à l'aide de cet algorithme. Que remarque-t-on ? Est-ce surprenant ?
Position finale | -3 | -2 | -1 | 0 | 1 | 2 | 3 |
Effectifs | |||||||
Fréquences |
Bonsoir, donc pour la 4) il te suffit d'encadrer les instructions POUR nbsaut ALLANT_DE 1 A 3
par un autre Pour nbexperience ALLANT_DE 1 A 50 et de mettre le FINPOUR juste avant l'instruction 18
Ça répétera 50 fois l'expérience.
Pour remplir le tableau, fait tourner le programme.
bonsoir, donc ça fait:
1 VARIABLES
2 position EST_DU_TYPE_NOMBRE
3 nbsaut EST_DU_TYPE_NOMBRE
4 DEBUT_ALGORITHME
5 position PREND_LA_VALEUR 0
6 POUR nbexperience ALLANT_DE 1 A 50
7 POUR nbsaut ALLANT_DE 1 A 3
8 DEBUT_POUR
9 SI(random()<0.5)ALORS
10 DEBUT_SI
11 position PREND_LA_VALEUR position+1
12 FIN_SI
13 SINON
14 DEBUT_SINON
15 position PREND_LA_VALEUR position-1
16 FIN_SINON
17 FIN_POUR
18 AFFICHER position
19 FIN_POUR
20 FIN_ALGORITHME
mais avec quoi pourrais je le faire tourner ?, je n'ai jamais fais d'algorithme sur ordinateurs,
Avec Algobox évidemment. Il est écrit en syntaxe algobox. C'est un produit gratuit librement téléchargeable.
parce que j'ai changé comme vous me l'avez dit, et il ne m'affiche pas les 50 positions, mais qu'une à la fois
ha si tu as mis une nouvelle boucle POUR nbexperience ALLANT_DE 1 A 50 il doit t'afficher 50 positions
met AFFICHER* position pour qu'il aille bien à la ligne à chaque fois sinon il va les mettre bout à bout.
Sinon montre moi ton code et ce qu'il affiche, sinon je ne peux pas trouver ce qui ne va pas. (si tu te mets en mode éditeur de texte tu peux le copier/coller)
ok ^^
VARIABLES
position EST_DU_TYPE NOMBRE
nbsaut EST_DU_TYPE NOMBRE
nbexperience EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
POUR nbexperience ALLANT_DE 1 A 50
DEBUT_POUR
position PREND_LA_VALEUR 0
POUR nbsaut ALLANT_DE 1 A 3
DEBUT_POUR
SI ((random()<0.5)) ALORS
DEBUT_SI
position PREND_LA_VALEUR position+1
FIN_SI
SINON
DEBUT_SINON
position PREND_LA_VALEUR position-1
FIN_SINON
FIN_POUR
FIN_POUR
AFFICHER position
FIN_ALGORITHME
Ben non, si tu veux qu'il affiche les positions, il faut mettre AFFICHER* position avant le dernier FIN_POUR
VARIABLES
position EST_DU_TYPE NOMBRE
nbsaut EST_DU_TYPE NOMBRE
nbexperience EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
POUR nbexperience ALLANT_DE 1 A 50
DEBUT_POUR
position PREND_LA_VALEUR 0
POUR nbsaut ALLANT_DE 1 A 3
DEBUT_POUR
SI ((random()<0.5)) ALORS
DEBUT_SI
position PREND_LA_VALEUR position+1
FIN_SI
SINON
DEBUT_SINON
position PREND_LA_VALEUR position-1
FIN_SINON
FIN_POUR
AFFICHER* position
FIN_POUR
j'ai donc reussi les questions 1, 3, 4 et 5 de la partie A, mais je ne comprends pas la question 2?
Y a -t-il quelqu'un pour m'aider ??
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :