Cela fait maintenant 2 jours que je buche sur cet algo et toujours bloqué. Je vous expose donc le probleme:
Un automate a le choix entre deux éventualités: se deplacer d'un carreau vers la droite ou se deplacer d'un carreau vers le bas. L'evenenement se déplacer d'un carreau vers la droite a une probabilité p et l'evenement se deplacer d'un carreau vers le bas a une probabilité p=1-p .
Les choix du robot sont inépendants.
Je dois écrire un programme permettant de determiner la position finale de l'automate en supposant que n et p sont rentrés par l'utilisateur.
On suppose A le point se trouvant à l'origine du repere.
Ce programme fait avec algobox donnera la position finale de l'automate (en indiquant l'abscisse et l'ordonnée) dans le repere d'origine A et fera apparaitre le trajet qu'a suivi l'automate.
Merci d'avance pour votre aide je commence un peu à deseperer .
Bonjour,
oui et ?
qu'as tu commencé ? où coinces tu ?
réponse "rien, dès le début" inacceptable
elle veut dire "faite moi mon exo j'ai la flemme de chercher"
chercher dans la doc en ligne d'Algobox s'il y a une fonction qui renvoie un nombre aléatoire tu peux le faire (il y en a même deux, à toi de choisir la bonne)
chercher au même endroit comment on trace un trait avec Algobox aussi
savoir écrire une simple boucle "pour" est le B-A-BA et donc tu es sensé le connaitre
de même pour un :
si x < p
déplacer vers la droite
sinon vers le bas
il te faudra bien entendu aussi deux variables pour les coordonnées x et y du robot, au moins.
c'est du simple bon sens.
Bonjour Mathafou
En effet j'ai fait quelquechose, je vous montre
VARIABLES
x EST_DU_TYPE NOMBRE
y EST_DU_TYPE NOMBRE
r EST_DU_TYPE NOMBRE
i EST_DU_TYPE NOMBRE
n EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
x PREND_LA_VALEUR 0
LIRE n
y PREND_LA_VALEUR 0
POUR i ALLANT_DE 1 A n
DEBUT_POUR
r PREND_LA_VALEUR random({-1,1})
SI (r==-1) ALORS
DEBUT_SI
y PREND_LA_VALEUR y-1
FIN_SI
SINON
DEBUT_SINON
x PREND_LA_VALEUR x+1
FIN_SINON
FIN_POUR
TRACER_SEGMENT_Rouge (0,0)->(x,y)
AFFICHER x
AFFICHER y
FIN_ALGORITHME
il y a de l'idée (= c'est presque bon) mais :
random ne prend aucun paramètre
random() renvoie toujours un nombre (réel) entre 0 et 1, un point c'est tout.
et le role de la probabilité p là dedans ???
il faut tester si r est < p pour savoir quel déplacement il faut effectuer.
on tire un nombre (réel) r au hasard entre 0 et 1
si 0 <= r < p est un événement qui a donc la probabilité p
et p <= r <= 1 un évènement qui a une probabilité 1-p
les tests sur 0 et 1 sont inutiles et donc un "si r < p" suffit
on demande de tracer le trajet
pas juste un segment joignant le point de départ au point final d'arrivée
donc le "tracer segment" doit être mis dans la boucle
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :