You are on page 1of 79

Nombre estudiante:

Ricardo Moreno García.

Nombre del trabajo:


“Proyecto PFPP Probabilidad y Estadística”
“Calculadora de Prob. Y Estd. Con el programa Dev-C++”

Materia: Probabilidad y Estadística.

Campus: Villahermosa.

Carrera: Ingeniería en Petróleo y Gas.

Semestre/Cuatrimestre: 1er. Semestre.

Nombre del maestro: Enrique Pérez Vidal.

1
INDICE

Introducción.......................................................................... 3

Objetivo ................................................................................. 4

Proyecto ................................................................................ 5
- ¿Como se desarrolla?
- ¿Qué es Probabilidad y Estadística?
- ¿Qué implica el programa “Calculadora Probabilidad
y Estadistica”?

Código ................................................................................. 7

Bibliografía.......................................................................... 79

2
INTRODUCCIÓN

En la materia “Probabilidad y Estadística” se presentan con frecuencia muchas


dificultades para el proceso de aprendizaje de todos los conceptos de dicha
asignatura y es necesario que haya otras opciones o métodos que nos permita
como estudiantes poder familiarizarnos con el aprendizaje de las bases y/o
procedimientos para realizar ciertos cálculos.

Se busca profundizar en el procedimiento para calcular diversos problemas de la


materia y la creación de un programa informático que nos permita hacer dichos
cálculos.

Desarrollar algunas operaciones de forma manual es casi imposible, porque


implican demasiadas operaciones. Éste proyecto implementa algunas de las
operaciones más comunes en un curso básico de Probabilidad y Estadística.

3
OBJETIVO

El objetivo general es el de profundizar más en el estudio de los conceptos


básicos de Probabilidad y Estadística fomentando el uso de un software que nos
permita la resolución de problemas probabilísticos y estadísticos, de tal manera
que el estudiante pueda practicar en su casa y lograr destrezas y habilidades con
el uso de la tecnología.

El objetivo específico de este trabajo consiste en escribir un programa el cual sea


una calculadora con el fin de que sirva de material didáctico en el aprendizaje de
dicho tema, puesto que al estudiar el procedimiento para en un futuro lograr
implementar una solución informática, se debe profundizar y aprender a realizar la
operación y/o cálculo. Esto nos asegura como estudiantes dicho aprendizaje y en
el caso de estudiantes de Ingeniería nos ubica también en el contexto de cada
carrera al crear un programa en C++ que realice dichos cálculos.

4
PROYECTO
Se desarrolla bajo los límites que impone la teoría sobre la materia “Probabilidad y
Estadística” en el tema de saber calcular, por ejemplo: las medidas de Posición,
Variación, Muestreo, etc. y las limitaciones que impone la creación de un
programa escrito en lenguaje C++ del cual se debe conocer su estructura y
sintaxis.

El principal motivo para escribir este trabajo es hacer un análisis profundo en el


estudio y conceptualización de la asignatura y dar cumplimiento a unos objetivos
académicos de formación en la misma.

La materia de Prob. Y Estd. Es una herramienta básica para casi todas las ramas
de la matemática así como para disciplinas afines tales como, la ingeniería y la
computación, entre otras.

La Probabilidad y la Estadística se encargan del estudio del azar desde el punto


de vista de las matemáticas:

 La Probabilidad propone modelos para los fenómenos aleatorios, es decir,


los que se pueden predecir con certeza, y estudia sus consecuencias
lógicas.
 La Estadística ofrece métodos y técnicas que permiten entender los datos
a partir de modelos.

De esta manera, el Cálculo de las Probabilidades es una teoría matemática y


la Estadística es una ciencia aplicada donde hay que dar un contenido concreto
a la noción de probabilidad.

Este programa es una calculadora, la cual nos permite calcular las siguientes
propiedades y operaciones con números reales.

5
La calculadora cuenta con este tipo de operaciones:

 Obtención y Presentación de datos:


- Recorrido o Rango.
- Numero de intervalos y amplitud.
 Medidas de Posición:
- Valores Agrupados y No Agrupados.
 Medidas de Variación:
- Valores Agrupados y No Agrupados.
 Técnicas de Muestreo:
- Para Proporción o Porcentaje.
- Para Promedio.
 Estadística Bidimensional:
- Variable Discreta
- Variable Continua

La búsqueda de información acerca del tema y la creación de un programa que


calcule estas operaciones escrito en lenguaje C++ permitirán la incorporación del
concepto de diferentes temas y el manejo del programa permitirá realizar prácticas
en la casa del estudiante o persona interesada en profundizar en el tema.

6
CÓDIGO
Como la finalidad del programa es trabajar con el primer paso fue crear unos
datos para agruparlos en uno solo, luego se crearon procedimientos para leer y
escribir datos o información desde el teclado.

El siguiente paso fue emplear funciones, entero, booleano y real para ahorrar
espacio en memoria y hacer un programa simple pero efectivo

Posteriormente se creó un ciclo de selección, el cual imprime en pantalla un menú


de opciones enumeradas con las operaciones que realiza el programa,
permitiéndole al usuario escoger que desea que realice el programa, en cada una
de estas opciones se le pregunta al usuario que tipo de cálculo desde el teclado, el
usuario responde simplemente digitando la opción de su preferencia. Este ciclo se
repite una y otra vez hasta que el usuario elija la última opción del menú o vuelva
a ejecutar el programa.

A continuación el código del programa que realiza cálculos probabilísticos y


estadísticos el cual ya ha sido compilado y ejecutado.

#include<iostream>

#include<iomanip>

#include<math.h>

#include<conio.h>

#include<stdlib.h>

#define LIM 300

using namespace std;

7
struct nodo { int limiteif1;

int limitesup1;

double limiteif2;

double limitesup2;

int fi;

int Fj;

double hi;

double Hj;

double yi;

double yifi;

double yiyifi;

struct nodo *ant;

struct nodo *sgte;};

typedef struct nodo* LISTADOBLE;

struct bidimensional { int limiteif1;

int limitesup1;

double limiteif2;

double limitesup2;

int fi;};

8
void Cuadro(int);

void FormarCuadro(int,int,int);

void Insertar(struct nodo);

void Muestreo(void);

int Variables(void);

int Valores(void);

int OpcMuestreo(void);

int BusqPoblacion(void);

double Confianza(int);

void Posicion(int,int);

void Variacion(int,int);

void Media(int,int);

void Mediana(int,int);

void Moda(int,int);

void Ranilas(int,int);

void FunVariacion(int,int,int);

void FunRegresion(int);

void Elimina();

void Bidimensional(int);

int OpcionesVarianza1(int);

int OpcionesVarianza2(int);

void Leyenda(int);

9
int opc,l,m,s,i,v;

int discreto[LIM];

double continua[LIM];

int regdis[LIM][2];

double regcon[LIM][2];

struct bidimensional cb[LIM][LIM];

double cbcont[LIM][LIM];

double suma,suma2;

LISTADOBLE cuadroestadistico=NULL;

int main ()

system("color 4F");

cout<<" \t \t ----> CALCULADORA PROBABILIDAD Y ESTADISTICA UVM <---


-"<<endl;

cout<<" \t Bienvenido "<<endl<<endl;

while(1)

cout<<" 1)Calculo 1: Obtencion y Presentacion de Datos"<<endl;

cout<<" 2)Calculo 2: Medidas de Posicion"<<endl;

cout<<" 3)Calculo 3: Medidas de Variacion"<<endl;

cout<<" 4)Calculo 4: Tecnicas de Muestreo"<<endl;

10
cout<<" 5)Calculo 5: Estadistica Bidimensional"<<endl;

cout<<" 6)Calculo 6: Regresar"<<endl;

cout<<" 7)Salir"<<endl;

cin>>opc;

switch(opc)

case 1: Cuadro(opc);break;

case 2: Cuadro(opc);break;

case 3: Cuadro(opc);break;

case 4: Muestreo();break;

case 5: Cuadro(opc);break;

case 6: Cuadro(opc);break;

case 7: cout<<endl<<"Gracias por usar este programa regresa pronto"<<endl;

getch();

exit(1);break;

cout<<endl;

cout<<endl;

return 0;

void Cuadro(int n)

11
{

if(n==2 || n==3)

l=Valores();

if(l==0)

cout<<endl;

main();

if(n!=1 || n==6 || n==5)

m=Variables();

if(m==0) Cuadro(n);

if(n==1)

int mayord=0,menord=999,R,m1,C,R2;

cout<<endl<<"Ingrese cantidad de datos: ";

cin>>s;

12
cout<<endl;

for(i=0;i<s;i++)

cout<<i+1<<": ";cin>>discreto[i];

if(discreto[i]>mayord) mayord=discreto[i];

if(discreto[i]<menord) menord=discreto[i];

cout<<endl;

Leyenda(1);

cout<<" R = "<<mayord<<" - "<<menord<<endl<<endl;

cout<<" R = "<<mayord - menord<<endl<<endl;

R = mayord - menord;

cout<<" m = 1 + 3.322 x log("<<s<<")"<<endl<<endl;

cout<<" m = 1 + 3.322 x "<<log10(s)<<endl<<endl;

cout<<" m = 1 + "<<3.322*log10(s)<<endl<<endl;

cout<<" m = "<<1 + 3.322*log10(s)<<endl<<endl;

if(((1 + 3.322*log10(s))-(double)(int)(1 + 3.322*log10(s)))>0.5)

cout<<" m = "<<(int)(1 + 3.322*log10(s))+1<<endl<<endl;

m1 =(int)(1 + 3.322*log10(s))+1;

13
}

else

cout<<" m = "<<(int)(1 + 3.322*log10(s))<<endl<<endl;

m1 =(int)(1 + 3.322*log10(s));

cout<<" C = "<<R<<"/"<<m1<<endl<<endl;

cout<<" C = "<<(double)R/m1<<endl<<endl;

if(((double)R/m1-(double)(int)(R/m1))>0)

cout<<" C = "<<(int)(R/m1)+1<<endl<<endl;

C=(int)(R/m1)+1;

else

cout<<" m = "<<(int)(R/m1)<<endl<<endl;

C=(int)(R/m1);

R2=C*m1;

cout<<" R2 = "<<C<<"*"<<m1<<endl<<endl;

14
cout<<" R2 = "<<R2<<endl<<endl;

cout<<" R2 - R = "<<R2-R<<endl<<endl;

if((R2-R)!=0)

if((R2-R)%2==0)

mayord=mayord+(R2-R)/2;

menord=menord-(R2-R)/2;

else

mayord=mayord+(R2-R)/2;

menord=menord-((R2-R)/2+1);

FormarCuadro(menord,m1,C);

if(n==2 || n==3)

15
cout<<endl;

if(l==1)

cout<<"Ingrese cantidad de datos: ";

cin>>s;

if(m==1)

for(i=0;i<s;i++)

cout<<i+1<<": ";

cin>>discreto[i];

else

for(i=0;i<s;i++)

cout<<i+1<<": ";

cin>>continua[i];

switch(n)

case 2: Posicion(l,m);break;

case 3: Variacion(l,m);break;

cout<<endl;

16
}

else

LISTADOBLE r;

struct nodo intervalo;

opc=0;

v=0;

cout<<"Ingrese numero de intervalos: ";

cin>>s;

cout<<endl;

Elimina();

for(i=0;i<s;i++)

if(m==1)

cout<<"Ingrese intervalo inferior "<<i+1<<": ";

cin>>intervalo.limiteif1;

cout<<"Ingrese intervalo superior "<<i+1<<": ";

cin>>intervalo.limitesup1;

17
}

else

cout<<"Ingrese intervalo inferior "<<i+1<<": ";

cin>>intervalo.limiteif2;

cout<<"Ingrese intervalo superior "<<i+1<<": ";

cin>>intervalo.limitesup2;

cout<<"Ingrese frecuencia absoluta "<<i+1<<": ";

cin>>intervalo.fi;

if(m==1) intervalo.yi=(double)(intervalo.limiteif1+intervalo.limitesup1)/2;

else intervalo.yi=intervalo.limiteif2+intervalo.limitesup2/2;

intervalo.yifi=intervalo.yi*intervalo.fi;

intervalo.yiyifi=intervalo.yifi*intervalo.yi;

opc=opc+intervalo.fi;

intervalo.Fj=opc;

v=opc;

Insertar(intervalo);

cout<<endl;

r=cuadroestadistico;

18
cout<<" Intervalos "<<setw(5)<<" fi "<<setw(5)<<" Fj "<<setw(5)<<" yi
"<<setw(5)<<" yi*fi "<<setw(5)<<" yi*yi*fi "<<endl<<endl;

while(r!=NULL)

if(m==1) cout<<" "<<r->limiteif1<<" - "<<r->limitesup1<<" ";

else cout<<" "<<r->limiteif2<<" - "<<r->limitesup2<<" ";

cout<<r->fi<<" "<<r->Fj<<" "<<r->yi<<" "<<r->yifi<<" "<<r-


>yiyifi<<endl;

r=r->sgte;

switch(n)

case 2: Posicion(l,m);break;

case 3: Variacion(l,m);break;

cout<<endl;

if(n==6)

