La distribución binomial, es una distribución de probabilidad discreta que calcula la probabilidad de la variable aleatoria $X$ en $N$ ensayos Bernoulli , con misma probabilidad $p$.
La función de probabilidad se expresa como,
$$ P(X) = Combinaciones(N, X)\cdot p^{X}\left( 1-p \right)^{N-X}$$
Si te encargaron realizar un código en C++ cuya finalidad es calcular esta probabilidad, te comparto el siguiente fuente,
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
// Retorna el numero de combinaciones
double combinacion(int n,int m)
{ double res=1.0, i=1.0;
if(m>(n-m))
{ while(i<=(n-m))
{res=res*((m+i)/(i)); i++; }// fin de while
}// fin de if
else // m<=(n-m)
{ while(i<=m)
{res=res*((n-m+i)/(i)); i++; }// fin de while
}// fin de else
return(res);
}// fin de la funcion
// Retorna la probabilidad binomial
double getProbBin(int n, int r, double p)
{ double res=combinacion(n, r)*pow(p,r)*pow(1.0-p,n-r);
return(res);
}//fin de funcion
// Main
int main()
{
int n,r; double p;
printf("\n Hallar la probabilidad binomial, \n Recuerda: n>=x y 0<=p<=1\n");
do{ printf("\n Teclee el valor de \"n\": "); scanf("%d",&n);
printf("\n Teclee el valor de \"x\": "); scanf("%d",&r);
if(n<r || n<0 || r<0) printf("\n !!!!!!!!!!!!!!!!!! Datos erroneos !!!!!!!!!!!!!!!!!! \n");
}while(n<r || n<0 || r<0);
do{ printf("\n Teclee la probabilidad de exitos: "); scanf("%lf",&p);
if(p<0.0 || p>1.0) printf("\n !!!!!!!!!!!!!!!!!! Dato erroneo !!!!!!!!!!!!!!!!!! \n");
}while(p<0.0 || p>1.0);
p=getProbBin( n, r, p);
printf("\n La probabilidad binomial es: %lf",p);
return(0);
}// fin Main
Espero sea de ayuda.
Saludos - FaithHeart
quisiera saber como seria el codigo fuente para una distribucion de poisson
ResponderEliminar