Programa para calcular la distribucion binomial

Ver el tema anterior Ver el tema siguiente Ir abajo

Programa para calcular la distribucion binomial

Mensaje por GoOrK el Vie Abr 01, 2011 7:11 pm

Hola a todos, traigo el codigo en progreso de lo que es el calculo de una distribucion binomial.
Mas tarde actualizare el codigo con comentarios para entender y visualizar de que trata cada instruccion.
Cada actualizacion sera resaltada en rojo

Por lo pronto solo despliega:
P(X=x) para cada caso
La sumatoria de los resultados
La media denotada por M
Y la varianza.
Ademas da opcion de seguir ejecutando el programa
Añadido calculo de desviacion estandar

Ya me dio flojera seguirle, asi lo dejare. EL ejcutable que subo puede que en windows vista o superior tire un error, esto es porque el exe esta acompañado de un tipo acceso directo, el cual ejecuta el programa en pantalla completa, basta con eliminar dicho archivo y listo.

Se aceptan respuestas al post con el codigo optimizado. Clic en spoiler para ver el codigo


Spoiler:
Código:
#include <stdio.h>
#include <math.h>

float factorial(int);
float comb(int,int);
float binomial(int,int,float);

void importante(int n, float p)
{
   int x=0;
   float y=0,media=0,var=0,res=0;
   clrscr();
   for(x=0;x<=n;x++)
   {
   printf("P(x,%d) = %lf \n",x,binomial(x,n,p));
   y+=binomial(x,n,p);
   media+= x*binomial(x,n,p);
   var+= x*x*binomial(x,n,p);
   }
   res = var-pow(media,2);
   printf("La sumatoria es = %g",y);
   printf("\nLa media es M = %f""\nY la varianza s^2 = %f",media,res);
   printf("\nLa desviacion estandar s = %f",sqrt(res));
}


float comb(int n, int r)
{
   return factorial(n)/(factorial(r)*factorial(n-r));
}


float factorial(int x)
{
   int i=0;
   float y=1;
   for(i=1;i<=x;i++)
   {
   y*=i;
   }
   return y;
}

float binomial(int x, int n, float p)
{
   float res;
   res = comb(n,x)*pow(p,x)*pow(1-p,n-x);
   return res;
}

void main()
{
   int n=0;
   float p=0;
   char end=0;
   for(;;)
   {
      clrscr();
      printf("Inserte el numero n y el numero p respectivamente\n");
      scanf("%d %f",&n,&p);
      importante(n,p);
      printf("\n\tPara hacer otro calculo presiona enter, para salir E");
      end = getche();
      if(end=='e')break;
   }
}

Tambien adjunto lo que va del ejecutable reittero no es e exe final: Descargar


_________________

GoOrK
Admin
Admin

Mensajes : 53
Fecha de inscripción : 18/02/2011
Edad : 24

http://goorkuabcinc.activo.ws

Volver arriba Ir abajo

Re: Programa para calcular la distribucion binomial

Mensaje por maikol el Jue Dic 15, 2011 8:47 pm

amigo como le hago para descargar el programa todos los link ya caducaron

maikol
Cimarron
Cimarron

Mensajes : 1
Fecha de inscripción : 15/12/2011

Volver arriba Ir abajo

Re: Programa para calcular la distribucion binomial

Mensaje por GoOrK el Vie Dic 16, 2011 9:23 pm

Aqui el link
http://www.megaupload.com/?d=X4BU2NW2

Y amm recomendaria que compilaras tu mismo el codigo ;D

_________________

GoOrK
Admin
Admin

Mensajes : 53
Fecha de inscripción : 18/02/2011
Edad : 24

http://goorkuabcinc.activo.ws

Volver arriba Ir abajo

Re: Programa para calcular la distribucion binomial

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.