Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

Probabilités et python

Posté par
Kissamil
08-02-20 à 10:39

Bonjour !
On m'a beaucoup aidé ici et je remercie tout le monde ! Vraiment !
Je m'adresse à vous pour une aide à un exercice en maths. En effet après de nombreuses heures de recherches je ne parviens pas à le faire ...
voici l'énoncé :
Une machine placée à l'origine sur un plan muni d'un repère orthonormé, se déplaçant à chaque seconde en simulant un entier aléatoire entre 1 et 4 de: +1 en abscisse si l'entier est 1, -1 en abscisse si l'entier est 2, +1 en ordonnée si l'entier est 3, et -1 en ordonnée si l'entier est 4.
Aussi, pour (x ; y) les coordonnées du point où se trouve la machine, son déplacement doit s'arrêter si x > 2 ou x < -2  ou  y >2 ou  y< -2

1/Ecrire une fonction Python "trajet ()" qui simule le trajet de cette machine (du départ à l'arrêt) et renvoyant le nombre de déplacements effectués avant l'arrêt. On stockera les abscisses et ordonnées successives où se trouve la machine dans deux listes "x" et "y" initialisées à x = [0] et y= [0] en début du programme.

2/ écrire un programme appelant 100 fois la fonction "trajet" et calculant la moyenne du nombre de déplacements réalisés sur ces 100 trajets.

Je vous remercie par avance pour votre aide, même minime

Posté par
Kissamil
re : Probabilités et python 08-02-20 à 10:47

Est-ce qu'il faut commencer par mettre :
def trajet ()
(Que faut-il mettre entre parenthèses de trajet ()?)
Puis faire si x ou y = 1 alors etc
Et créer une liste pour les coordonnées de x et celles de y , seulement je ne sais pas vraiment comment faire

Posté par
Leile
re : Probabilités et python 08-02-20 à 14:44

bonjour,

je ne peux pas t'aider pour le codage en python, mais il me semble qu'avant de coder,
il faudrait que tu écrives en langage naturel ce que doit faire ton programme..
as tu essayé ?

Posté par
vham
re : Probabilités et python 08-02-20 à 17:19

Bonsoir,

Je ne sais pas si on peut donner directement un programme Python ?
si "non" un modérateur peut supprimer (tout ou partie)...

from random import randint,seed

def trajet(x,y):
    move,suite=[[1,0],[-1,0],[0,1],[0,-1]],True
    seed()
    while suite==True:
        a=randint(0,3)
        xa=x[-1]+move[a][0]
        ya=y[-1]+move[a][1]
        if xa>2 or xa<-2 or ya>2 or ya<-2:
            suite=False
        else:
            x.append(xa)
            y.append(ya)
    
n,m=5,0
for i in range(n):    
    x,y=[0],[0]
    trajet(x,y)
    print(len(x))
    print(x)
    print(y)
    m+=len(x)
print("Pour",n," trajets, la moyenne des déplacements est",m/n)
n,m=100,0
for i in range(n):
    x,y=[0],[0]
    trajet(x,y)
    m+=len(x)
print("Pour",n," trajets, la moyenne des déplacements est",m/n)

Posté par
alb12
re : Probabilités et python 08-02-20 à 17:30

salut,
@vham
on peut eventuellement donner un programme à la fin des echanges.
Mais que peut faire un eleve de premiere avec ce code ?
Comment va-t-il justifier son travail à son prof ?

Posté par
Leile
re : Probabilités et python 08-02-20 à 17:45


j'avais espéré que Kissamil nous montre comment son programme pourrait tourner..
la réflexion préalable au codage me semble indispensable..
tant pis
NB :   la fonction trajet doit retourner le nombre de déplacements et non  x, y

je vous laisse.

Posté par
alb12
re : Probabilités et python 08-02-20 à 18:04

cela dit je suis toujours interesse par des programmes donnes par des specialistes de python.
Donc il ne faut pas le supprimer.

Posté par
vham
re : Probabilités et python 08-02-20 à 18:57

Bonsoir,

--> alb12 : Salutations,
J'aurais dû commenter,mais j'attendais les réactions de Kissamil
non, je ne suis pas un spécialiste de Python comme je crois vous l'êtes vous-même.

Posté par
vham
re : Probabilités et python 08-02-20 à 19:04

Bonsoir,

--> Leile :

Citation :
NB :   la fonction trajet doit retourner le nombre de déplacements et non  x, y

x et y sont passés en paramètres à la fonction trajet pour pouvoir les visualiser ou pas dans la partie "appel de la fonction".
et dans cette partie, le nombre de déplacements est donné par la longueur de x ou de y

Posté par
vham
re : Probabilités et python 08-02-20 à 19:25

je m'aperçois que l'énoncé demande "le nombre de déplacements effectués avant l'arrêt"
mon code utilise : "le (nombre de déplacements +1) effectués avant l'arrêt"
on n'est jamais à l'abri d'un bug même dans un petit programme.

Posté par
flight
re : Probabilités et python 08-02-20 à 21:05

salut , après quelques essais je trouve une moyenne de deplacements comprise entre 10 et 11  pour  100 essais et vous ?

Posté par
Leile
re : Probabilités et python 08-02-20 à 21:36

bonsoir flight,
perso, je trouve une moyenne comprise entre 9 et 10..

Posté par
Leile
re : Probabilités et python 08-02-20 à 21:36

nb : je ne compte pas le dernier deplacement, celui qui fait sortir du cadre.

Posté par
flight
re : Probabilités et python 09-02-20 à 00:53

bonsoir leile daccord avec toi pour 100 essais , mon test était fait  sur 1000 essais

Posté par
Leile
re : Probabilités et python 09-02-20 à 01:36

bonsoir flight,
perso, j'ai fait 5000 trajets pour trouver une moyenne proche de 9,5 déplacements..

Posté par
vham
re : Probabilités et python 09-02-20 à 02:33

le calcul des probabilités donne une espérance de 9.384615 à 10^-6 près

Posté par
flight
re : Probabilités et python 09-02-20 à 11:09

effectivement daccord avec vous deux , il y avait un petit hic dans mon code

Posté par
Kissamil
re : Probabilités et python 15-02-20 à 12:15

Bonjour, désolé de ne pas avoir répondu ni d'ailleurs consulté le forum, il s'avère que j'ai eu un empêchement .. Et même si le travail était pour mercredi, je vous remercie tous pour votre aide Et vous souhaite une superbe journée
Vraiment, merci



Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 1675 fiches de maths

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !