Probabilité
Probabilité
Bonsoir,
J'ai une question de Maths/Informatique.
C'est une histoire de puce qui fait i bonds de 2 vers la droite avec la probabilité p et j bonds de 1 vers la gauche avec la probabilité 1-p.
Pourquoi dans le corrigé du l'exercice, après avoir défini la variable aléatoire X correspondant à la location de la puce, le programme Python qui la calcule comprend ceci :
if random()<p:
X+=2
else:
X+=1
Pourquoi ce random()<p ? Il signifie quoi ?
Merci pour l'aide.
J'ai une question de Maths/Informatique.
C'est une histoire de puce qui fait i bonds de 2 vers la droite avec la probabilité p et j bonds de 1 vers la gauche avec la probabilité 1-p.
Pourquoi dans le corrigé du l'exercice, après avoir défini la variable aléatoire X correspondant à la location de la puce, le programme Python qui la calcule comprend ceci :
if random()<p:
X+=2
else:
X+=1
Pourquoi ce random()<p ? Il signifie quoi ?
Merci pour l'aide.
-
- Messages : 599
- Enregistré le : ven. 17 nov. 2017 09:31
Re: Probabilité
Bonsoir,
random() choisit au hasard une valeur dans l'intervalle ]0;1[.
Par conséquent, "if random()<p" correspond à la condition si "le nombre choisi au hasard dans [0;1] est inférieur à p" (évènement de probabilité p). Après else, il me semble qu'il s'agit de X+ = -1 (si on se déplace vers la gauche d'une unité sur une droite graduée, on diminue l'abscisse correspondante de 1 unité).
Bonne recherche
sosmaths
random() choisit au hasard une valeur dans l'intervalle ]0;1[.
Par conséquent, "if random()<p" correspond à la condition si "le nombre choisi au hasard dans [0;1] est inférieur à p" (évènement de probabilité p). Après else, il me semble qu'il s'agit de X+ = -1 (si on se déplace vers la gauche d'une unité sur une droite graduée, on diminue l'abscisse correspondante de 1 unité).
Bonne recherche
sosmaths
Re: Probabilité
Merci c'est plus clair !
Et il y a un autre programme que je ne comprends pas.
def..(n):
....
C=0
fini=False
while not fini :
....
fini=(C==n)
Je ne comprends pas du tout : comment est utilisé le booléen ici ?
C'est quoi le not ? Pourquoi commence t il par prendre la valeur False ?
Merci beaucoup pour l'aide. J'ai un contrôle ce matin............
Et il y a un autre programme que je ne comprends pas.
def..(n):
....
C=0
fini=False
while not fini :
....
fini=(C==n)
Je ne comprends pas du tout : comment est utilisé le booléen ici ?
C'est quoi le not ? Pourquoi commence t il par prendre la valeur False ?
Merci beaucoup pour l'aide. J'ai un contrôle ce matin............
-
- Messages : 1427
- Enregistré le : ven. 20 juin 2014 15:58
Re: Probabilité
Bonjour invité
Un booléen ne peut prendre que deux valeurs : 0 et 1
On dit aussi False et True ; Faux et Vrai
Les booléens servent à pouvoir définir les alternatives dans les instructions de test :
Si condition (expression de calcul ayant pour résultat un booléen)
alors instruction1 (à exécuter si condition est vrai)
sinon instruction2 (à exécuter si condition est faux)
Ou à répéter les instructions dans le cas d'une boucle 'while' ou 'tant que'
Tant que condition (est vraie) répéter
instructions
fin tant que (quand condition est fausse)
On voit que pour une boucle tant que,
d'une part : si la condition est fausse avant la boucle, les instructions ne seront pas faites,
d'autre part : si condition est vraie avant la boucle et que les instructions ne permettent pas de changer sa valeur, alors la boucle ne s'arrêtera jamais (bug)
While not fini: condition qui teste si 'not' fini est vrai ou faux (au départ 'not fini' est bien vrai)
fini=(C==n) change la valeur de fini, qui est le résultat du test d'égalité de C avec n : vrai si C = n et faux sinon
La valeur de C doit donc aussi changer à l'intérieur de la boucle
à bientôt
Un booléen ne peut prendre que deux valeurs : 0 et 1
On dit aussi False et True ; Faux et Vrai
Les booléens servent à pouvoir définir les alternatives dans les instructions de test :
Si condition (expression de calcul ayant pour résultat un booléen)
alors instruction1 (à exécuter si condition est vrai)
sinon instruction2 (à exécuter si condition est faux)
Ou à répéter les instructions dans le cas d'une boucle 'while' ou 'tant que'
Tant que condition (est vraie) répéter
instructions
fin tant que (quand condition est fausse)
On voit que pour une boucle tant que,
d'une part : si la condition est fausse avant la boucle, les instructions ne seront pas faites,
d'autre part : si condition est vraie avant la boucle et que les instructions ne permettent pas de changer sa valeur, alors la boucle ne s'arrêtera jamais (bug)
fini=false correspond à initialisation de fini à Fauxdef..(n):
....
C=0
fini=False
while not fini :
....
fini=(C==n)
While not fini: condition qui teste si 'not' fini est vrai ou faux (au départ 'not fini' est bien vrai)
fini=(C==n) change la valeur de fini, qui est le résultat du test d'égalité de C avec n : vrai si C = n et faux sinon
La valeur de C doit donc aussi changer à l'intérieur de la boucle
à bientôt