Você está na página 1de 68

Unidad Profesional Interdisciplinaria de Ingenieria y Ciencias Sociales y Administrativas

UNIDAD DE APRENDIZAJE: Diseo de ambientes ubicuos

PROYECTO: Aplicacin para el calculo de Estadistica Bsica

NDICE:

Introduccin...3

Consideraciones Tericas...4

Desarrollo...9

Pruebas y ajustes....54

Observaciones..67

Conclusiones....68

Bibliografia....68

2|Pgina

INTRODUCCION:
El siguiente documento muestra el desarrollo y documentacin la aplicacin Nombre para Android, la cual realiza clculos bsicos de estadstica descriptiva.

La aplicacin cuenta con dos opciones dentro de su men, en la primera trabajaremos con un nico conjunto de datos del cual calcularemos moda, media, mediana, varianza insesgada, varianza

sesgada, desviacin estndar, desviacin media, media armnica, media geomtrica,cuantiles y rango mientras que la segunda opcin
realizar las mismas operaciones para los 2 conjuntos adems de

covarianza y correlacin, las cuales nicamente se pueden calcular


contando con 2 conjuntos de valores.

Esta aplicacin busca ser de gran utilidad para comprobar resultados o tambin facilitar el calculo de estas operaciones estadsticas. Cabe decir que la utilidad que el usuario le d es totalmente su responsabilidad.

3|Pgina

CONSIDERACIONES TERICAS
ESTADISTICA DESCRIPTIVA La estadstica descriptiva es la rama de las Matemticas que recolecta, presenta y caracteriza un conjunto de datos (por ejemplo, edad de una poblacin, altura de los estudiantes de una escuela, temperatura en los meses de verano, etc.) con el fin de describir apropiadamente las diversas caractersticas de ese conjunto. MEDIDAS DE TENDENCIA CENTRAL MEDIA La media de n valores, es igual a la suma de todos ellos dividida entre n. Se denota por x. Esto es: MEDIANA Es el valor que separa por la mitad las observaciones ordenadas de menor a mayor, de tal forma que el 50% de estas son menores que la mediana y el otro 50% son mayores. Si el nmero de datos es impar la mediana ser el valor central, si es par tomaremos como mediana la media aritmtica de los dos valores centrales. MEDIA ARMNICA La media armnica , representada por H, de una cantidad finita de nmeros es igual al recproco, o inverso, de la media aritmtica de los recprocos de dichos nmeros As, dados los nmeros a1,a2, , an, la media armnica ser igual a: H = n / (1/a1 + 1/a2 + 1/ an)

4|Pgina

MEDIA GEOMTRICA La media geomtrica de una cantidad finita de nmeros (digamos n nmeros) es la raz nsima del producto de todos los nmeros.

Por ejemplo, la media geomtrica de 2 y 18 es Otro ejemplo, la media de 1, 3 y 9 seria

MODA Es el valor de la variable que ms veces se repite, es decir, aquella cuya frecuencia absoluta es mayor. No tiene por qu ser nica.

MEDIDAS DE DISPERSIN VARIANZA MUESTRAL La varianza es la media aritmtica del cuadrado de las desviaciones respecto a la media de una distribucin estadstica. por: La varianza se representa

5|Pgina

RANGO El rango de una distribucin es la diferencia entre el valor mximo (M) y el valor mnimo (m) de la variable estadstica. Para su clculo, basta con ordenar los valores de menor a mayor m de M. DESVIACION MEDIA La desviacin media es la divisin de la sumatoria del valor absoluto de las distancias existentes entre cada dato y su media aritmtica y el nmero total de datos: DESVIACION ESTANDAR La desviacin estndar o desviacin tpica se define como la raz cuadrada de los cuadrados de las desviaciones de los valores de la variable respecto a su media. Esto es: La desviacin estndar es una medida estadstica de la dispersin de un grupo o poblacin. Una gran desviacin estndar indica que la poblacin esta muy dispersa respecto de la media. Una desviacin estndar pequea indica que la poblacin est muy compacta alrededor de la media. COEFICIENTE DE VARIACION Cuando se quiere comparar el grado de dispersin de dos distribuciones que no vienen dadas en las mismas unidades o que las medias no son iguales se utiliza el coeficiente de variacin de Pearson que se define como el cociente entre la desviacin estndar y el valor absoluto de la media aritmtica:

COVARIANZA La

covarianza es una medida de la

asociacin lineal entre dos variables que resume la informacin existente en un grfico de dispersin.
6|Pgina

Es un indicador de si los valores estn relacionados entre s, se simboliza por xy y se calcula por medio de: Esta medida, refleja la relacin lineal que existe entre dos variables. El resultado numrico flucta entre los rangos de [,]. Al no tener unos lmites establecidos no puede determinarse el grado de relacin lineal que existe entre las dos variables, slo es posible ver la tendencia. Una covarianza positiva significa que existe una relacin lineal positiva entre las dos variables. Es decir, los valores bajos de la variable x se asocian con los valores bajos de la variable y, mientras los valores altos de x se asocian con los valores altos de la variable y. Una covarianza de negativa significa que existe una relacin lineal inversa (negativa) entre las dos variables. Lo que significa que los valores bajos en x se asocian con los valores altos en y, mientras los valores altos en x se asocian con los valores bajos en y. Una covarianza de cero se interpreta como la no existencia de una relacin lineal entre las dos variables estudiadas. CORRELACIN Es frecuente que se estudie sobre una misma poblacin los valores de dos variables estadsticas distintas, con el fin de ver si existe alguna relacin entre ellas, es decir, si los cambios en una de ellas influyen en los valores de la otra. Si ocurre esto se dice que las variables estn correlacionadas o bien que hay correlacin entre ellas. La apreciacin visual de la existencia de correlacin no es suficiente. As que se define como coeficiente de correlacin de Pearson al ndice estadstico que mide la relacin lineal denota por r: entre dos variables cuantitativas. Se

7|Pgina

Este coeficiente de correlacin lineal divide la covarianza por el producto de las desviaciones estndar de ambas variables. A diferencia de la covarianza, la correlacin de Pearson es independiente de la escala de medida de las variables. El valor del ndice de correlacin vara en el intervalo [-1, 1] y se interpreta de la siguiente forma: Si r = 0, no existe ninguna correlacin. El ndice indica, por lo tanto, una independencia total entre las dos variables, es decir, que la variacin de una de ellas no influye en absoluto en el valor que pueda tomar la otra. Si r = 1, existe una correlacin positiva perfecta. El ndice indica una dependencia total entre las dos variables denominada relacin directa: cuando una de ellas aumenta, la otra tambin lo hace en idntica proporcin. Si 0 < r < 1, existe una correlacin positiva. Si r = -1, existe una correlacin negativa perfecta. El ndice indica una dependencia total entre las dos variables llamada relacin inversa: cuando una de ellas aumenta, la otra disminuye en idntica proporcin. Si -1 < r < 0, existe una correlacin negativa.

8|Pgina

DESARROLLO
*Instalacin de las herramientas necesarias para el desarrollo y pruebas de la aplicacin.
1 - Primero debemos instalar el compilador de Java y la mquina virtual: Java SE Development Kit (JDK). 2 - El segundo paso es la descarga del editor Eclipse: Eclipse IDE for Java Developers. 3 - El tercer paso es descargar el SDK Android: SDK de Android El archivo que descargaremos es el zip: android-sdk_rxx-windows.zip (donde xx es el nmero de la ltima versin) Descomprimimos el archivo y lo ubicamos en la raz de la unidad C\: , luego de descomprimir tenemos una carpeta llamada: C:\android-sdk-windows

9|Pgina

4 - El cuarto paso es ejecutar el programa: C:\android-sdk-windows\SDK Manager.exe que se encuentra en la carpeta que acabamos de descomprimir el SDK de Android. Aparece esta ventana (presionamos cancelar con el objetivo de seleccionar una AVD (Android Virtual Device) y no tener que esperar una eternidad descargando todas las versiones de AVD):

Instalaremos en primera instancia la versin del SDK 2.3.3 (la lnea 2 est orientada al desarrollo de aplicaciones para celulares y la lnea 3 est orientada a tablet). Seleccionamos Available packages y luego del lado derecho solo dejamos tildado la versin del SDK 2.3.3 (ms adelante podemos instalar otras versiones de Android) Por ltimo procedemos a presionar el botn "Install Selected":

10 | P g i n a

Aparece un dilogo donde nos informa el progreso de instalacin:

Ahora

ya

podemos

cerrar la aplicacin del SDK Manager.exe

Instalacin

del

plugin de Eclipse para trabajar con Android.

11 | P g i n a

Para instalar el plugin ingresamos al entorno Eclipse. Luego desde el men de opciones: Help> Install New Software, aparece el siguiente dilogo, presionamos el botn add y disponemos la En url Location donde disponemos la se url: encuentra el plugin:

https://dl-ssl.google.com/android/eclipse/

Tildamos "Developer Tools", presionamos seguidamente el botn "Next" dos veces hasta que aparece la ventana donde tenemos que aceptar los "Trminos y Condiciones" y presionamos el botn "Finish" Al finalizar la instalacin del plugin se reinicia el Eclipse para que se instale completamente.

6 - El siguiente paso que debemos efectuar para poder empezar configurar opcin siguiente a el Windows desarrollar SDK: -> dilogo: aplicaciones para Android es Para esto nos dirigimos a la Preferences donde aparece el

Seleccionamos la carpeta donde descomprimimos SDK de Android y presionamos el botn "Apply"

12 | P g i n a

7 - Por ltimo debemos crear el AVD (Android Virtual Device) para ello nos dirigimos a la opcin Window -> Android SDK and AVD Manager. En este dilogo debemos crear el emulador de Android (presionamos el botn New...):

13 | P g i n a

En este dilogo asignamos un nombre a nuestro AVD, lo enlazamos con la versin de SDK respectivo, fijamos un tamao al SD Card:

Ya tenemos todo configurado para el desarrollo de aplicaciones Android.

14 | P g i n a

*Desarrollo del diseo de la aplicacin.


Ya que se ha instalado y vinculado ECLIPSE con ANDROID procedemos a realizar la aplicacin. 1. Generamos un nuevo proyecto dando clic en el botn de NEW o tambin Desde el men de opciones: File -> New -> Android Project. 2. Nos aparecer una ventana que nos mostrar todo lo que podemos realizar y que en este caso seleccionaremos la opcin de Android Project.

15 | P g i n a

3. Seleccionaremos el SDK con el que vamos a trabajar en esta situacin trabajaremos con Android 2.3.3 API 10.