19
{

cout<<"Ingrese cantidad de datos: ";

cin>>s;

for(i=0;i<s;i++)

if(m==1)

cout<<"Ingrese valor de x("<<i+1<<"): ";cin>>regdis[i][0];

cout<<"Ingrese valor de y("<<i+1<<"): ";cin>>regdis[i][1];

else

cout<<"Ingrese valor de x("<<i+1<<"): ";cin>>regcon[i][0];

cout<<"Ingrese valor de y("<<i+1<<"): ";cin>>regcon[i][1];

FunRegresion(m);

if(n==5) Bidimensional(m);

int Valores()

20
{

cout<<endl;

while(1)

cout<<"Que forma de agrupacion de los valores?"<<endl;

cout<<"1)Valores No Agrupados"<<endl;

cout<<"2)Valores Agrupados"<<endl;

cout<<"3)Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: return 1;break;

case 2: return 2;break;

case 3: return 0;break;

cout<<endl;

int Variables()

cout<<endl;

while(1)

21
{

cout<<"Que tipo de variable?"<<endl;

cout<<"1)Variable Discreta"<<endl;

cout<<"2)Variable Continua"<<endl;

cout<<"3)Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: return 1;break;

case 2: return 2;break;

case 3: return 0;break;

cout<<endl;

void Muestreo()

double D;

int z;

char t;

double Z;

22
l=OpcMuestreo();

if(l==0)

cout<<endl;

main();

m=BusqPoblacion();

if(m==0) Muestreo();

cout<<"Ingrese grado de confianza (Z%): ";cin>>z;

Z=Confianza(z);

cout<<"Ingrese error de estimacion (D): ";cin>>D;

if(l==1)

double p,q;

cout<<"Se conoce la probabilidad de ocurrencia y no ocurrencia (p y q)...(s/n):


";cin>>t;

if(t=='n')

p=0.5;

q=0.5;

23
else

cout<<"Ingrese probabilidad de ocurrencia (p): ";cin>>p;

cout<<"Ingrese probabilidad de no ocurrencia (q): ";cin>>q;

if(m==1)

cout<<endl;

cout<<" Caso 1: n = (Z^2 x p x q)/(D^2)"<<endl<<endl;

cout<<" n = ("<<Z<<"^2 x "<<p<<" x "<<q<<")/("<<D<<"^2)"<<endl<<endl;

cout<<" n = ("<<pow(Z,2)<<" x "<<p*q<<")/("<<pow(D,2)<<")"<<endl<<endl;

cout<<" n = ("<<pow(Z,2)*p*q<<")/("<<pow(D,2)<<")"<<endl<<endl;

cout<<" n = "<<(pow(Z,2)*p*q)/pow(D,2)<<endl;

else

double N;

cout<<"Ingrese poblacion (N): ";

cin>>N;

cout<<endl;

24
cout<<" Caso 2: n = (N x Z^2 x p x q)/((N-1) x D^2 + Z^2 x p x
q)"<<endl<<endl;

cout<<" n = ("<<N<<" x "<<Z<<"^2 x "<<p<<" x "<<q<<")/("<<N-1<<" x


"<<D<<"^2 + "<<Z<<"^2 x "<<p<<" x "<<q<<")"<<endl<<endl;

cout<<" n = ("<<N*pow(Z,2)<<" x "<<p*q<<")/("<<(N-1)*pow(D,2)<<" +


"<<pow(Z,2)*p*q<<")"<<endl<<endl;

cout<<" n =
("<<N*pow(Z,2)*p*q<<")/("<<(N+1)*pow(D,2)+pow(Z,2)*p*q<<")"<<endl<<endl;

cout<<" n = "<<(N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q)<<endl<<endl;

cout<<" n = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<endl<<endl;

cout<<"Verificando correccion de muestra... si n/N >= 0.05"<<endl<<endl;

cout<<" si "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<"/"<<N<<" >= 0.05"<<endl<<endl;

cout<<" si "<<(int)((N*pow(Z,2)*p*q)/((N-1)*pow(D,2)+pow(Z,2)*p*q))/N<<"
>= 0.05"<<endl<<endl;

if(((int)((N*pow(Z,2)*p*q)/((N-1)*pow(D,2)+pow(Z,2)*p*q))/N)>=0.05)

cout<<" Habra correccion de muestra"<<endl<<endl;

cout<<" nc = n/( 1 + n/N )"<<endl<<endl;

25
cout<<" nc = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<"/"<<"(1 + "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<"/"<<N<<")"<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<"/"<<"(1 + "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/N<<")"<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<"/"<<(1+(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/N)<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/(1+(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/N)<<endl<<endl;

cout<<" nc = "<<(int)((int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/(1+(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))/N))<<endl<<endl;

else

cout<<" No habra correccion de muestra"<<endl<<endl;

cout<<" n = "<<(int)((N*pow(Z,2)*p*q)/((N-
1)*pow(D,2)+pow(Z,2)*p*q))<<endl<<endl;

else

26
{

double ds;

cout<<"Ingrese desviacion estandar (ds): ";

cin>>ds;

if(m==1)

cout<<endl;

cout<<" Caso 3: n = (Z x ds / D)^2"<<endl<<endl;

cout<<" n = ("<<Z<<" x "<<ds<<" / "<<D<<")^2"<<endl<<endl;

cout<<" n = ("<<Z*ds<<" / "<<D<<")^2"<<endl<<endl;

cout<<" n = ("<<Z*ds/D<<")^2"<<endl<<endl;

cout<<" n = "<<pow((Z*ds/D),2)<<endl<<endl;

cout<<" n = "<<(int)pow((Z*ds/D),2)<<endl<<endl;

else

double N;

cout<<"Ingrese poblacion (N): ";

cin>>N;

27
cout<<endl;

cout<<" Caso 2: n = (N x Z^2 x ds^2)/((N-1) x D^2 + Z^2 x


ds^2)"<<endl<<endl;

cout<<" n = ("<<N<<" x "<<Z<<"^2 x "<<ds<<"^2)/("<<N-1<<" x "<<D<<"^2


+ "<<Z<<"^2 x "<<ds<<"^2)"<<endl<<endl;

cout<<" n = ("<<N*pow(Z,2)<<" x "<<pow(ds,2)<<")/("<<(N-1)*pow(D,2)<<"


+ "<<pow(Z,2)*pow(ds,2)<<")"<<endl<<endl;

cout<<" n =
("<<N*pow(Z,2)*pow(ds,2)<<")/("<<(N+1)*pow(D,2)+pow(Z,2)*pow(ds,2)<<")"<<en
dl<<endl;

cout<<" n = "<<(N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2))<<endl<<endl;

cout<<" n = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<endl<<endl;

cout<<"Verificando correccion de muestra... si n/N >= 0.05"<<endl<<endl;

cout<<" si "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<"/"<<N<<" >= 0.05"<<endl<<endl;

cout<<" si "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N<<" >= 0.05"<<endl<<endl;

if(((int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N)>=0.05)

cout<<" Habra correccion de muestra"<<endl<<endl;

28
cout<<" nc = n/( 1 + n/N )"<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<"/"<<"(1 +
"<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<"/"<<N<<")"<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<"/"<<"(1 +
"<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N<<")"<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<"/"<<(1+(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N)<<endl<<endl;

cout<<" nc = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/(1+(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N)<<endl<<endl;

cout<<" nc = "<<(int)((int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/(1+(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))/N))<<endl<<endl;

else

cout<<" No habra correccion de muestra"<<endl<<endl;

