Inscription / Connexion Nouveau Sujet
Niveau première
Partager :

algorithme loi binomiale

Posté par
Makino
21-04-13 à 13:39

Bonjour tout le monde,

J'ai un devoir maison qui me pose problème. C'est un algorithme à faire avec le logiciel Algobox sur la loi binomiale. Ça fait une semaine que je me creuse la tête pour trouver ce qui ne va pas mais sans succès.Aidez-moi s'il vous plaît.

Voici l'énoncé:

Soit X une variable aléatoire qui suit une loi binomiale de paramètres n et p.

1. Recopier et compléter cet algorithme incomplet pour déterminer la plus grande valeur de k pour laquelle p(X>=k)>= 0.5.

Variables: N,K,C,I quatre nombres entiers naturels; P,A, deux nombres réels

Début
Saisir N
Saisir P
0-> A
N-> I
Tant que A<0.5:
Combinaison de I parmi N-> C
A+C*PI*(1-P)N-I-> A
I-1-> I
Fin Tant que
Afficher.....
Fin


2. Programmer cet algorithme sur Algobox et trouver la valeur de k pour n=120 et p=0.12.

Il y a encore deux autres questions mais je bloque déjà ici. Pour moi à la question 1 il suffisait de mettre "Afficher k" mais ce n'est pas seulement ça car k n'intervient pas dans l'algorithme. Et puis avec toutes ces variables, je m'y perds.

Il est possible qu'il y ait également une erreur dans l'énoncé de l'exercice du livre. Je pense que c'est le cas mais je ne vois pas où.

Merci à toutes les personnes qui voudront bien m'aider !

Posté par
Glapion Moderateur
re : algorithme loi binomiale 21-04-13 à 15:26

Bonjour, c'est I qui joue le rôle de k dans l'algorithme. donc à la fin il faut mettre Afficher I

Posté par
Makino
re : algorithme loi binomiale 21-04-13 à 16:13

Merci pour la réponse. J'ai déjà envisagé ce cas de figure mais en changeant dans l'algorithme ça ne marche pas. Erreur de calcul à la combinaison de K parmi N.

Posté par
Glapion Moderateur
re : algorithme loi binomiale 21-04-13 à 17:08

Montre moi l'algorithme alors ?

Posté par
Makino
re : algorithme loi binomiale 21-04-13 à 20:04

Le voilà:

Début
Saisir N
Saisir P
0-> A
N-> K
Tant que A<0.5:
Combinaison de K parmi N-> C
A+C*PK*(1-P)N-K-> A
K-1-> K
Fin Tant que
Afficher K
Fin

Ça ne marche pas à "Combinaison de K parmi N-> C" il met "erreur de calcul".

Posté par
Glapion Moderateur
re : algorithme loi binomiale 21-04-13 à 20:09

C'est pas en syntaxe algobox tout ça
et aucune calculatrice ou algobox ne peut accepter une syntaxe comme "Combinaison de K parmi N" ça t'etonne vraiment que ça ne marche pas

Posté par
Makino
re : algorithme loi binomiale 21-04-13 à 20:41

Non je l'ai réécris en mode "papier" version Algobox:

Variables:
N du type nombre
K du type nombre
C du type nombre
P du type nombre
A du type nombre

Début algorithme:
Lire N
Lire P
A prend la valeur 0
K prend la valeur N
Tant que (A<0.5)faire:
Début Tant que:
C prend la valeur ALGOBOX_COEFF_BINOMIAL(K,N)
A prend la valeur A+C*pow(P,K)*pow(1-P,N-K)
K prend la valeur K-1
Fin Tant que
Afficher K
Fin Algorithme

Posté par
Glapion Moderateur
re : algorithme loi binomiale 21-04-13 à 21:39

C'est parce qu'il faut mettre C prend la valeur ALGOBOX_COEFF_BINOMIAL(N,K), tu as inversé N et K

VARIABLES
N EST_DU_TYPE NOMBRE
K EST_DU_TYPE NOMBRE
C EST_DU_TYPE NOMBRE
P EST_DU_TYPE NOMBRE
A EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
LIRE P
A PREND_LA_VALEUR 0
K PREND_LA_VALEUR N
TANT_QUE (A < 0.5) FAIRE
DEBUT_TANT_QUE
C PREND_LA_VALEUR ALGOBOX_COEFF_BINOMIAL(N,K)
A PREND_LA_VALEUR A+C*pow(P,K)*pow(1-P,N-K)
K PREND_LA_VALEUR K-1
FIN_TANT_QUE
AFFICHER K
FIN_ALGORITHME

Essaye le dans http://proglab.fr/, ça marche

Posté par
Makino
re : algorithme loi binomiale 22-04-13 à 10:50

Merci ! C'est quand même bizarre car j'ai téléchargé le logiciel et ça ne marche pas(et pourtant j'ai corrigé l'erreur)... mais sur le site oui...

J'obtiens 13 avec N=120 et P=0.12 (pour la question 2), penses-tu que c'est logique ? Ça me paraît trop beau que ça marche

Posté par
Glapion Moderateur
re : algorithme loi binomiale 22-04-13 à 13:46

Oui moi aussi j'ai remarqué que ça marche sur le site en ligne mais pas dans algobox. Et je ne sais pas pourquoi en fait, je n'ai pas trouvé d'erreur de syntaxe à priori il n'accepte pas le ALGOBOX_COEFF_BINOMIAL(N,K)

Oui 13 c'est ce que j'ai trouvé aussi. Pourquoi pas ?

Posté par
Glapion Moderateur
re : algorithme loi binomiale 22-04-13 à 14:26

ha ça y est, je sais pourquoi, Algobox impose que n soit inférieur à 70 pour calculer la fonction ALGOBOX_COEFF_BINOMIAL(N,K) ça doit être dû à une limite de capacité à cause du calcul des factorielles.

(j'ai trouvé un pdf qui explique assez bien toutes les erreurs classiques que l'on peut faire dans algobox)

Posté par
Makino
re : algorithme loi binomiale 22-04-13 à 14:33

Merci pour ton aide. C'est étrange mais bon du coup je continue avec le site en ligne (merci pour le lien !).
J'ai d'autres questions pour mon DM je poursuis et si ça te dérange pas de regarder...

3) A l'aide de l'algorithme précédent trouver un algorithme qui affiche la plus grande valeur de K pour laquelle p(X<K)<= 0.4.

Je pensais à ça:

VARIABLES
N EST_DU_TYPE NOMBRE
K EST_DU_TYPE NOMBRE
C EST_DU_TYPE NOMBRE
P EST_DU_TYPE NOMBRE
A EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
LIRE P
A PREND_LA_VALEUR 0
K PREND_LA_VALEUR N
TANT_QUE (A <= 0.4) FAIRE
DEBUT_TANT_QUE
C PREND_LA_VALEUR  ALGOBOX_COEFF_BINOMIAL(N,K)
A PREND_LA_VALEUR  A+C*pow(P,K)*pow(1-P,N-K)
K PREND_LA_VALEUR K-1
FIN_TANT_QUE
AFFICHER K
FIN_ALGORITHME

4) Programmer cet algorithme et montrer que la valeur de K cherchée est 17 pour N=130 et P=0.14.

J'essaie et je trouve 18 et non 17 !

Posté par
Glapion Moderateur
re : algorithme loi binomiale 22-04-13 à 14:53

Quand on parcourt une dernière fois la boucle, on a encore A <= 0.4, K prend la valeur K-1 et A prend une valeur supérieur à 0.4, on reteste A <= 0.4 qui n'est pas vérifié et on saute à afficher K.
K est décrémenté après que A soit calculé donc pour le K que l'on affiche, le A qui correspond a été calculé avec K+1. Il faut donc prendre K-1 et pas K.

Donc par exemple il faut rajouter une instruction K PREND_LA_VALEUR K-1 après le TANTQUE
(ça veut dire qu'au début on a faux et qu'on aurait dû trouver 12)

VARIABLES
N EST_DU_TYPE NOMBRE
K EST_DU_TYPE NOMBRE
C EST_DU_TYPE NOMBRE
P EST_DU_TYPE NOMBRE
A EST_DU_TYPE NOMBRE
DEBUT_ALGORITHME
LIRE N
LIRE P
A PREND_LA_VALEUR 0
K PREND_LA_VALEUR N
TANT_QUE (A <= 0.4) FAIRE
DEBUT_TANT_QUE
C PREND_LA_VALEUR ALGOBOX_COEFF_BINOMIAL(N,K)
A PREND_LA_VALEUR A+C*pow(P,K)*pow(1-P,N-K)
K PREND_LA_VALEUR K-1
FIN_TANT_QUE
K PREND_LA_VALEUR K-1
AFFICHER K
FIN_ALGORITHME

Posté par
Glapion Moderateur
re : algorithme loi binomiale 22-04-13 à 14:58

Pour info, la ligne A PREND_LA_VALEUR A+C*pow(P,K)*pow(1-P,N-K) peut-être remplaçée par
A PREND_LA_VALEUR A+ALGOBOX_LOI_BINOMIALE(N,P,K) (et on peut supprimer la ligne précédente et la variable C)

Posté par
Makino
re : algorithme loi binomiale 22-04-13 à 15:20

Merci beaucoup, j'ai mieux compris !
J'ai du mal en algorithme en règle général, j'imagine que le meilleur moyen pour y arriver c'est d'en faire le plus possible.
En tout cas merci pour ton aide !

Posté par
Glapion Moderateur
re : algorithme loi binomiale 22-04-13 à 15:28

Oui, pour réussir à faire des algorithmes qui marchent, il faut se battre avec, et avoir du flair pour deviner ce qui ne marche pas.



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 1768 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 !