Probabilité

Retrouver tous les sujets résolus.
Répondre
Terminale S

Probabilité

Message par Terminale S » mar. 14 janv. 2020 20:49

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.
SoS-Math(34)
Messages : 599
Enregistré le : ven. 17 nov. 2017 09:31

Re: Probabilité

Message par SoS-Math(34) » mar. 14 janv. 2020 22:48

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
Invité

Re: Probabilité

Message par Invité » mer. 15 janv. 2020 03:21

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............
sos-math(27)
Messages : 1427
Enregistré le : ven. 20 juin 2014 15:58

Re: Probabilité

Message par sos-math(27) » mer. 15 janv. 2020 08:57

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)
def..(n):
....
C=0
fini=False
while not fini :
....
fini=(C==n)
fini=false correspond à initialisation de fini à Faux
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
Répondre