cout<<" n = "<<(int)((N*pow(Z,2)*pow(ds,2))/((N-
1)*pow(D,2)+pow(Z,2)*pow(ds,2)))<<endl<<endl;

29
}

int OpcMuestreo()

cout<<endl;

while(1)

cout<<"Para que necesita la muestra?"<<endl;

cout<<"1)Para Proporcion o Porcentaje (Caso 1 y 2)"<<endl;

cout<<"2)Para Promedio (Caso 3 y 4)"<<endl;

cout<<"3)Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: return 1;break;

case 2: return 2;break;

case 3: return 0;break;

cout<<endl;

30
}

int BusqPoblacion()

cout<<endl;

while(1)

cout<<"Que tipo de poblacion?"<<endl;

cout<<"1)Sin Poblacion (Caso 1 o 3)"<<endl;

cout<<"2)Con Poblacion (Caso 2 y 4)"<<endl;

cout<<"3)Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: return 1;break;

case 2: return 2;break;

case 3: return 0;break;

cout<<endl;

double Confianza(int Z)

31
{

double l;

while(1)

switch(Z)

case 90: l=1.64;break;

case 91: l=1.7;break;

case 92: l=1.75;break;

case 93: l=1.81;break;

case 94: l=1.88;break;

case 95: l=1.96;break;

case 96: l=2.05;break;

case 97: l=2.17;break;

case 98: l=2.33;break;

case 99: l=2.58;break;

default: cout<<endl<<" No existe grado de confianza"<<endl<<endl;

Muestreo();break;

return l;

32
void Posicion(int l, int m)

cout<<endl;

while(1)

cout<<"Elija opcion: "<<endl;

cout<<"1) Media"<<endl;

cout<<"2) Mediana"<<endl;

cout<<"3) Moda"<<endl;

cout<<"4) Ranilas"<<endl;

cout<<"5) Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: Media(l,m);break;

case 2: Mediana(l,m);break;

case 3: Moda(l,m);break;

case 4: Ranilas(l,m);break;

case 5:

cout<<endl;

main();break;

33
cout<<endl;

void Variacion(int l,int m)

cout<<endl;

while(1)

cout<<"Elija opcion: "<<endl;

cout<<"1) Varianza"<<endl;

cout<<"2) Desviacion Estandar"<<endl;

cout<<"3) Coeficiente de Variacion"<<endl;

cout<<"4) Retornar"<<endl;

cin>>opc;

switch(opc)

case 1: FunVariacion(l,m,1);break;

case 2: FunVariacion(l,m,2);break;

case 3: FunVariacion(l,m,3);break;

case 4:

cout<<endl;

main();break;

34
}

cout<<endl;

void Media(int l,int m)

suma=0;

LISTADOBLE r;

cout<<endl;

if(l==1)

for(i=0;i<s;i++)

if(m==1) suma=suma+(double)discreto[i];

else suma=suma+continua[i];

Leyenda(2);

cout<<" Media = "<<suma<<"/"<<s<<endl<<endl;

cout<<" Media = "<<suma/s<<endl;

else

v=0;

35
r=cuadroestadistico;

while(r!=NULL)

if(m==1) suma=suma+r->fi*(r->limiteif1+r->limitesup1)/2;

else suma=suma+r->fi*(r->limiteif2+r->limitesup2)/2;

v=v+r->fi;

r=r->sgte;

Leyenda(3);

cout<<" Media = "<<suma<<"/"<<v<<endl<<endl;

cout<<" Media = "<<suma/v<<endl;

cout<<endl;

void Mediana(int l,int m)

cout<<endl;

if(l==1)

if(s%2!=0)

36
{

Leyenda(4);

if(m==1) cout<<" Me = "<<discreto[(s+1)/2]<<endl;

else cout<<" Me = "<<continua[(s+1)/2]<<endl;

else

Leyenda(5);

cout<<" (n+1)/2 = "<<(s+1)/2<<endl<<endl;

if(m==1)

cout<<" Valor 1: "<<discreto[(s/2)-1]<<endl<<endl;

cout<<" Valor 2: "<<discreto[((s+2)/2)-1]<<endl<<endl;

cout<<" Me = "<<(double)(discreto[(s/2)-1]+discreto[((s+2)/2)-
1])/2<<endl;

else

cout<<" Valor 1: "<<continua[(s/2)-1]<<endl<<endl;

cout<<" Valor 2: "<<continua[((s+2)/2)-1]<<endl<<endl;

cout<<" Me = "<<(continua[(s/2)-1]+continua[((s+2)/2)-1])/2<<endl;

37
}

else

double Antes=0,Despues=0,Li,C,n,Me;

LISTADOBLE r,p;

n=(double)v/2;

r=cuadroestadistico;

while(r!=NULL)

if((r->ant==NULL || (r->ant)->Fj<n) && r->Fj>=n) p=r;

r=r->sgte;

if(p->ant!=NULL) Antes=(double)(p->ant)->Fj;

Despues=(double)p->Fj;

if(m==1)

Li=(double)p->limiteif1;

C=(double)(p->limitesup1-p->limiteif1);

38
}

else

Li=(double)p->limiteif2;

C=(double)(p->limitesup2-p->limiteif2);

Leyenda(6);

cout<<" Fj = "<<Despues<<endl<<endl;

cout<<" Fj-1 = "<<Antes<<endl<<endl;

if(m==1) cout<<" IMe = <"<<p->limiteif1<<" - "<<p-


>limitesup1<<"]"<<endl<<endl;

else cout<<" IMe = <"<<p->limiteif2<<" - "<<p->limitesup2<<"]"<<endl<<endl;

cout<<" Li = "<<Li<<endl<<endl;

cout<<" C = "<<C<<endl<<endl;

Me=Li+C*((n-Antes)/(Despues-Antes));

cout<<" Me = "<<Li<<" + "<<C<<"*[("<<n<<" - "<<Antes<<")/("<<Despues<<" -


"<<Antes<<")]"<<endl<<endl;

cout<<" Me = "<<Li<<" + "<<C<<"*[("<<n<<" - "<<Antes<<")/("<<Despues<<" -


"<<Antes<<")]"<<endl<<endl;

39
cout<<" Me = "<<Li<<" + "<<C<<"*[("<<n-Antes<<")/("<<Despues-
Antes<<")]"<<endl<<endl;

cout<<" Me = "<<Li<<" + "<<C<<"*["<<(n-Antes)/(Despues-


Antes)<<"]"<<endl<<endl;

cout<<" Me = "<<Li<<" + "<<C*((n-Antes)/(Despues- Antes))<<endl<<endl;

cout<<" Me = "<<Me<<endl<<endl;

cout<<endl;

void Moda(int l,int m)

cout<<endl;

if(l==1)

int band=0,j,mayor=2,cont,temp1;

double temp2;

Leyenda(7);

if(m==1)

40
for(i=0;i<s;i++)

for(j=s-1;j>i;j--)

if(discreto[j-1]>discreto[j])

temp1=discreto[j-1];

