You are on page 1of 15

UNIVERSIDAD DEL VALLE

ESCUELA DE INGENIERIA
ALGORITMIA Y PROGRAMACION

LABORATORIO N 5

PRESENTADO POR:
MICHELLE SADAY CENTENO OBREGON
CODIGO: 1426243
JUAN CARLOS GALLEGO PADILLA
CODIGO: 1427873
DIANA MARISOL MAYA MAYA
CODIGO: 1426841

GRUPO N 10

PROFESOR:
NUBIA RUTH ANGULO

25 DE NOVIEMBRE DEL 2014


CALI-VALLE

TABLA DE CONTENIDO

1. DESARROLLO DEL LABORATORIO........................................................................


1.1. PROGRAMA CRUCIGRAMA HORIZONTAL......................................
1.1.1. ANALISIS DEL PROBLEMA..............................................................................
1.1.2. ALGORITMO EN PSEUDOCODIGO..................................................................
1.1.3. PRUEBA DE ESCRITORIO................................................................................
1.1.4. ANEXOS........................................................................................................

1. DESARROLLO DEL LABORATORIO

1.1. PROGRAMA CRUCIGRAMA HORIZONTAL


La seccin de Juegos de una empresa de desarrollo de software ha decidido crear un crucigrama
horizontal en Java, un crucigrama horizontal slo contiene palabras que deben completarse en
sentido horizontal, el software debe cumplir las siguientes condiciones:

Todas las palabras correctas que componen el crucigrama deben quedar asignadas en un
arreglo unidimensional de tamao 5.
Las palabras que el usuario registre deben quedar almacenadas en un arreglo
bidimensional de 5 x 5.
El software debe presentar una interfaz grfica (GUI) para que el usuario complete el
crucigrama. El crucigrama de inicio mostrado en la GUI debe iniciar mximo con dos letras,
aleatorias, de cada palabra, las dems letras las debe completar el usuario.
Las palabras guardadas en el arreglo unidimensional se usan para obtener el puntaje
logrado por el usuario, es decir, se usan para comparar si lo que escribi el usuario
corresponde a las palabras correctas del crucigrama (las almacenadas en el arreglo del
tem.
El puntaje obtenido por el usuario depende de cuantas palabras acert.

1.1.1. ANALISIS DEL PROBLEMA


Es una aplicacin con interfaz grfica, nos piden que el usuario tenga la opcin de resolver un
crucigrama horizontal.
Usaremos arreglo unidimensional para guardar las palabras correspondientes a las del crucigrama
(DEDOS, BAILE, FLUYE, MIRAR y CORRE).
Arreglos bidimensionales para crear la matriz y poder almacenar las letras que corresponde a las
palabras dadas para el crucigrama.

1.1.2. ALGORITMO EN PSEUDOCODIGO


INICIO

cadena crucigrama={ {"D","E","D","O","S"}, {"B","A","Y","L","E"}, {"F","L","U","Y","E"},


{"M","I","R","A","R"}, {"C","O","R","R","E"} };
cadena arreglo_crucigrama={"DEDOS","BAYLE","FLUYE","MIRAR","CORRE"};
cadena matriz_a= nueva cadena[5][5];
cadena arreglo= nueva cadena[5];
cadena salida="********** Palabras Reales ********** \n";
entero aleatorio= nuevo entero [5][2];

// definir un ciclo para el orden oleatorio de las palabras

entero aleatorio1;
entero aleatorio2;

para (desde int i=0; hasta i<5; incrementar i++){


hacer{
aleatorio1 =(entero) redondear(Math.random() * 4) ;
aleatorio2 =(entero) redondear(Math.random() * 4) ;
}mientras (aleatorio1 = aleatorio2);

aleatorio[i][0]=aleatorio1;
aleatorio[i][1]=aleatorio2;

}
// fin aleatorios

// asignacion de letras aleatorias a la GUI

si (aleatorio[0][0]==0 o aleatorio[0][1]==0) { d.setText("C");}


si (aleatorio[0][0]==1 o aleatorio[0][1]==1) { e.setText("A");}
si (aleatorio[0][0]==2 o aleatorio[0][1]==2) { dd.setText("R");}
si (aleatorio[0][0]==3 o aleatorio[0][1]==3) { o.setText("R");}
si (aleatorio[0][0]==4 o aleatorio[0][1]==4) { s.setText("O");}

si (aleatorio[1][0]==0 o aleatorio[1][1]==0) { b.setText("A");}


si (aleatorio[1][0]==1 o aleatorio[1][1]==1) { a.setText("R");}
si (aleatorio[1][0]==2 o aleatorio[1][1]==2) { i.setText("B");}
si (aleatorio[1][0]==3 o aleatorio[1][1]==3) { l.setText("O");}
si (aleatorio[1][0]==4 o aleatorio[1][1]==4) { ee.setText("L");}

si (aleatorio[2][0]==0 o aleatorio[2][1]==0) { f.setText("A");}


si (aleatorio[2][0]==1 o aleatorio[2][1]==1) { ll.setText("B");}
si (aleatorio[2][0]==2 o aleatorio[2][1]==2) { u.setText("E");}
si (aleatorio[2][0]==3 o aleatorio[2][1]==3) { y.setText("J");}
si (aleatorio[2][0]==4 o aleatorio[2][1]==4) { eee.setText("A");}

si (aleatorio[3][0]==0 o aleatorio[3][1]==0) { m.setText("B");}


si (aleatorio[3][0]==1 o aleatorio[3][1]==1) { ii.setText("U");}
si (aleatorio[3][0]==2 o aleatorio[3][1]==2) { r.setText("C");}
si (aleatorio[3][0]==3 o aleatorio[3][1]==3) { aa.setText("L");}
si (aleatorio[3][0]==4 o aleatorio[3][1]==4) { rr.setText("E");}

si (aleatorio[4][0]==0 o aleatorio[4][1]==0) { c.setText("C");}


si (aleatorio[4][0]==1 o aleatorio[4][1]==1) { oo.setText("I");}
si (aleatorio[4][0]==2 o aleatorio[4][1]==2) { rrr.setText("C");}
si (aleatorio[4][0]==3 o aleatorio[4][1]==3) { rrrr.setText("L");}
si (aleatorio[4][0]==4 o aleatorio[4][1]==4) { eeee.setText("O");}

// fin

// toma de datos de la GUI

matriz_a[0][0]=d.obtener();
matriz_a[0][1]=e. obtener ();
matriz_a[0][2]=dd. obtener ();
matriz_a[0][3]=o. obtener ();
matriz_a[0][4]=s. obtener ();

matriz_a[1][0]=b. obtener ();


matriz_a[1][1]=a. obtener ();
matriz_a[1][2]=i. obtener ();
matriz_a[1][3]=l. obtener ();
matriz_a[1][4]=ee. obtener ();

matriz_a[2][0]=f. obtener ();


matriz_a[2][1]=ll. obtener ();
matriz_a[2][2]=u. obtener ();
matriz_a[2][3]=y. obtener ();
matriz_a[2][4]=eee. obtener ();

matriz_a[3][0]=m. obtener ();


matriz_a[3][1]=ii. obtener ();
matriz_a[3][2]=r. obtener ();
matriz_a[3][3]=aa. obtener ();
matriz_a[3][4]=rr. obtener ();

matriz_a[4][0]=c. obtener ();


matriz_a[4][1]=oo. obtener ();
matriz_a[4][2]=rrr. obtener ();
matriz_a[4][3]=rrrr. obtener ();
matriz_a[4][4]=eeee. obtener ();

// FIN

// Pasar de minusculas a mayusculas

para (desde i=0; hasta i<5; incrementar i++){


para (desde j=0; hasta j<5; incrementar j++){
matriz_a[i][j]=matriz_a[i][j].pasarminuscula();
}
}

// fin

// pasar matriz a arreglo

Para (desde i=0; hasta i<5; incrementar i++){


arreglo[i]=matriz_a[i][0]+matriz_a[i][1]+matriz_a[i][2]+matriz_a[i][3]+matriz_a[i][4];
}

// fin arreglo

// salida grafica primera parte


Para (desde i=0; hasta i<5; incrementar i++){
salida=salida+arreglo_crucigrama[i] + "\n";
}
// fin

// comparar los crucigramas


Entero puntaje=0;
salida=salida+"********** Palabras Acertadas ********** \n";
para (desde i=0; hasta i<5;incrementar i++){

si (arreglo[i]es igual (arreglo_crucigrama[i])){

puntaje=puntaje +20;
salida=salida+ arreglo[i] + "\n";
}
}
// fin
salida=salida+"********** Puntaje Obtenido ********** \n "+puntaje+"%";

// salida=salida + arreglo[i]+"\n";
Resultados.setText(salida);
}

1.1.3 PRUEBA DE ESCRITORIO

Palabras Reales
CARRO
ARBOL
ABEJA
BUCLE

BUCLE

Puntaje Obtenido

CICLO
Palabras Acertadas
CARRO
ARBOL
ABEJA
CICLO
100%

1.1.4 ANEXOS

You might also like