4. Por ultimo nos pedir escribir el nombre del paquete ( todo ser en nimusculas y separado por un punto. Android.estadisticas

16 | P g i n a

5. Nos dirigimos a la pestaa Project Explorer, seleccionamos la carpeta res y finalmente a la carpeta layout donde encontraremos el main.xml el cual vamosa modificar para crear nuestra aplicacin.

6. De acuerdo a el diseo que le vamos a implementar , depende tambin lo que vayamos a ocupar en este caso utilizamos la herramienta TextView un RadioGroup y Button.

17 | P g i n a

7. Cabe mencionar que por cada herramienta que utilizemos y que consideremos que tenemos que hacer una programacin de ellas, es preciso agregarles un ID para que la programacin sea mas fcil de detectar hacia que herramienta nos estamos dirigiendo.

8. Despus de terminar con nuestra primer pantalla vamos a realizar otra la cual crearemos de la siguiente forma: -Nos dirigimos a la carpeta layout y enseguidadaremos clic derecho donde nos vamos a New / other../Android XML File. Y damos clic en next.

18 | P g i n a

9. Enseguida escribiremos el nombre del nuevo archivo y el tipo de herramienta que ser, como se observa para agregar otro layout seleccionamos el LinearLayout y finalizamos.

19 | P g i n a

10. Haremos este procedimiento continuamente y cada que realicemos un nuevo archivo haremos las modificaciones pertinentes entre ellas la modificacin del ID.

11. En esta pantalla, la accin que realizar ser pedir al usuario los valores del conjunto y es por ello que i va cambiar por (1,2,3n).

20 | P g i n a

12. En esta pantalla se mostrarn los resultados de lo que el usuario pidi si seleccion la primera opcin del Men. Y para alinearlos, utilizamos un TableLayout. Y en los TextView se mostrarn los valores.

13. Continuaremos creando la siguiente pantalla que mostrar lo mismo que en la pantalla anterior solo que esta aparecer como conjunto X que pertenece a la segunda opcin del Men.

21 | P g i n a

14. En esta pantalla mostrar los resultados del conjunto Y de la opcin 2 del Men de opciones.

15. Por ltimo si seleccion el usuario los resultados de dos conjuntos de valores, tambin contar con el resultado de dos operaciones que requieren de algunos elementos del conjunto X y de Y es por eso que sugerimos que estos datos fueran en otra pantalla :

22 | P g i n a

*Cdigo de la aplicacin.
ID TIPO PANTALLA ID TIPO PANTALLA Aceptarventana4a tv1 TextView Main.xml tv4tv14 TextView Aceptarventana4b Sigventana4c r1 RadioButton Un conjunto r2 RadioButton Dos conjuntos button1 Button Aceptar button2 Button Salir Main.xml mediaar TextView Main.xml medianar TextView Main.xml modar TextView Main.xml mediar TextView Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana4a tv2 TextView Aceptarventana2 mediagr TextView Aceptarventana4b Sigventana4c Aceptarventana4a t1 TextField Aceptarventana2 varmr TextView Aceptarventana4b Sigventana4c button3 Button Continuar button4 Button Salir tv3 t2 button5 Button Aceptar button6 Button Cancelar button7 Menu Principal(4a) Siguiente(4b,4c) button8 Button Menu principal Aceptarventana4c button9 button Sigventanaxy Button Aceptarventana4a Aceptarventana4b Aceptarventana4c covr TextView Sigventanaxy Aceptarventana3 corr TextView Sigventanaxy Aceptarventana3 cofvar TextView TextView TextField Aceptarventana3 Aceptarventana3 desvmr ranr TextView TextView Aceptarventana2 desvar TextView Aceptarventana2 varinr TextView Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana4a Aceptarventana4b Sigventana4c Aceptarventana3 Aceptarventana3 Aceptarventana4a Aceptarventana4b Sigventana4c

23 | P g i n a

PANTALLA PRINCIPAL Documento XML main.XML


<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal|left|right" android:orientation="vertical" > <ImageView android:id="@+id/imageView1" android:layout_width="269dp" android:layout_height="147dp" android:layout_gravity="center_horizontal" android:src="@drawable/ic_launcher2" /> <TextView android:id="@+id/tv1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="60dp" android:text="Calcular datos estadsticos de:" android:textSize="24sp" /> <RadioGroup android:id="@+id/radioGroup1" android:layout_width="match_parent" android:layout_height="wrap_content" android:baselineAligned="true" android:orientation="vertical" > <RadioButton android:id="@+id/r1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="left" android:checked="true" android:text=" Un conjunto de datos" /> <RadioButton android:id="@+id/r2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="left" android:text=" Dos conjuntos de datos" /> </RadioGroup>

24 | P g i n a

<Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:onClick="aceptar" android:text="Aceptar" /> <Button android:id="@+id/button2" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="cerrar" android:text="Salir" /> </LinearLayout>

EstadisticaActivity.java
package android.estadistica; import import import import import android.app.Activity; android.content.Intent; android.os.Bundle; android.view.View; android.widget.RadioButton;

public class EstadisticaActivity extends Activity { private RadioButton r1,r2; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); r1=(RadioButton)findViewById(R.id.r1); r2=(RadioButton)findViewById(R.id.r2); } public void aceptar(View view) { try { if (r1.isChecked()==true) { Intent i = new Intent(this, AceptarV2.class ); i.putExtra("des", 0); startActivity(i); } else if (r2.isChecked()==true) { Intent i = new Intent(this, AceptarV2.class ); i.putExtra("des", 1); startActivity(i);} 25 | P g i n a

} catch(Exception e) { finish(); } } public void cerrar(View view) { finish(); } }

PANTALLA CANTIDAD DE ELEMENTOS EN EL(LOS) CONJUNTO(S)