discreto[j-1]=discreto[j];

discreto[j]=temp1;

temp1=-1;

for(i=0;i<s;i++)

cont=1;

for(j=0;j<s;j++)

if(discreto[i]==discreto[j] && i!=j) cont++;

if(cont>mayor) mayor=cont;

for(i=0;i<s;i++)

cont=1;

for(j=0;j<s;j++)

if(discreto[i]==discreto[j] && i!=j) cont++;

41
if(cont==mayor && temp1!=discreto[i])

cout<<" Mo = "<<discreto[i]<<" ya que se repite "<<mayor<<"


veces"<<endl;

temp1=discreto[i];

band=1;

else

for(i=0;i<s;i++)

for(j=s-1;j>i;j--)

if(continua[j-1]>continua[j])

temp2=continua[j-1];

continua[j-1]=continua[j];

continua[j]=temp2;

temp2=-1;

for(i=0;i<s;i++)

42
{

cont=1;

for(j=0;j<s;j++)

if(continua[i]==continua[j] && i!=j) cont++;

if(cont>mayor) mayor=cont;

for(i=0;i<s;i++)

cont=1;

for(j=0;j<s;j++)

if(continua[i]==continua[j] && i!=j) cont++;

if(cont==mayor && temp2!=continua[i])

cout<<" Mo = "<<continua[i]<<" ya que se repite "<<mayor<<"


veces"<<endl;

temp2=continua[i];

band=1;

if(band==0) cout<<" No hay moda"<<endl;

43
else

double Antes=0,Despues=0,Li,C,Mo;

LISTADOBLE r,p;

r=cuadroestadistico;

while(r!=NULL)

if(r->fi>Antes)

Antes=(double)r->fi;

p=r;

r=r->sgte;

Leyenda(8);

if(p->ant!=NULL) Antes=(double)(p->ant)->fi;

if(p->sgte!=NULL)Despues=(double)(p->sgte)->fi;

if(m==1)

44
Li=(double)p->limiteif1;

C=(double)(p->limitesup1-p->limiteif1);

else

Li=(double)p->limiteif2;

C=(double)(p->limitesup2-p->limiteif2);

cout<<" fj-1 = "<<Antes<<endl<<endl;

cout<<" fj+1 = "<<Despues<<endl<<endl;

cout<<" IMo = ";

if(m==1) cout<<"<"<<p->limiteif1<<" - "<<p->limitesup1<<"]"<<endl<<endl;

else cout<<"<"<<p->limiteif2<<" - "<<p->limitesup2<<"]"<<endl<<endl;

cout<<" Li = "<<Li<<endl<<endl;

cout<<" C = "<<C<<endl<<endl;

Mo=Li+C*((Despues)/(Despues+Antes));

cout<<" Mo = "<<Li<<"+"<<C<<"*[("<<Despues<<")/("<<Antes<<" +
"<<Despues<<")]"<<endl<<endl;

45
cout<<" Mo =
"<<Li<<"+"<<C<<"*[("<<Despues<<")/("<<Antes+Despues<<")]"<<endl<<endl;

cout<<" Mo =
"<<Li<<"+"<<C<<"*"<<(Despues/(Antes+Despues))<<endl<<endl;

cout<<" Mo = "<<Li<<"+"<<C*(Despues/(Antes+Despues))<<endl<<endl;

cout<<" Mo = "<<Mo<<endl<<endl;

cout<<endl;

void Ranilas(int l,int m)

cout<<endl;

double n,t,d,Li;

Leyenda(9);

if(l==1)

cout<<"Calculando el factor r*n/m: "<<endl;

cout<<"Ingrese r: ";cin>>t;

cout<<"Ingrese m: ";cin>>d;

46
n=(double)t*s/d;

cout<<endl<<endl;

if(d<s)

if(m==1)

for(i=0;i<s;i++)

for(int j=s-1;j>i;j--)

if(discreto[j-1]>discreto[j])

opc=discreto[j-1];

discreto[j-1]=discreto[j];

discreto[j]=opc;

cout<<" "<<t<<"*"<<s<<"/"<<d<<" = "<<discreto[(int)n]<<endl;

else

for(i=0;i<s;i++)

for(int j=s-1;j>i;j--)

if(discreto[j-1]>discreto[j])

47
Li=continua[j-1];

continua[j-1]=continua[j];

continua[j]=Li;

cout<<" "<<t<<"*"<<s<<"/"<<d<<" = "<<continua[(int)n]<<endl;

else cout<<"Cantidad de datos menor a la ranila"<<endl;

else

double Antes=0,Despues=0,C,R;

LISTADOBLE r,p;

cout<<"Calculando el factor r*n/m: "<<endl;

cout<<"Ingrese r: ";cin>>t;

cout<<"Ingrese m: ";cin>>d;

n=(double)t*v/d;

r=cuadroestadistico;

cout<<endl;

48
Leyenda(10);

while(r!=NULL)

if((r->ant==NULL || (r->ant)->Fj<n) && r->Fj>=n) p=r;

r=r->sgte;

if(p->ant!=NULL) Antes=(double)(p->ant)->Fj;

Despues=(double)p->Fj;

if(m==1)

Li=(double)p->limiteif1;

C=(double)(p->limitesup1-p->limiteif1);

else

Li=(double)p->limiteif2;

C=(double)(p->limitesup2-p->limiteif2);

cout<<" Fj = "<<Despues<<endl<<endl;

cout<<" Fj-1 = "<<Antes<<endl<<endl;

49
cout<<" IRa = ";

if(m==1) cout<<"<"<<p->limiteif1<<" - "<<p->limitesup1<<"]"<<endl<<endl;

else cout<<"<"<<p->limiteif2<<" - "<<p->limitesup2<<"]"<<endl<<endl;

cout<<" Li = "<<Li<<endl<<endl;

cout<<" C = "<<C<<endl<<endl;

R=Li+C*((n-Antes)/(Despues-Antes));

cout<<" Rr = "<<Li<<" + "<<C<<"*[("<<n<<" - "<<Antes<<")/("<<Despues<<" -


"<<Antes<<")]"<<endl<<endl;

cout<<" Rr = "<<Li<<" + "<<C<<"*[("<<n<<" - "<<Antes<<")/("<<Despues<<" -


"<<Antes<<")]"<<endl<<endl;

cout<<" Rr = "<<Li<<" + "<<C<<"*[("<<n-Antes<<")/("<<Despues-


Antes<<")]"<<endl<<endl;

cout<<" Rr = "<<Li<<" + "<<C<<"*["<<(n-Antes)/(Despues-


Antes)<<"]"<<endl<<endl;

cout<<" Rr = "<<Li<<" + "<<C*((n-Antes)/(Despues- Antes))<<endl<<endl;

cout<<" Rr = "<<R<<endl<<endl;

cout<<endl;

50
void FunVariacion(int l,int m,int t)

int d;

double media,varianza;

double desv;

LISTADOBLE r;

suma=0;

