Sie sind auf Seite 1von 13

CUESTIONARIO GUA

COLECCIONES, LISTAS, VECTORES Y ARBOLES

Parte I. Relacione correctamente ambas columnas. Cada pregunta tiene slo una respuesta, por tanto sobran respuestas, en caso de repetir un nmero aunque una de las respuestas sea la correcta se considerar errneo. 1. Objeto que es capaz de comparar dos objetos diferentes 2. Objeto que es capaz de comparar a si mismo con otro objeto 3. Este tipo de coleccin es til para implementar pilas y colas 4. Clases que implementan colecciones que slo aceptan un objeto de cada tipo 5. Clases que implementan colecciones que asocian claves con valores y no pueden tener claves duplicadas _____ ArrayList, LinkedList _____ Comparable _____ TreeSet, HashSet _____ Map _____ LinkedList _____ TreeMap, HashMap _____ Set _____ Comparat

Parte II. Indique si es falso o verdadero y justifique su respuesta 1. 2. 3. 4. 5. La clase Set es una coleccin de propsito general Un objeto Set puede tener valores duplicados Un objeto Map puede contener claves duplicadas Los objetos Iterator pueden eliminar elementos La diferencia entre TreeMap y TreeSet slo es la ___________ ___________ ___________ ___________ ___________

velocidad de acceso a los elementos de la coleccin

INTERFACES GRAFICAS
Parte I. Relacione correctamente ambas columnas. Cada pregunta tiene slo una respuesta, por tanto sobran respuestas, en caso de repetir un nmero aunque una de las respuestas sea la correcta se considerar errneo.

1.

Palabra clave para indicar que una

clase desciende de otra 2. Modificador de acceso que restringe el _____ implements _____ super _____ extends _____ private _____ final _____ abstracta _____ protected _____interface

acceso a los miembros de la clase y a las subclases 3. Clase en la que al menos uno de sus

mtodos est declarado pero no est definido 4. Palabra clave usada para indicar que

una clase implementa una interfaz 5. Modificador de acceso que restringe el

acceso a los miembros de la clase

Parte II. Indique si es falso o verdadero y justifique su respuesta 1. 2. 3. 4. 5. Una interfaz puede implementar otra interfaz Una clase puede implementar varias interfaces Una interfaz puede heredar de otra interfaz Una interfaz puede heredar de una clase Las interfaces tienen constructores ___________ ___________ ___________ ___________ ___________

Parte III. Crear dos interfaces, cada una con dos mtodos. Crear una tercera interfaz que herede de las dos anteriores y tenga un mtodo adicional. Crear una clase que implemente la tercera interfaz y que adems extienda de una clase ya definida. Los nombres de las interfaces, clases y de los mtodos son propuestos por ustedes (30pts). Diagrama de clases (10pts).

Parte IV. Responde correctamente las siguientes preguntas: 1. Define que es un servicio Web. 2. Describe que es un diagrama de clase 3. Explica cmo funciona la interface SOAP (Simple Object Access Protocol) 4. Describe un documento WSDL (Web Service Description Language) 5. Define que es una interfaz abstracta 6. Explica que es SOA (Service Oriented Architecture) 7. Cules son las principales caractersticas de un servicio Web 8. Define los sistemas de agentes. 9. Explica y dibuja un esquema cliente servidor 10. Define los lenguajes usados en servicios web de Internet

EJERCICIO FINAL 1
Se desea disear un juego de rol llamado "La Batalla de las Almas", el juego est formado por una clase principal denominada "Batalla.java" donde se crean los diferentes participantes del juego y se produce el desarrollo del mismo. El principal objetivo del juego consiste en disputarse el alma de un conjunto de seres Humanos, por lo tanto existirn diferentes elementos (ngeles y Demonios) que podrn combatir para tratar de "salvar" o "condenar" cada una de las almas puestas en juego. Los diferentes atributos y funciones bsicas de cada uno de los elementos que pueden aparecer en el juego se aprecian en la figura 1. a) Disear el diagrama de clases que permite representar a todos los elementos involucrados en el juego, indicar las diferentes caractersticas de estas clases (abstract, interfarce....etc). Incluir en el diseo la clase Batalla y su relacin con las anteriores. b) Implementar los constructores de ngeles Demonios y Humanos, teniendo en cuenta que en el constructor deben generarse aleatoriamente el valor de sus atributos (en el rango indicado). c) Implementar el mtodo de rezar para ngeles, Demonios y Humanos (en los primeros dos casos, simplemente se muestra que el ser habla o no habla con Dios). En el caso de un ser humano, reza si su fe es superior a 50 puntos o su bondad supera los 60. d) Implementar el mtodo de lucha para ngeles y Demonios. nicamente consistir en generar aleatoriamente un valor entre 0 y 5 que determinar cul de sus habilidades se aplicar sobre el humano. e) Implementar los mtodos de combate de ngeles y Demonios (engaar, guiar, proteger, tentar, seducir, probar) someten a cada humano a una prueba, pudiendo ste pasarla o no, para ello, se calcula el resultado de someterle a cada una de esas pruebas en funcin de las caractersticas que definen a cada humano, en la figura 2 aparecen las relaciones matemticas entre las caractersticas del humano y cmo le afectan cada una de las pruebas. f) Implementar los mtodos void conflictomoral (ngeles a, Demonios d); y double golpear (Incorporeo s, int Habilidad); El primer mtodo selecciona una de las habilidades del ngel o del demonio mediante el mtodo luchar(), una vez hecho esto llama al mtodo golpear para el ngel y para el demonio, gana el que mayor puntuacin obtenga. Si gana el ngel, la bondad del humano aumenta y su maldad disminuye. Si gana el demonio la bondad del humano disminuye y aumenta su maldad. El mtodo golpear selecciona la habilidad que corresponde al mtodo luchar (0=engaar, 1=guiar,....5=proteger). Cuando es aplicada la habilidad correspondiente, el humano tratar de rezar, si reza su fe aumenta en un punto, en caso contrario disminuye en la misma cantidad. g) Implementar el mtodo main() de la clase Batalla.java, donde se debe leer como argumentos, el nmero de Humanos, el nmero de ngeles, el nmero de Demonios y finalmente el nmero de turnos. Ejemplo: java Batalla 100 5 5 30 En este mtodo se construirn los diferentes elementos, as como un objeto de tipo DiosCristiano, y se implementar la estructura que permita ejecutar los diferentes turnos. Donde un ngel y un demonio son seleccionados aleatoriamente entre todos los posibles, y someten a cada hombre (en cada turno) a un conflicto moral, que har que su bondad o maldad aumente o disminuya (en funcin de si gana el ngel o el demonio). ver figura 3.

EJERCICIO FINAL 2

El Reversi, que con alguna variante se llama Otelo, es un juego que se desarrolla entre dos jugadores sobre un tablero dividido en 64 escaques. Para esta prctica supondremos que se admiten tambin tableros de dimensiones cualesquiera mn (m, n>1). Cada jugador dispone de 64 fichas con dos caras, cada una del color asociado a cada jugador. Llegado el turno de un jugador, ste coloca una de sus fichas sobre una casilla libre del tablero, de manera que se vea la cara del color con el que juega. A continuacin, da la vuelta a todas las fichas del contrario que hayan quedado encerradas entre la que acaba de poner y otra suya, ya sea horizontal, vertical, diagonal y/o contradiagonalmente. Una vez hecho esto, pasa el turno al jugador contrario, quien acta de la misma manera. Si, llegado el turno de un jugador, este no es capaz de volver ninguna ficha, sea cual fuere el sitio donde pusiera la nueva suya, pasa su turno y juega el contrario. El juego continua hasta que no hay ms casillas libres, o hasta que uno de los jugadores se queda sin fichas de su color sobre el tablero. En el primer caso gana el que tenga ms fichas de su color colocadas. En el segundo, pierde el que se qued sin fichas de su color sobre el tablero. La disposicin inicial del juego es la siguiente:

Supongamos que en un momento de la partida la situacin es la siguiente:

Entonces Juan puede colocar una ficha en la posicin (4,2) del tablero y se pasar a la situacin siguiente:

APARTADO 1: Dos jugadores El proyecto que realices, al menos, debe cumplir los siguientes requisitos: 1. La ejecucin comienza solicitando el nmero de filas y columnas que tendr el tablero, as como el nombre de los dos jugadores que van a participar.

2. Antes del inicio de una partida, se muestra el tablero con todas sus casillas vacas y un botn de inicio de partida, como elementos ms relevantes. Al seleccionar el botn Inicio de partida, la ejecucin nos pregunta qu jugador empieza, pasando a mostrar entonces el color y el nombre del jugador que tiene el turno, as como el nmero de fichas que tiene cada jugador sobre el tablero. 3. Cada vez que un jugador sita una ficha en el tablero, se realizan los cambios de color de las fichas que as lo necesiten, y se actualizan los totales de fichas de cada jugador. 4. Cuando un jugador sita una ficha con la que no consigue volver el color de ninguna otra, la ejecucin no activa el cambio de color del botn pulsado y queda a la espera de que se site una ficha en una posicin permitida. 5. Cuando un jugador pasa, selecciona el botn de cambio de turno. 6. Finalizar adecuadamente la partida, mostrando el jugador que ha ganado. Nota: El cambio de turno se realiza automticamente cuando a un jugador le corresponda pasar. APARTADO 2: Jugador contra el ordenador con rbol de juego explcito. El desarrollo del juego es igual que el que programaste en el apartado 1. Jugador y Ordenador se alternan en el mismo, pasando cualquiera de ellos de turno, si ha lugar, hasta que la partida termina porque uno de ellos gana o ambos empatan. Debes programar la forma en que juega el ordenador en dos versiones, que corresponden a los apartados 2 y 3, respectivamente. En esta primera, la jugada del ordenador se determina generando todo el rbol de juego hasta un cierto nivel, que depender de la memoria de que se dispone. Ms concretamente, para esta primera versin debers construir las siguientes clases: NodoJuego que es la clase de los nodos de los rboles de juego. Cada nodo tiene los siguientes atributos: o Object situacin, que contiene el tablero del juego en ese nodo. o boolean jugador, que indica a qu jugador le toca jugar. o int jugadorGanador; que da el valor del tablero de ese nodo. o NodoJuego otroJugador, otraJugada, que son punteros a los hijos izquierdo y derecho, respectivamente, del nodo. JuegoReversi es la clase que contiene los mtodos relacionados con la construccin del rbol de juego as como los que permiten al ordenador moverse por el rbol para decidir la jugada que va a hacer. Entre otros, esta clase contiene los siguientes mtodos: o public NodoJuego generaArbol(), para construir el rbol de juego o protected NodoJuego buscaP(NodoJuego nodo, int p), que busca el primer nodo con valor p en el atributo jugadorGanador

EJERCICIO FINAL 3 Juegan dos adversarios. Cada uno dispone de un tablero de NN casillas en el que coloca sus barcos. Cada barco ocupa un determinado nmero de casillas y puede situarse horizontal o verticalmente. En cada ronda un jugador dispara a una posicin del tablero de su adversario intentando acertar a uno de los barcos de este. Si el disparo falla el adversario contesta AGUA; si el disparo da en una casilla ocupada por un barco, este puede quedar HUNDIDO (si todas sus casillas han sido disparadas) o TOCADO (si an le quedan casillas sin acertar). Cada jugador dispone de un segundo tablero en el que anota los resultados de los disparos que ha realizado. Gana el jugador que hunde primero todos los barcos del adversario. Escribe una aplicacin en Java que: 1. 2. 3. 4. Solicite el tamao N de los tableros. Solicite la configuracin de barcos (cantidad de barcos y sus tamaos). Solicite el modo de juego: 1) dos jugadores o 2) un jugador contra el ordenador. Los barcos pueden estar en cualquier posicin, siempre que no se superpongan (en el juego original no pueden tocarse). 5. El computador no tiene por qu seguir ninguna estrategia particular para realizar los disparos: puede realizar disparos aleatorios probando cualquier casilla que no haya probado previamente. Tanto el computador como el usuario disponen de: 1. Una tabla en la que anotan la posicin de los barcos. 2. Una flota que indica el estado de los barcos Estas estructuras facilitarn la comprobacin de los disparos y la presentacin del resultado final del juego. La inicializacin del tablero del computador se realiza generando aleatoriamente las coordenadas de una casilla y despus la direccin (derecha, izquierda, arriba o abajo) en la que se colocar el barco. Debe comprobarse que no se sale del tablero y que no se superpone con otro. Si se diera alguno de estos casos se generaran nuevos datos. Se pide al usuario la colocacin de sus barcos teniendo en cuenta la configuracin seleccionada. Otras consideraciones: 1. Mejorar la estrategia de disparo del ordenador. 2. Ofrecer la opcin de que los barcos no puedan tocarse ni situarse en los lmites del tablero (teniendo esto en cuenta en la estrategia de disparo del ordenador). 3. Ofrecer la opcin de colocar los barcos en diagonal.

CRITERIOS DE ENTREGA: 1. CUESTIONARIOS SE ENTREGAN DE FORMA INDIVIDUAL A MANO EN SU LIBRETA EL DIA 12/ABRIL/2012. 2. EJERCICIO ENCOMENDADO (TRABAJO POR EQUIPO DE 4 PERSONAS), ENTREGA EL DIA 23/ABRIL/2012. a. ENGARGOLADO b. CARATULA i. NOMBRES DE LOS INTEGRANTES ii. MATRICULAS iii. MATERIA iv. NOMBRE DEL PROFESOR v. FECHA DE ENTREGA vi. NOMBRE DE LA APLICACIN c. LISTA DE COTEJO PARA LA EVALUACIN DE LA APLICACIN. d. DESCRIPCIN DEL PROBLEMA A RESOLVER e. OBJETIVO GENERAL f. MARCO TERICO i. BREVE DESCRIPCIN DE LOS TEMAS OCUPADOS COMO BASE PARA LA REALIZACIN DE LA APLICACIN, ENFATIZANDO AQUELLOS CONSULTADOS PARA SU REALIZACIN. g. DIAGRAMA DE CLASES h. DIAGRAMA DE FLUJO DE DATOS DE CADA UNA DE LAS CLASES Y MTODOS DE LA APLICACIN i. DOCUMENTACIN DE USUARIO: EXPLICACIN GENRICA DE CMO OPERAR ADECUADAMENTE LA APLICACIN. j. MANEJO DE EXCEPCIONES, HILOS DE PROCESAMIENTO, ESTRUCTURAS DE DATOS LINEALES, INTERFACES GRAFICAS DE USUARIO. k. CD, CON CDIGO DOCUMENTADO POR APARTADO (UTILICE COMENTARIOS) l. CONCLUSIONES POR INTEGRANTE DE EQUIPO EN RELACIN A LAS VENTAJAS Y DESVENTAJAS ENCONTRADAS EN LA REALIZACIN DE LA PRACTICA. m. BIBLIOGRAFA CONSULTADA (UTILICE REFERENCIAS TIPO APA)

LISTA DE COTEJO REPORTE DE PRCTICA DE USO DE INTERFACES GRFICAS

DATOS GENERALES DEL PROCESO DE EVALUACIN


Nombre(s) del alumno(s): Matrcula: Firma del alumno(s): Periodo cuatrimestral: 2012-01

Asignatura: PROGRAMACIN ORIENTADA A Fecha: 23/04/2012 OBJETOS Nombre del docente: PREZ CASTILLO PREZ BIBIANA

Firma del docente:

INSTRUCCIONES
Revisar los documentos o actividades que se solicitan y marque en los apartados SI cuando la evidencia a evaluar se cumple; en caso contrario marque NO. En la columna OBSERVACIONES realice comentarios referentes a lo observado. Valor reactivo del

CUMPLE Caracterstica a cumplir (Reactivo) SI


Introduccin. Expresa brevemente el contenido funcional de la prctica, incluyendo el problema a resolver y los conceptos de POO utilizados en el diseo de la solucin. Diseo. Incluye un diagrama donde se muestre el diseo de las diferentes ventanas a emplear en la interfaz de usuario. Se us un software de maquetado para la elaboracin del diseo. Cdigo. Anexa un disco y/o acuse de recibo de archivos va correo con los programas que integran la prctica, mismos que cumplen con los requerimientos establecidos. El cdigo est documentado adecuadamente. Pruebas. Anexa una seccin de pruebas donde se presenten diferentes escenarios para probar el funcionamiento de la interfaz de usuario. Conclusiones. Expresa tus opiniones sobre los resultados obtenidos. Desempeo. Entrega el trabajo en la fecha establecida por el facilitador, observando:

OBSERVACIONES NO

10%

5%

5%

5%

5%

5% Puntualidad, responsabilidad, ortografa y gramtica adecuada. 5% Bibliografa. Presenta bibliografa en el formato adecuado. Eficacia. El programa resuelve el problema planteado cumpliendo los siguientes requisitos: 15% La interfaz incluye mens y componentes con todas las opciones solicitadas en la prctica. La interfaz considera reas para la representacin grfica: barra de estado, nombre de los jugadores y color de sus piezas. Incluyendo un reloj que mida el tiempo mximo de cada turno. El tablero y cada una de las piezas de ambos jugadores son elementos independientes de la interfaz, es decir se utilizar figuras o imgenes independientes para cada elemento.

15%

15%

15%

La interfaz incluye una ventana adicional que se despliega cuando el usuario hace clic en la opcin Registro de partidas. Dicha ventana contiene una tabla donde posteriormente se podrn desplegar todas las jugadas realizadas por ambos jugadores a lo largo de la partida. CALIFICACIN:

100%

Das könnte Ihnen auch gefallen