aceptarventana2.XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:text="Ingrese el nmero de elementos que contendr el conjunto:" android:textSize="24sp" /> <EditText android:id="@+id/t1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:ems="10" android:inputType="number" > <requestFocus /> </EditText> <TextView android:id="@+id/tv30" android:layout_width="266dp" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginLeft="100dp" android:layout_weight="0.08" android:text="" /> 26 | P g i n a

<LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:gravity="right" >

<Button android:id="@+id/button3" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:onClick="continuar" android:text="Continuar" /> <Button android:id="@+id/button4" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:onClick="cerrar" android:text="Regresar" /> </LinearLayout> </LinearLayout>

AceptarV2.java
package android.estadistica; import import import import import import import android.app.Activity; android.app.AlertDialog; android.content.Intent; android.os.Bundle; android.view.View; android.widget.EditText; android.widget.TextView;

public class AceptarV2 extends Activity { int des; private TextView tv2,tv30; private EditText t1; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aceptarventana2); tv2=(TextView)findViewById(R.id.tv2); tv30=(TextView)findViewById(R.id.tv30); 27 | P g i n a

t1=(EditText)findViewById(R.id.t1); Bundle bundle=getIntent().getExtras(); des = bundle.getInt("des"); if(des == 0) { tv2.setText("Ingrese el nmero de elementos que contendr el conjunto: "); }else if(des ==1) { tv2.setText("Ingrese el nmero de elementos que contendrn los conjuntos X,Y :"); }

} public void continuar(View view) { try { String valor1=t1.getText().toString(); int nro1=Integer.parseInt(valor1); Intent i = new Intent(this, AceptarV3.class ); i.putExtra("tam", nro1); i.putExtra("des", des); startActivity(i); } catch(Exception e) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Error!"); builder.setMessage("Ingrese nicamente nmeros!"); builder.setPositiveButton("OK",null); builder.create(); builder.show(); } } public void cerrar(View view) { finish(); }

28 | P g i n a

PANTALLA CARGAR ELEMENTOS EN EL(LOS) CONJUNTO(S) aceptarventana3.XML


<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/tv3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_marginTop="40dp" android:text="Introduce el i valor :" android:textSize="24sp" /> <EditText android:id="@+id/t2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:ems="10" android:inputType="number" > <requestFocus /> </EditText> <TextView android:id="@+id/tv20" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center_horizontal" android:text="" /> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="40dp" android:baselineAligned="false" android:gravity="center|right" > <Button android:id="@+id/button5" android:layout_width="100dp" android:layout_height="wrap_content" android:layout_gravity="right" android:layout_marginTop="40dp" android:layout_weight="0.26" android:onClick="aceptar" android:text="Aceptar" /> 29 | P g i n a

</LinearLayout> <Button android:id="@+id/button12" android:layout_width="316dp" android:layout_height="wrap_content" android:layout_marginBottom="40dp" android:layout_weight="0.05" android:onClick="siguiente" android:text="Siguiente" android:visibility="invisible" /> </LinearLayout>

AceptarV3.java
package android.estadistica; import import import import import import import import android.app.Activity; android.app.AlertDialog; android.content.Intent; android.os.Bundle; android.view.View; android.widget.Button; android.widget.EditText; android.widget.TextView;

public class AceptarV3 extends Activity { float med=0,modaf=0,mediana=0,medar=0,medge=0,varmu=0,varin=0,desves=0,desvmu=0,ran=0,coefv=0,cov= 0,corr=0; private EditText t2; private TextView tv20,tv3; private Button b5,b20; int arr[],t,i=0,des; int arrx[],arry[]; float sol1[] = new float[11]; float sol2[] = new float [11]; char xy; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aceptarventana3); t2=(EditText)findViewById(R.id.t2); tv3=(TextView)findViewById(R.id.tv3); tv20=(TextView)findViewById(R.id.tv20); b5=(Button)findViewById(R.id.button5); b20=(Button)findViewById(R.id.button12); Bundle bundle=getIntent().getExtras(); des = bundle.getInt("des"); t = bundle.getInt("tam"); 30 | P g i n a

arr = new int[t]; //tv3.setText("Tamao: "+t); if(des==0) { tv3.setText("Introduce el "+(i+1)+" valor :"); }else if(des==1) { xy='X'; arrx = new int[t]; arry = new int[t]; tv3.setText("Introduce el "+(i+1)+" valor de "+xy+": "); } //tv3.setText("Introduce el "+(i+1)+" valor :"); } public void aceptar(View view) { try { if(des==0) { if(i<t) { String valor1=t2.getText().toString(); int nro=Integer.parseInt(valor1); arr[i] = nro; t2.setText(""); //tv20.setText(arr[i]); i++; tv3.setText("Introduce el "+(i+1)+" valor :"); } if(t==i) { tv3.setText("xito"); tv20.setText("Datos: "); for(int j=0;j<t;j++) { String tt=""+arr[j]; tv20.append("\n"+(j+1)+": "+tt); } t2.setVisibility(t2.INVISIBLE); b5.setVisibility(b5.INVISIBLE); b20.setVisibility(b20.VISIBLE); des=0; } }else if(des==1) { 31 | P g i n a

if(i<t) { String valor1=t2.getText().toString(); int nro=Integer.parseInt(valor1); arr[i] = nro; t2.setText(""); //tv20.setText(arr[i]); i++; tv3.setText("Introduce el "+(i+1)+" valor de "+xy+":"); } if(t==i) { tv3.setText("xito"); t2.setVisibility(t2.INVISIBLE); b5.setVisibility(b5.INVISIBLE); b20.setVisibility(b20.VISIBLE); } }else if(des==2) { if(i<t) { String valor1=t2.getText().toString(); int nro=Integer.parseInt(valor1); arr[i] = nro; t2.setText(""); //tv20.setText(arr[i]); i++; tv3.setText("Introduce el "+(i+1)+" valor de "+xy+":"); } if(t==i) { tv3.setText("xito"); t2.setVisibility(t2.INVISIBLE); b5.setVisibility(b5.INVISIBLE); b20.setVisibility(b20.VISIBLE); } }

} catch(Exception e) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Error!"); builder.setMessage("Ingrese nicamente nmeros!"); builder.setPositiveButton("OK",null); builder.create(); builder.show(); } } 32 | P g i n a

public void siguiente(View view) { try { if(des==0) { calculos(); Intent i = new Intent(this, AceptarVa4.class ); i.putExtra("med", med); i.putExtra("modaf", modaf); i.putExtra("mediana", mediana); i.putExtra("medar", medar); i.putExtra("medge", medge); i.putExtra("varmu", varmu); i.putExtra("varin", varin); i.putExtra("desves", desves); i.putExtra("desvmu", desvmu); i.putExtra("ran", ran); i.putExtra("coefv", coefv); startActivity(i); }else if(des==1) { for(int h=0;h<t;h++) { arrx[h]=arr[h]; } calculos(); sol1[0] = med; sol1[1] = modaf; sol1[2] = mediana; sol1[3] = medar; sol1[4] = medge; sol1[5] = varmu; sol1[6] = varin; sol1[7] = desves; sol1[8] = desvmu; sol1[9] = ran; sol1[10] = coefv; t2.setVisibility(t2.VISIBLE); b5.setVisibility(b5.VISIBLE); b20.setVisibility(b20.INVISIBLE); des=2; i=0; xy='y'; arr = new int[t]; tv3.setText("Introduce el "+(i+1)+" valor de "+xy+": "); }else if(des==2) { for(int h=0;h<t;h++) { arry[h]=arr[h]; } 33 | P g i n a

calculos(); sol2[0] = med; sol2[1] = modaf; sol2[2] = mediana; sol2[3] = medar; sol2[4] = medge; sol2[5] = varmu; sol2[6] = varin; sol2[7] = desves; sol2[8] = desvmu; sol2[9] = ran; sol2[10] = coefv; des=1; //Covarianza for(int i=0; i<t; i++) { cov=cov + (arrx[i]*arry[i]); } cov=(float) (cov/(1.0*t)); cov=cov-(sol1[0]*sol2[0]); //************************************************** //Correlacion corr=(cov)/(sol1[7]*sol2[7]); //**************************************************/ Intent i = new Intent(this, AceptarVb4.class ); i.putExtra("tam", t); i.putExtra("medx", sol1[0]); i.putExtra("modafx", sol1[1]); i.putExtra("medianax", sol1[2]); i.putExtra("medarx", sol1[3]); i.putExtra("medgex", sol1[4]); i.putExtra("varmux", sol1[5]); i.putExtra("varinx", sol1[6]); i.putExtra("desvesx", sol1[7]); i.putExtra("desvmux", sol1[8]); i.putExtra("ranx", sol1[9]); i.putExtra("coefvx", sol1[10]); i.putExtra("medy", sol2[0]); i.putExtra("modafy", sol2[1]); i.putExtra("medianay", sol2[2]); i.putExtra("medary", sol2[3]); i.putExtra("medgey", sol2[4]); i.putExtra("varmuy", sol2[5]); i.putExtra("variny", sol2[6]); i.putExtra("desves2", sol2[7]); i.putExtra("desvmuy", sol2[8]); i.putExtra("rany", sol2[9]); i.putExtra("coefvy", sol2[10]); i.putExtra("cov", cov); i.putExtra("corr", corr); i.putExtra("des", 1); startActivity(i); }

} 34 | P g i n a

catch(Exception e) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setTitle("Error!"); builder.setMessage("Ingrese nicamente nmeros!"); builder.setPositiveButton("OK",null); builder.create(); builder.show(); } } public void calculos() { //Media en x for(int j=0; j<t; j++) { med=med+arr[j]; } med=(float)(med/(t)); //varianza insesgada en x for(int j=0; j<t; j++) { varin=varin + ((arr[j]- med)*(arr[j] - med)); } varin=varin/(t-1); //varianza muestral en x for(int j=0; j<t; j++) { varmu=varmu + ((arr[j]- med)*(arr[j] - med)); } varmu=varmu/(t); //Desviacion Media en x for(int j=0; j<t; j++) { desvmu=desvmu + Math.abs(arr[j]- med); } desvmu=desvmu/(t); //Desviacion Estandar en x for(int j=0; j<t; j++) { desves=desves + ((arr[j]- med)*(arr[j] - med)); } desves=desves/(t); desves=(float) Math.sqrt(desves); //Coeficiente de variacion en x coefv=desves/med; //Rango //Ordenar valores int temp; for(int j=0;j<t;j++) { for(int y=0;y<t;y++) 35 | P g i n a

{ if(arr[j]<arr[y]) { temp=arr[j]; arr[j]=arr[y]; arr[y]=temp; } } } //Calcular rango ran=arr[t-1]-arr[0]; //MODA modaf = hallarModa(arr,0,arr.length-1); //MEdiana mediana = (float) getMediana(arr,arr.length); //Media Geometrica medge = (float) mediaGeometrica(arr); //Media Armonica medar = mediaArmonica(arr); } public static int hallarModa (int a[], int prim, int ult) { int i, frec, maxfrec, moda; if (prim == ult) return a[prim]; moda = a[prim]; maxfrec = Frecuencia(a, a[prim], prim, ult); for (i = prim + 1; i<=ult; i++) { frec = Frecuencia (a, a[i], i, ult); if (frec > maxfrec) { maxfrec = frec; moda = a[i]; } } return moda; } /** * Metodo para calcular el numero de veces que se repite un elemento * Utilizado por el metodo hallarModa */ public static int Frecuencia (int a[], int p, int prim, int ult) { int i, suma; if (prim > ult) return 0; suma = 0; for (i = prim; i<= ult; i++) if(a[i] == p) suma++; return suma; 36 | P g i n a

} public static double getMediana(int valores[],int longitud){ try{ if(longitud%2 == 0){ double x1 = valores[longitud/2]; double x2 = valores[(longitud-2)/2]; return ((x1+x2)/2); } else{ double x = valores[(longitud-1)/2]; return x; } } catch (java.lang.NullPointerException exc){ return 0.0; } } public static double mediaGeometrica (int v[]) { double producto =1.0; for (int i=0; i<v.length; i++) { producto*=v[i]; } return Math.sqrt(producto); } public static float mediaArmonica (int v[]) { float producto =0; for (int j=0; j<v.length; j++) { producto=(float) ((1.0)*(producto + (1/v[j]))); } producto=v.length/producto; return producto; }