if(l==1)

d=OpcionesVarianza1(d);

if(d==1 || d==2 || d==3 || d==4 || d==5)

for(i=0;i<s;i++)

if(m==1) suma=suma+(double)discreto[i];

else suma=suma+continua[i];

media=suma/s;

51
cout<<" Media = suma(datos)/n"<<endl<<endl;

cout<<" Media = "<<suma<<"/"<<s<<endl<<endl;

cout<<" Media = "<<media<<endl<<endl;

suma=0;

if(d==1 || d==3 || d==5)

for(i=0;i<s;i++)

if(m==1) suma=suma+((double)discreto[i]-media)*((double)discreto[i]-
media);

else suma=suma+(continua[i]-media)*(continua[i]-media);

cout<<" Suma[(datos - media)^2]= "<<suma<<endl<<endl;

if(d==5)

cout<<" Varianza = suma[(datos - media)^2]/n-1"<<endl<<endl;

cout<<" Varianza = "<<suma<<"/"<<s-1<<endl<<endl;

52
cout<<" Varianza = "<<suma/s-1<<endl<<endl;

varianza=suma/s-1;

else

cout<<" Varianza = suma[( datos - media )elev. 2]/n"<<endl<<endl;

cout<<" Varianza = "<<suma<<"/"<<s<<endl<<endl;

cout<<" Varianza = "<<suma/s<<endl<<endl;

varianza=suma/s;

if(d==2 || d==4)

for(i=0;i<s;i++)

if(m==1) suma=suma+((double)discreto[i])*((double)discreto[i]);

else suma=suma+(continua[i])*(continua[i]);

cout<<" Suma[(datos)elev. 2]= "<<suma<<endl<<endl;

cout<<" Varianza = suma[(datos)^2]/n - (media)^2"<<endl<<endl;

53
cout<<" Varianza = "<<suma<<"/"<<s<<" - ("<<media<<")elev.
2"<<endl<<endl;

cout<<" Varianza = "<<suma/s-media*media<<endl<<endl;

varianza=suma/s-media*media;

if(d==6)

suma2=0;

for(i=0;i<s;i++)

if(m==1) suma=suma+((double)discreto[i])*((double)discreto[i]);

else suma=suma+(continua[i])*(continua[i]);

for(i=0;i<s;i++)

if(m==1) suma2=suma2+(double)discreto[i];

else suma2=suma2+continua[i];

suma2=suma2*suma2;

54
cout<<" Suma[(datos)^2] = "<<suma2<<endl<<endl;

cout<<" [Suma(datos)]^2 = "<<suma<<endl<<endl;

cout<<" Varianza = [suma(datos^2) - suma([datos]^2)/n]/n-1"<<endl<<endl;

cout<<" Varianza = ["<<suma<<" - "<<suma2<<"/"<<s<<"]/"<<s-


1<<endl<<endl;

cout<<" Varianza = ["<<suma-suma2/s<<"]/"<<s-1<<endl<<endl;

cout<<" Varianza = "<<(suma-suma2/s)/s-1<<endl<<endl;

varianza=(suma-suma2/s)/s-1;

else

d=OpcionesVarianza2(d);

suma=0;

v=0;

r=cuadroestadistico;

while(r!=NULL)

55
v=v+r->fi;

r=r->sgte;

if(d==1 || d==2 || d==3 || d==4)

r=cuadroestadistico;

while(r!=NULL)

suma=suma+(r->yifi);

r=r->sgte;

media=suma/v;

cout<<" Media = suma(yi*fi)/n"<<endl<<endl;

cout<<" Media = "<<suma<<"/"<<v<<endl<<endl;

cout<<" Media = "<<media<<endl<<endl;

suma=0;

56
if(d==1 || d==3)

r=cuadroestadistico;

while(r!=NULL)

suma=suma+(r->yi-media)*(r->yi-media)*r->fi;

r=r->sgte;

cout<<" Varianza = suma[(yi - media)^2]*fi/n"<<endl<<endl;

cout<<" Varianza = "<<suma<<"/"<<v<<endl<<endl;

cout<<" Varianza = "<<suma/v<<endl<<endl;

varianza=suma/v;

if(d==2 || d==4)

r=cuadroestadistico;

while(r!=NULL)

57
suma=suma+(r->yiyifi);

r=r->sgte;

cout<<" Varianza = suma[(yi^2*fi)^2]*fi/n-media"<<endl<<endl;

cout<<" Varianza = "<<suma<<"/"<<v<<" -


"<<media*media<<endl<<endl;

cout<<" Varianza = "<<suma/v-media*media<<endl<<endl;

varianza=suma/v-media*media;

if(d==5)

suma2=0;

r=cuadroestadistico;

while(r!=NULL)

suma=suma+r->yiyifi;

suma2=suma2+r->yifi;

r=r->sgte;

58
suma2=suma2*suma2;

cout<<" Suma(yi^2*fi) = "<<suma<<endl<<endl;

cout<<" Suma(yi*fi^2)= "<<suma2<<endl<<endl;

cout<<" Varianza = [suma(yi^2*fi) - [suma(yi*fi)]^2/n]/n-1"<<endl<<endl;

cout<<" Varianza = ["<<suma<<" - "<<suma2<<"/"<<v<<"]/"<<v-


1<<endl<<endl;

cout<<" Varianza = ["<<suma-suma2/v<<"]/"<<v-1<<endl<<endl;

cout<<" Varianza = "<<(suma-suma2/v)/(v-1)<<endl<<endl;

varianza=(suma-suma2/v)/(v-1);

if(t>1)

cout<<" Desviacion Estandar = raizcuadr(varianza)"<<endl<<endl;

cout<<" Desviacion Estandar = raizcuadr("<<suma/s<<")"<<endl<<endl;

cout<<" Desviacion Estandar = "<<sqrt(suma/s)<<endl<<endl;

desv=sqrt(suma/s);

if(t>2)

59
cout<<" Coeficiente de Variacion = desv/n"<<endl<<endl;

cout<<" Coeficiente de Variacion = "<<desv<<"/"<<s<<endl<<endl;

cout<<" Coeficiente de Variacion = "<<desv/s<<endl<<endl;

cout<<" Coeficiente de Variacion (%) = "<<(desv/s)*100<<endl<<endl;

cout<<endl;

void FunRegresion(int m)

double sumay,sxx,sxy,a,b;

suma=0;

sumay=0;

sxx=0;

sxy=0;

if(s==1) cout<<endl<<" No se puede hallar la regresion con un unico


valor"<<endl<<endl;

else

for(i=0;i<s;i++)

