Forum

Catégorie : Programmes
Forum : Les programmes des internautes
Vues : 1668
Réponses : 4
Type : discussion
Etat : réponses autorisées

Probabilité de pile ou face

RSJC le 27/05/2012 à 13:32
Salut tout le monde c'est mon premier topic sur ce site, je programme depuis quelques mois et j'ai fait un programme (pas un jeu) de pile ou face pour 200 lancés qui est pas lourd (j'ai essayé de l'alléger le plus possible) et assez utile pour des probas (et pour ne pas avoir à lancer 200 pièces aussi):
Code

:22->A
:0->L
:Lbl 0
:If A=72
:Then
:If B>=39
:Goto 1
:If B=35 ou B=36
:Then
:22->A
:3->L
:End
:If B=32 ou B=31
:Then
:22->A
:2->L
:End
:If B<=28
:Then
:22->A
:1->L
:End
:End
:If L=0
:entAléat(27,28)->B
:If L=1
:entAléat(31,32)->B
:If L=2
:entAléat(35,36)->B
:If L=3
:entAléat(39,40)->B
:Pxl-On(B,A
:A+1->A
:Goto 0
:Lbl 1
:22->A
:28->B
:0->P
:0->F
:Lbl 2
:If A=72
:Then
:If B=39
:Goto 3
:If B=35
:Then
:22->A
:39->B
:End
:If B=31
:Then
:22->A
:35->B
:End
:If B=28
:Then
:22->A
:31->B
:End
:End
:pxl-Test(B,A)->X
:If X=1
:P+1->P
:If X=0
:F+1->F
:A+1->A
:Goto 2
:Lbl 3
:Disp "Pile:",P,"FACE:",F

En tout ce programme fait moins de 400 octets donc on peut se permettre de le garder tout le temps dans la calculette. Dites moi ce que vous en pensez et si il y a moyen de l'alléger si vous voyez comment.
The K le 27/05/2012 à 16:07
Il y a grandement moyen de l'alléger ...

Code
BinAleat(1,.5,200
Somme(Rep=1


^^'
RSJC le 27/05/2012 à 16:26
Ah ouais c'est fun je connaissais pas ça... C'est un peu plus léger que l'autre (c'est àdire qu'on passe de 400 à 30 octets quoi minied.gif )
Merci The K
The K le 27/05/2012 à 17:01
Et encore t'es même pas obligé de faire un programme
winkle.gif
linkakro le 27/05/2012 à 17:17
BinAléat(lancers,probabilité,expériences)

Dans l'exemple de The K, il n'y a pas besoin d'écrire "=1" dans la somme puisque le "1" dans BinAléat signifie qu'on ne lance qu'une pièce à chaque expérience.

De plus il suffit de ceci pour simuler les 200 lancers équiprobables :
Code
BinAléat(200,.5)

Ce que je ne comprend pas dans le premier programme est l'intérêt d'utilier A,B 22,35, pxl-Test ...
C'est juste pour faire varier les probabilités ?

Il suffirait de :
Code
Input "LANCERS:",A
Input "PROBA FACE:",B
BinAléat(A,B
Disp "FACE",Rép,"PILE",A-Rép
 // pour obtenir des nombres au lieu de listes de taille 1, écrire "Rép(1)"