37 | P g i n a

PANTALLAS MOSTRAR RESULTADOS Aceptarventana4a.XML


<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" > <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" > <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media" android:textSize="18sp" /> <TextView android:id="@+id/mediar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Moda" android:textSize="18sp" />

38 | P g i n a

<TextView android:id="@+id/modar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Mediana" android:textSize="18sp" /> <TextView android:id="@+id/medianar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media Armnica" android:textSize="18sp" /> <TextView android:id="@+id/mediaar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow>

39 | P g i n a

<TableRow android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media Geomtrica" android:textSize="18sp" /> <TextView android:id="@+id/mediagr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow6" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Varianza muestral" android:textSize="18sp" /> <TextView android:id="@+id/varmr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow7" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Varianza Insesgada" android:textSize="18sp" /> 40 | P g i n a

<TextView android:id="@+id/varinr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow8" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Desviacin estandar" android:textSize="18sp" /> <TextView android:id="@+id/desver" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow9" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Desviacin media" android:textSize="18sp" /> <TextView android:id="@+id/desvmr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow>

41 | P g i n a

<TableRow android:id="@+id/tableRow10" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Rango" android:textSize="18sp" /> <TextView android:id="@+id/ranr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow11" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Coef. de variacin" android:textSize="18sp" /> <TextView android:id="@+id/cofvar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> </TableLayout> <Button android:id="@+id/button7" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:onClick="menu" android:text="Men principal" /> </LinearLayout> 42 | P g i n a

AceptarV4.java
package android.estadistica; import import import import import import import android.app.Activity; android.content.Intent; android.os.Bundle; android.view.View; android.widget.Button; android.widget.EditText; android.widget.TextView;

public class AceptarVa4 extends Activity { private TextView mediar,modar,medianar,mediaar,mediagr,varmr,varinr,desver,desvmr,ranr,cofvar; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aceptarventana4a); mediar=(TextView)findViewById(R.id.mediar); modar=(TextView)findViewById(R.id.modar); medianar=(TextView)findViewById(R.id.medianar); mediaar=(TextView)findViewById(R.id.mediaar); mediagr=(TextView)findViewById(R.id.mediagr); varmr=(TextView)findViewById(R.id.varmr); varinr=(TextView)findViewById(R.id.varinr); desver=(TextView)findViewById(R.id.desver); desvmr=(TextView)findViewById(R.id.desvmr); ranr=(TextView)findViewById(R.id.ranr); cofvar=(TextView)findViewById(R.id.cofvar); Bundle bundle=getIntent().getExtras(); mediar.setText(""+bundle.getFloat("med")); modar.setText(""+bundle.getFloat("modaf")); medianar.setText(""+bundle.getFloat("mediana")); mediaar.setText(""+bundle.getFloat("medar")); mediagr.setText(""+bundle.getFloat("medge")); varmr.setText(""+bundle.getFloat("varmu")); varinr.setText(""+bundle.getFloat("varin")); desver.setText(""+bundle.getFloat("desves")); desvmr.setText(""+bundle.getFloat("desvmu")); ranr.setText(""+bundle.getFloat("ran")); cofvar.setText(""+bundle.getFloat("coefv")); } public void menu(View view) {

43 | P g i n a

try { Intent i = new Intent(this, EstadisticaActivity.class ); startActivity(i); } catch(Exception e) { } } }

aceptarventana4b.XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" <TextView android:id="@+id/tv50" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:text="Resultados del conjunto x " android:textAppearance="?android:attr/textAppearanceLarge" /> <TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" > <TextView android:id="@+id/tv4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media" android:textSize="18sp" /> <TextView android:id="@+id/mediar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> 44 | P g i n a

<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Moda" android:textSize="18sp" /> <TextView android:id="@+id/modar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow3" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Mediana" android:textSize="18sp" /> <TextView android:id="@+id/medianar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow4" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media Armnica" android:textSize="18sp" /> 45 | P g i n a

<TextView android:id="@+id/mediaar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow5" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv8" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Media Geomtrica" android:textSize="18sp" /> <TextView android:id="@+id/mediagr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow6" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv9" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Varianza muestral" android:textSize="18sp" /> <TextView android:id="@+id/varmr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow>

46 | P g i n a

<TableRow android:id="@+id/tableRow7" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv10" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Varianza Insesgada" android:textSize="18sp" /> <TextView android:id="@+id/varinr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow8" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv11" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Desviacin estandar" android:textSize="18sp" /> <TextView android:id="@+id/desver" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow9" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv12" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Desviacin media" android:textSize="18sp" /> 47 | P g i n a

<TextView android:id="@+id/desvmr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow10" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv13" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Rango" android:textSize="18sp" /> <TextView android:id="@+id/ranr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow11" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv14" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Coef. de variacin" android:textSize="18sp" /> <TextView android:id="@+id/cofvar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="20dp" android:layout_marginTop="10dp" android:text="TextView" /> </TableRow> </TableLayout> 48 | P g i n a

<Button android:id="@+id/button1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:onClick="siguiente" android:text="Siguiente" /> </LinearLayout>

AceptarVb4.java
package android.estadistica; import import import import import android.app.Activity; android.content.Intent; android.os.Bundle; android.view.View; android.widget.TextView;

public class AceptarVb4 extends Activity{ private TextView tv50,mediar,modar,medianar,mediaar,mediagr,varmr,varinr,desver,desvmr,ranr,cofvar; int t,des; float sol2[] = new float[11],cov,corr;

/** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.aceptarventana4b); Bundle bundle=getIntent().getExtras(); des = bundle.getInt("des"); cov= bundle.getFloat("cov"); corr= bundle.getFloat("corr"); tv50=(TextView)findViewById(R.id.tv50); mediar=(TextView)findViewById(R.id.mediar); modar=(TextView)findViewById(R.id.modar); medianar=(TextView)findViewById(R.id.medianar); mediaar=(TextView)findViewById(R.id.mediaar); mediagr=(TextView)findViewById(R.id.mediagr); varmr=(TextView)findViewById(R.id.varmr); varinr=(TextView)findViewById(R.id.varinr); desver=(TextView)findViewById(R.id.desver); desvmr=(TextView)findViewById(R.id.desvmr); ranr=(TextView)findViewById(R.id.ranr); cofvar=(TextView)findViewById(R.id.cofvar); if(des==1) 49 | P g i n a

mediar.setText(""+bundle.getFloat("medx")); modar.setText(""+bundle.getFloat("modafx")); medianar.setText(""+bundle.getFloat("medianax")); mediaar.setText(""+bundle.getFloat("medarx")); mediagr.setText(""+bundle.getFloat("medgex")); varmr.setText(""+bundle.getFloat("varmux")); varinr.setText(""+bundle.getFloat("varinx")); desver.setText(""+bundle.getFloat("desvesx")); desvmr.setText(""+bundle.getFloat("desvmux")); ranr.setText(""+bundle.getFloat("ranx")); cofvar.setText(""+bundle.getFloat("coefvx")); sol2[0]=bundle.getFloat("medy"); sol2[1]=bundle.getFloat("modafy"); sol2[2]=bundle.getFloat("medianay"); sol2[3]=bundle.getFloat("medary"); sol2[4]=bundle.getFloat("medgey"); sol2[5]=bundle.getFloat("varmuy"); sol2[6]=bundle.getFloat("variny"); sol2[7]=bundle.getFloat("desvesy"); sol2[8]=bundle.getFloat("desvmuy"); sol2[9]=bundle.getFloat("rany"); sol2[10]=bundle.getFloat("coefvy");

} } public void siguiente(View view) { try { if(des==1) { des=2; tv50.setText("Resultados del conjunto y "); mediar.setText(""+sol2[0]); modar.setText(""+sol2[1]); medianar.setText(""+sol2[2]); mediaar.setText(""+sol2[3]); mediagr.setText(""+sol2[4]); varmr.setText(""+sol2[5]); varinr.setText(""+sol2[6]); desver.setText(""+sol2[7]); desvmr.setText(""+sol2[8]); ranr.setText(""+sol2[9]); cofvar.setText(""+sol2[10]); }else if(des==2) { Intent i = new Intent(this, SigVxy.class ); i.putExtra("cov", cov); 50 | P g i n a

i.putExtra("corr", corr);

startActivity(i); } } catch(Exception e) { System.out.println(e); } } }

sigventanaXY.XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="60dp" android:gravity="center" android:text="Covarianza y correlacin del conjunto x , y" android:textAppearance="?android:attr/textAppearanceLarge" /> <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content" >

<TableRow android:id="@+id/tableRow1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="10dp" > <TextView android:id="@+id/tv16" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:text="Correlacin" android:textSize="18sp" />

51 | P g i n a

<TextView android:id="@+id/corr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dp" android:layout_marginTop="30dp" android:text="TextView" /> </TableRow> <TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" > <TextView android:id="@+id/tv15" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:text="Covarianza" android:textSize="18sp" />

<TextView android:id="@+id/covr" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="40dp" android:layout_marginTop="30dp" android:text="TextView" /> </TableRow> </TableLayout> <Button android:id="@+id/button9" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="30dp" android:onClick="menu" android:text="Men Principal" /> </LinearLayout>

52 | P g i n a

SigVxy.Java
package android.estadistica; import import import import import android.app.Activity; android.content.Intent; android.os.Bundle; android.view.View; android.widget.TextView;

public class SigVxy extends Activity { private TextView covr,corr; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState); setContentView(R.layout.sigventanaxy); covr=(TextView)findViewById(R.id.covr); corr=(TextView)findViewById(R.id.corr); Bundle bundle=getIntent().getExtras(); covr.setText(""+bundle.getFloat("cov")); corr.setText(""+bundle.getFloat("corr")); } public void menu(View view) { try { Intent i = new Intent(this, EstadisticaActivity.class ); startActivity(i); } catch(Exception e) { } } }

53 | P g i n a

PRUEBAS Y AJUSTES
Finalizada nuestra aplicacin as es como luce desde la perspectiva de un Emulador y que posteriormente ser en un celular.

54 | P g i n a

Pantalla principal

Agregamos una imagen en el diseo del men, la cual en un principio no se haba incorporado.

55 | P g i n a

Pedir nmero de datos para un solo conjunto

Esta pantalla se mostrar si el usuario seleccion la opcin 1 del Men anterior y en base al numero que ingrese se determinar el espacio en el arreglo para realizar las operaciones pertinentes. Si el usuario desea agregar un dato de signo negativo, smbolo o letra , la aplicacin no lo permitir, no lo aceptar.

56 | P g i n a

Pedir datos del conjunto

El usuario introducir los valores del conjunto a evaluar.

57 | P g i n a

Clculo de datos estadsticos

Esta pantalla fue agregada para mostrarle al usuario los datos que ingres con xito.

58 | P g i n a

Desplegar resultados para el conjunto

Finalmente muestra al usuario el resultado del conjunto de valores que ingres.

59 | P g i n a

Pantalla principal (2 conjuntos)

60 | P g i n a

Pedir el numero de datos que contendr cada conjunto (X,Y)

61 | P g i n a

Pedir datos del conjunto X

62 | P g i n a

Pedir datos del conjunto Y

63 | P g i n a

Desplegar resultados para el conjunto X

64 | P g i n a

Desplegar resultados para el conjunto Y

65 | P g i n a

Desplegar resultados conjuntos de X,Y

66 | P g i n a

OBSERVACIONES
La herramienta Eclipse y Android 2.3.3 son muy accesibles para cuando uno es principiante sin embargo nos dimos cuenta que si no se siguen las instrucciones adecuadamente, puede producir error. La instalacin de Android 2.3.3 es un poco tardada y abarca bastante memoria en Disco Duro. Durante el diseo de nuestra aplicacin encontramos : o Hay variedad de atributos con las que nuestra aplicacin puede contar. o No solo podemos cambiar o agregar atributos en la codificacin si no tambin de forma grafica y esto nos ayuda a distribuirlos a nuestra disposicin. o Para modificar algn atributo tenemos que accesar al cdigo ya que de forma grafica puede ser menos fcil. o Para mover de posicin algn atributo ( button,radiobutton,textview etc) de manera que queramos no es muy fcil y tenemos que ingeniarnos de que manera colocarlo. En la programacin observamos : o Al momento de llevar a cabo la programacin, se nota que el entorno Android est basado en Java, toda la potencia de java puede ser usada en el desarrollo de estas aplicaciones. o Hacer pruebas muy seguido podra resultar tedioso debido al tiempo de carga del emulador, as que es ms recomendable, a nuestra experiencia, hacer cambios significativos en cada iteracin. o Llevar a cabo cambios en el diseo despus de comenzar con la programacin, resulta difcil ya que es complicado obtener el resultado deseado, debido a que se involucran mucho los Layouts y su manejo resulta algo difcil cuando no se tiene experiencia, como en este caso. Es preciso apoyarse de libros o tutoriales cuando se tiene un primer y hasta segundo contacto con el desarrollo de aplicaciones para Android, ya que el configurar las herramientas y nuevas clases (java y XML) no es muy intuitivo, pero es de suma importancia para el funcionamiento de la aplicacin.
67 | P g i n a

CONCLUSIONES
Las experiencias obtenidas en el anlisis, diseo, desarrollo e implementacin de la aplicacin, son de las ms enriquecedoras en toda nuestra vida estudiantil. Las razones por las que afirmamos esto son simples, Android es hoy por hoy, un sistema operativo de primera calidad, principal competidor de iOS, y el cul crece a pasos agigantados, ya en ocasiones colocando se por encima del principal proveedor, Apple. Las tecnologas usadas hoy en da en smartphones y tablets sin duda es Android, el futuro con el que cuenta es mucho, sin duda crecer, y se espera a un ritmo mayor del actual. Todos estos datos, nos permiten darnos cuenta de lo importante que es aprender a programar en este lenguaje, sin duda ser un requisito y una parte que exalte nuestro curriculum y sobre todo que nos posicionar por encima del promedio. Estamos consientes que an somos novatos dentro de este lenguaje, pero lo que nos motiva y alienta a seguir son los beneficios obtenidos por exprimir una plataforma tan rica en oportunidades y que nos permita echar a volar la imaginacin y hacer, incluso, nuestras propias aplicaciones. Sin duda el empezar a usar Android y estar aprendiendo del mismo, nos abre muchas puertas que aprovecharemos en un futuro.

BIBLIOGRAFIA
http://www.fca.unam.mx/docs/apuntes_matematicas/34.%20Estadistica%20Descriptiva.pdf http://www.tuveras.com/estadistica/estadistica02.htm http://developer.android.com/index.html http://www.iconshock.com/android-icons/?prd=affcomm63789 http://www.edu4java.com/

68 | P g i n a

Você também pode gostar