60
{

if(m==1)

suma=suma+(double)regdis[i][0];

sumay=sumay+(double)regdis[i][1];

sxx=sxx+(double)regdis[i][0]*(double)regdis[i][0];

sxy=sxy+(double)regdis[i][0]*(double)regdis[i][1];

else

suma=suma+regcon[i][0];

sumay=sumay+regcon[i][1];

sxx=sxx+regcon[i][0]*regcon[i][0];

sxy=sxy+regcon[i][0]*regcon[i][1];

cout<<" Suma(x) = "<<suma<<endl<<endl;

cout<<" Suma(y) = "<<sumay<<endl<<endl;

cout<<" Suma(x*x) = "<<sxx<<endl<<endl;

cout<<" Suma(x*y) = "<<sxy<<endl<<endl;

a=(sumay*sxx-suma*sxy)/(s*sxx-suma*suma);

b=(s*sxy-suma*sumay)/(s*sxx-suma*suma);

61
cout<<" a = (sy*sxx-sx*sxy)/(n*sxx-sx*sx)"<<endl<<endl;

cout<<" a = ("<<sumay<<"*"<<sxx<<"-
"<<suma<<"*"<<sxy<<")/("<<s<<"*"<<sxx<<"-
"<<suma<<"*"<<suma<<")"<<endl<<endl;

cout<<" a = ("<<sumay*sxx-suma*sxy<<")/("<<s*sxx-
suma*suma<<")"<<endl<<endl;

cout<<" a = "<<a<<endl<<endl;

cout<<" b = (n*sxy-sx*sy)/(n*sxx-sx*sx)"<<endl<<endl;

cout<<" b = ("<<s<<"*"<<sxy<<"-
"<<suma<<"*"<<sumay<<")/("<<s<<"*"<<sxx<<"-
"<<suma<<"*"<<suma<<")"<<endl<<endl;

cout<<" b = ("<<s*sxy-suma*sumay<<")/("<<s*sxx-
suma*suma<<")"<<endl<<endl;

cout<<" b = "<<b<<endl<<endl;

cout<<" y = a + bx "<<endl<<endl;

cout<<" y = "<<a<<" + "<<b<<" x "<<endl<<endl;

void FormarCuadro(int menord,int m1, int C)

62
struct nodo intervalo;

LISTADOBLE r;

for(i=0;i<m1;i++)

intervalo.limiteif1=menord+C*i;

intervalo.limitesup1=menord+C*(i+1);

intervalo.fi=0;

intervalo.hi=0;

Insertar(intervalo);

for(i=0;i<s;i++)

r=cuadroestadistico;

while(r!=NULL)

if(discreto[i]>=r->limiteif1 && discreto[i]<r->limitesup1)

r->fi=r->fi+1;

r->hi=(double)r->fi*100/s;

r=r->sgte;

63
}

r=cuadroestadistico;

cout<<" Intervalos "<<setw(5)<<" fi "<<setw(5)<<" hi% "<<endl<<endl;

while(r!=NULL)

cout<<" "<<r->limiteif1<<" - "<<r->limitesup1<<setw(5)<<" "<<r-


>fi<<setw(5)<<" "<<r->hi<<endl;

r=r->sgte;

Elimina();

void Insertar(struct nodo intervalo)

LISTADOBLE p,r;

p=new(struct nodo);

*p=intervalo;

64
p->sgte=NULL;

if(cuadroestadistico==NULL)

p->ant=NULL;

cuadroestadistico=p;

else

r=cuadroestadistico;

while(r->sgte!=NULL) r=r->sgte;

r->sgte=p;

p->ant=r;

void Elimina()

LISTADOBLE p;

while(cuadroestadistico!=NULL)

p=cuadroestadistico;

cuadroestadistico=cuadroestadistico->sgte;

65
delete(p);

cuadroestadistico=NULL;

void Bidimensional(int m)

int f,j;

cout<<endl;

cout<<"Ingrese cantidad de filas: ";

cin>>f;

cout<<"Ingrese cantidad de columnas: ";

cin>>s;

cout<<endl;

if(m==1)

for(i=1;i<=f;i++)

cout<<"Ingrese limite inferior "<<i<<" de las filas (valor x): ";

cin>>cb[i][0].limiteif1;

66
cout<<"Ingrese limite superior "<<i<<": ";

cin>>cb[i][0].limitesup1;

cout<<endl;

for(i=1;i<=s;i++)

cout<<"Ingrese limite inferior "<<i<<" de las columnas (valor y): ";

cin>>cb[0][i].limiteif1;

cout<<"Ingrese limite superior "<<i<<": ";

cin>>cb[0][i].limitesup1;

cout<<endl;

for(i=1;i<=f;i++)

for(j=1;j<=s;j++)

cout<<"Ingrese frecuencia absoluta de: x=>["<<cb[i][0].limiteif1<<" -


"<<cb[i][0].limitesup1<<"] y y=>["<<cb[0][j].limiteif1<<" - "<<cb[0][j].limitesup1<<"]:
";

cin>>cb[i][j].fi;

67
}

cout<<endl;

for(i=0;i<=f;i++)

for(j=0;j<=s;j++)

if(cb[i][j].limiteif1!=NULL && cb[i][j].limitesup1!=NULL)

cout<<"[ "<<cb[i][j].limiteif1<<" - "<<cb[i][j].limitesup1<<"]";

cout<<setw(5);

else

if(cb[i][j].fi!=NULL) cout<<cb[i][j].fi<<setw(5);

else cout<<" - ";

cout<< endl;

68
else

for(i=1;i<=f;i++)

cout<<"Ingrese limite inferior "<<i<<" de las filas (valor x): ";

cin>>cb[i][0].limiteif2;

cout<<"Ingrese limite superior "<<i<<": ";

cin>>cb[i][0].limitesup2;

cout<<endl;

for(i=1;i<=s;i++)

cout<<"Ingrese limite inferior "<<i<<" de las columnas (valor y): ";

cin>>cb[0][i].limiteif2;

cout<<"Ingrese limite superior "<<i<<": ";

cin>>cb[0][i].limitesup2;

cout<<endl;

for(i=1;i<=f;i++)

69
for(j=1;j<=s;j++)

cout<<"Ingrese frecuencia absoluta de: x=>["<<cb[i][0].limiteif2<<" -


"<<cb[i][0].limitesup2<<"] y y=>["<<cb[0][j].limiteif2<<" - "<<cb[0][j].limitesup2<<"]:
";

cin>>cb[i][j].fi;

cout<<endl;

for(i=0;i<=f;i++)

for(j=0;j<=s;j++)

if(cb[i][j].limiteif2!=NULL && cb[i][j].limitesup2!=NULL)

cout<<"[ "<<cb[i][j].limiteif2<<" - "<<cb[i][j].limitesup2<<"]";

cout<<setw(5);

else

if(cb[i][j].fi!=NULL) cout<<cb[i][j].fi<<setw(5);

else cout<<" - ";

70
}

cout<< endl;

cout<<endl;

cout<<"Desea sacar un promedio?: "<<endl<<"1)Si"<<endl<<"2)No"<<endl;

cin>>opc;

if(opc==1)

int n=0;

l=0;

double r=0;

cout<<"De que valores?: "<<endl<<"1)X"<<endl<<"2)Y"<<endl;

cin>>opc;

cout<<endl;

if(opc==1)

cout<<" Promedio es: Sumatoria(x[i] * [limitesuperior -


limiteinferior]/n"<<endl<<endl;

71
for(i=1;i<=f;i++)

v=0;

for(j=1;j<=s;j++)

v=v+cb[i][j].fi;

n=n+cb[i][j].fi;

if(m==1) l=l+v*(cb[i][0].limitesup1+cb[i][0].limiteif1)/2;

else r=r+v*(cb[i][0].limitesup2+cb[i][0].limiteif2)/2;

else

cout<<" Promedio = Sumatoria(y[i] * [limitesuperior -


limiteinferior]/n"<<endl<<endl;

for(i=1;i<=s;i++)

v=0;

for(j=1;j<=f;j++)

v=v+cb[j][i].fi;

72
n=n+cb[j][i].fi;

if(m==1) l=l+v*(cb[0][i].limitesup1+cb[0][i].limiteif1)/2;

else r=r+v*(cb[0][i].limitesup2+cb[0][i].limiteif2)/2;

if(m==1)

cout<<" Promedio = "<<l<<"/"<<n<<endl<<endl;

cout<<" Promedio = "<<(double)l/n<<endl<<endl;

else

cout<<" Promedio = "<<r<<"/"<<n<<endl<<endl;

cout<<" Promedio = "<<r/n<<endl<<endl;

int OpcionesVarianza1(int v)

cout<<endl;

73
cout<<"Ingrese opcion: "<<endl<<"1)Caso 1"<<endl<<"2)Caso
2"<<endl<<"3)Caso 3"<<endl<<"4)Caso 4"<<endl<<"5)Caso 5"<<endl<<"6)Caso
6"<<endl;

cin>>v;

switch(v)

case 1: return 1;break;

case 2: return 2;break;

case 3: return 3;break;

case 4: return 4;break;

case 5: return 5;break;

case 6: return 6;break;

int OpcionesVarianza2(int v)

cout<<endl;

cout<<"Ingrese opcion: "<<endl<<"1)Caso 1"<<endl<<"2)Caso


2"<<endl<<"3)Caso 3"<<endl<<"4)Caso 4"<<endl<<"5)Caso 5"<<endl;

cin>>v;

switch(v)

case 1: return 1;break;

74
case 2: return 2;break;

case 3: return 3;break;

case 4: return 4;break;

case 5: return 5;break;

void Leyenda(int n)

if(n==1)

cout<<" R = Recorrido o Rango = valor maximo - valor minimo"<<endl<<endl;

cout<<" m = Numero de intervalos = 1 + 3.322*log(n)"<<endl<<endl;

cout<<" C = Amplitud de los intervalos = R/m"<<endl<<endl;

cout<<" R2 = Nuevo Rango = C*m";

if(n==2) cout<<" Media = Media = suma(datos)/n";

if(n==3)

cout<<" fi = Frecuencia absoluta "<<endl<<endl;

cout<<" limiteinferior, limitesuperior = minimo y maximo de cada


intervalo"<<endl<<endl;

75
cout<<" Media = sumatoria(fi*(limitesuperior + limiteinferior)/2)/n";

if(n==4) cout<<" Me = Mediana = valor[(n+1)/2]";

if(n==5)

cout<<" Se halla el valor de (n+1)/2"<<endl<<endl;

cout<<" Me = Promedio de los valores entre el cual se halla (s+1)/2";

if(n==6)

cout<<" Fj,Fj-1 = Frecuencias absolutas acumuladas anterior "<<endl<<endl;

cout<<" y posterior inmediatas a n/2"<<endl<<endl;

cout<<" Fj-1 < n/2 <Fj"<<endl<<endl;

cout<<" IMe = Intervalo mediano. Es aquel intervalo que se "<<endl<<endl;

cout<<" ubica en la misma fila de la Fj"<<endl<<endl;

cout<<" IMe = <limitesuperior - limiteinferior]"<<endl<<endl;

cout<<" Li = Limite Inferior"<<endl<<endl;

cout<<" C = Amplitud del intervalo mediano"<<endl<<endl;

cout<<" C = LimiteSuperior - LimiteInferior"<<endl<<endl;

cout<<" FORMULA: "<<endl<<endl;

cout<<" Me = Li+C*[(n/2 - Fj-1)/(Fj - Fj-1)]";

76
if(n==7) cout<<" Moda = Valor que mas se repite";

if(n==8)

cout<<" fi = Frecuencia absoluta mayor"<<endl<<endl;

cout<<" fi-1,fi+1 = Frecuencias absolutas inmediatas anterior y


posterior"<<endl<<endl;

cout<<" fi-1 < fi <Fi+1"<<endl<<endl;

cout<<" IMo = Intervalo Modal. Es el intervalo que se ubica en la


misma"<<endl<<endl;

cout<<" fila del fi."<<endl<<endl;

cout<<" IMo = <limitesuperior - limiteinferior]"<<endl<<endl;

cout<<" Li = Limite Inferior"<<endl<<endl;

cout<<" C = Amplitud del intervalo modal"<<endl<<endl;

cout<<" C = LimiteSuperior - LimiteInferior"<<endl<<endl;

cout<<" FORMULA: "<<endl<<endl;

cout<<" Mo = Li+C*[(fj+1)/(fj-1 + fj+1)]";

if(n==9)

cout<<" n = Cantidad de elementos"<<endl<<endl;

cout<<" m = Numero de partes que divide la ranila a la recta de


valores"<<endl<<endl;

77
cout<<" r = Posicion buscada"<<endl<<endl;

cout<<" factor r*n/m = Permite encontrar el valor buscado en valores


"<<endl<<endl;

cout<<" no agrupados y participa en la formula de "<<endl<<endl;

cout<<" valores agrupados ";

if(n==10)

cout<<" Fj,Fj-1 = Frecuencias absolutas acumuladas anterior "<<endl<<endl;

cout<<" y posterior inmediatas a n/2"<<endl<<endl;

cout<<" Fj-1 < r*n/m <Fj"<<endl<<endl;

cout<<" IRr = Intervalo Ranila. Es el intervalo que se ubica en la


misma"<<endl<<endl;

cout<<" fila del r*n/m"<<endl<<endl;

cout<<" Li = Limite Inferior"<<endl<<endl;

cout<<" C = Amplitud del intervalo ranila"<<endl<<endl;

cout<<" C = LimiteSuperior - LimiteInferior"<<endl<<endl;

cout<<" Rr = Li+C*[(r*n/m - Fj-1)/(Fj - Fj-1)]"<<endl<<endl;

cout<<endl<<endl;

78
BIBLIOGRAFIA

- COMO PROGRAMAR EN C++, 1992, HARVEY DEITEL

- EL LENGUAJE DE PROGRAMACIÓN C++, 1985, BJARNE


STROUSTRUP, EDITORIAL

- Probabilidad y Estadistica para Ingenieria y Ciencias - Jay Devore -


Septima Edicion

79

You might also like