Algorithme «*marche au hasard*»

Réponses à toutes vos questions de la 2nde à la Terminale toutes séries
lamoule
Messages: 2
Enregistré le: 19 Mai 2012, 15:06

Algorithme «*marche au hasard*»

par lamoule » 19 Mai 2012, 15:20

Bonjour à tous. :we:

Je suis en 1ère S et il m’est demandé de créer un algorithme, dont l’énoncé est le suivant : On fait partir un robot d’un point d’origine O, et à chaque instant, on choisit, de manière parfaitement équiprobable un déplacement d’une unité vers le nord, le sud, l’est ou l’ouest.

La question est : Écrire un algorithme qui donne les coordonnées du robot au bout de n déplacements.

Je n’ai jamais réalisé d’algorithme et donc j’ai beaucoup de mal, j’ai essayé de commencer quelque chose qui donne ceci :

Données : 2 réels xO et yO, les coordonnées d’origine du robot.
p, nombre réel, la probabilité de se déplacer au nord, au sud, à l’est, à l’ouest à chaque étape.
n, entier naturel qui compte le nombre de déplacements.

Variables : i, entier naturel, compteur qui compte le nombre d’étapes
x et y, les coordonnées du robot après n déplacements

Début : x prend la valeur xO
y prend la valeur yO

Et à partir de là je sèche complètement :mur: , c’est pourquoi je serais ravi que quelqu’un me donne un petit coup de pouce pour me faire avancer. :help:

Merci d’avance ! :id:



Iroh
Membre Relatif
Messages: 374
Enregistré le: 14 Oct 2008, 19:24

par Iroh » 19 Mai 2012, 15:42

Salut,
Vu que le robot se déplace au hasard dans une direction nord, ouest, sud, est: on va considéré une variable «r» qui prendra des valeurs : {1, 2, 3, 4} où
;);););););););););););););););););););)1
;);););););););););););););););););););)N
;););););)2;);)O;);););););););););););););););)E 4
;);););););););););););););););););););)S
;);););););););););););););););););););)3


Quand n (donc le nombre d'étapes) vaut 1 (donc le robot ne fait qu'un seul déplacement)

Code: Tout sélectionner
# On va partir du point (0, 0) :
x = 0
y = 0

# On génère un nombre aléatoire entre 1 et 4:
r = random({1, 2, 3 ,4})
si (r == 1): y = y + 1 # on va au nord, x est inchangé
sinon si (r == 2): x = x - 1 # on va à l'ouest, y est inchangé
sinon si...
sinon...

# on affiche le point
afficher(x)
afficher(y)


Après il suffit de faire une boucle sur une variable i, qui incrémente les variables x et y tant que i;)n (où n est le nombre d'étapes).

lamoule
Messages: 2
Enregistré le: 19 Mai 2012, 15:06

par lamoule » 19 Mai 2012, 16:01

Merci beaucoup beaucoup, j’ai réussi à le faire :we:

 

Retourner vers ✎✎ Lycée

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 24 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite