Sunteți pe pagina 1din 3

1.

Desarrolle un programa en Java que permita al usuario manejar un conjunto de dados (hasta 10). El usuario podr especificar cundo agregar o quitar dados a su conjunto. Cada ve que se agrega un dado! se de"e especificar tam"i#n cuantas veces se podr lan ar. El programa permitir lan ar todos los dados $ o"tener la suma total de las caras que se o"tengan con el lan amiento. %i un dado llega a su l&mite de lan amientos! se de"er retirar automticamente del conjunto. %e e'ige que por cada dado e'ista un o"jeto asociado en Java. El go"ierno est interesado en desarrollar una soluci)n informtica estndar que permita planificar de forma adecuada la construcci)n de calles en sectores de ampliaci)n en distintas ciudades del pa&s. *ara ello! ha solicitado que a trav#s de una clase en Java! se pueda manejar una grilla de dimensi)n +', que represente un sector de una ciudad que se po"lar. En cada elemento de la grilla! se puede guardar un segmento de calle! que grficamente puede ser uno de los siguientes tiposA B C

(.

.a grilla de"e permitir al usuario ingresar un segmento de calle en alguna posici)n particular de la grilla! siempre $ cuando sea vlido insertarlo acorde a los segmentos de calle que est#n alrededor. *or ejemplo! ser&a invlido insertar un segmento de tipo /01 a la i quierda o derecha de un segmento de tipo /21! $a que eso dejar&a una calle inconsistente. Considere en su implementaci)n que esta clase ser entregada a las distintas municipalidades como una li"rer&a para su uso! por lo que no de"e e'poner ning3n elemento de la l)gica interna con que funciona. 4. 5mplemente un programa en Java que permita llevar el estado de un soldado de guerra! en "ase a los ataques que #l reci"a o realice. 6n soldado tiene un nivel de puntos de salud que decae cada ve que es atacado. 0dems! puede estar equipado con los siguientes elementosa. 6n casco! el cual puede neutrali ar puntos de da7o que el soldado reci"a $ tiene puntos de duraci)n que decaen cada ve que el casco neutrali a da7o. El casco se puede reparar! resta"leciendo su duraci)n. 6n arma! que tiene una capacidad de municiones $ una cantidad de gasto de municiones por disparo. Cada ve que el soldado dispara! se gasta la cantidad respectiva de municiones. 0dems! el arma tiene una duraci)n que decae cada ve que se dispara. El arma se puede reparar! resta"leciendo su duraci)n.

".

c.

6n chaleco de protecci)n! que tiene la mismas propiedades que el casco! sin em"argo! su duraci)n decae una cada 4 veces que se reci"e da7o $ no se puede reparar.

8odas las medidas (salud! municiones! duraci)n! da7o! etc.) se e'presan en n3meros enteros ma$ores a 0. El programa de"e permitira. 9ue el soldado realice un ataque con su arma! lo que implica actuali ar el estado de su arma. %i el arma esta defectuosa (duraci)n en 0) no podr reali ar el ataque $ se de"e advertir al respecto. 9ue el soldado reci"a un ataque! indicando la cantidad de da7o reci"ido! lo que implica actuali ar el estado de su salud! de su casco $ de su chaleco de protecci)n. %e de"e indicar cuando el soldado muera con el ataque (salud en 0). 9ue el soldado repare alg3n elemento de su equipamiento (casco o arma)! resta"leciendo la duraci)n respectiva. 9ue el soldado asista al m#dico! resta"leciendo su salud. 9ue el soldado recargue su arma! resta"leciendo las municiones respectivas. 9ue el soldado reemplace su chaleco de protecci)n! %:.: cuando su duraci)n se ha desgastado totalmente.

".

c.

d. e. f.

;.

Desarrolle un programa en Java que permita construir un conjunto de ca7er&as conectadas entre s&! que permitan comunicar distintas entradas! salidas $ conectores. %e pueden tener hasta 4 entradas! 4 salidas $ 10 conectores. a. *ara la construcci)n! el programa permitir al usuario /navegar1 a trav#s del sistema de ca7er&as! situndose so"re una de ellas! que en un principio de"e ser una ca7er&a de entrada. %o"re una ca7er&a! el usuario podr moverse hacia otras ca7er&as conectadas! las cuales pueden estar arri"a! a"ajo! a la derecha o i quierda de la actual. Cuando no e'iste una ca7er&a en alguna direcci)n! el programa de"e permitir agregar una nueva ca7er&a all&! que tam"i#n puede ser una salida o conector. 8am"i#n se de"e permitir eliminar una cone'i)n e'istente. %e de"e validar si la direcci)n donde se conectar una nueva ca7er&a est li"re! por ej.! no se puede agregar arri"a de una ca7er&a otra nueva! si dicha direcci)n $a est ocupada! o tam"i#n no se podr agregar de"ajo de una ca7er&a un conector! si en este 3ltimo la direcci)n de arri"a $a est ocupada. %e de"e permitir en cualquier momento el volver a una ca7er&a de entrada. Cada cone'i)n de cada ca7er&a puede ser activada o desactivada! para generar una ruta de ca7er&as. El programa de"er permitir validar si es que! partiendo desde una entrada! se puede llegar a una salida a trav#s de una 3nica ruta. De este modo! si en alguna ca7er&a en la ruta! ha$ activada ms de una direcci)n (independiente de que e'istan ca7er&as conectadas en esas direcciones)! la ruta es invlida. 8am"i#n se considera invlida si la ruta no termina en una salida.

".

c.

d.

e. f.

<.

5mplemente un programa en Java que le permita a un DJ manejar su colecci)n de temas musicales $ planificar un pla$list para los eventos a los que asiste. *ara ello! considere las siguientes clasesa. 6n tema musical! el cual puede tener un id (int)! un t&tulo (string)! un nom"re de artista (string) $ un tiempo de duraci)n! en mins. (int). 6na colecci)n musical! en la cual se pueden ir agregando o quitando temas a trav#s de su id. 6na colecci)n puede tener hasta 100 temas. +o pueden ha"er temas repetidos en la colecci)n. 8am"i#n de"e permitir "uscar los temas de un artista en particular. 6na lista de reproducci)n (pla$list)! en la cual se pueden ir agregando temas de la colecci)n! en orden para que se reprodu can. 8am"i#n permite insertar $ quitar temas en alguna posici)n particular de la lista. El pla$list de"e permitir sa"er la duraci)n total de reproducci)n en mins! de"e permitir sa"er cuntos temas ha$ ingresados hasta ahora $ de"e permitir /aleatori ar1 el orden de los temas ingresados (/shuffle1).

".

c.

.a aplicaci)n de"e permitir manejar una colecci)n (agregar! quitar o "uscar por artista temas de ella) $ manejar hasta 4 pla$lists! usando las operaciones $a descritas para ellos.