CC10A03-Computación I – Auxiliar 1 – Viernes 30 de Abril 2004
1. (P1C11999)El juego de las piedras
consiste en que dos jugadores contrincantes extraen de un monton de piedras
hasta acabar con él . Pierde el jugador que extrae la última piedra. La regla
es que un jugador sólo puede extraer 1, 2 o 3 piedras cada vez. El montón tiene
inicialmente entre 10 y 40 piedras.
Escriba un programa que arbitre el juego de las
piedras. Inicialmente debe generar aleatoriamente el número de piedras con la
función random y mostrar el tamaño del montón colocando un * por cuantas
piedras saca, mostrando a continuación en una línea de la pantalla el tamaño
del nuevo montón. El programa debe señalar quién es el vencedor cuando se
extrae la última piedra.
Un ejemplo del diálogo que debe mantener el programa
con los jugadores es el siguiente:
***********
Cuantas
piedras saca el jugador 1? 3
********
Cuantas
piedras saca el jugador 2? 1
*******
No puede sacar más de 3 piedras.
Cuantas
piedras saca el jugador 1? 3
****
Cuantas
piedras saca el jugador 2? 3
*
Cuantas piedras saca el jugador 1? 0
Tiene que sacar al menos 1 piedra.
Cuantas piedras saca el jugador 1? 1
El ganador es el jugador 2. Felicitaciones!
Durante el juego, su programa debe verificar:
· Que
un jugador no saque más de 3 piedras.
· Que
un jugador saque al menos una piedra.
· Que un jugador no saque más piedras de las que hay.
2. (P3C12002)La siguiente tabla
muestra los métodos de una clase (Dia) que permite realizar operaciones con los
días de una semana:
Encabezamiento |
ejemplo |
resultado |
Dia(int
x) // 1 £ x £ 7 |
Dia
a = new Dia(1); |
objeto que representa el día
lunes |
Dia mañana() |
a.mañana() |
objeto que representa el día de
mañana |
int comparar(Dia x) |
a.comparar(b) |
1 si los objetos son iguales
(0 si distintos) |
String nombre() |
a.nombre() |
“lunes” o “martes” o ...
“domingo” |
A)Utilice la clase anterior en un programa que muestre el
calendario de un mes siguiendo el diálogo:
Ingrese
cantidad de días del mes (1-31) : 31
Ingrese
primer dia del mes (1-7) : 3
mi |
ju |
vi |
sa |
DO |
lu |
ma |
mi |
ju |
vi |
sa |
DO |
... |
ju |
vi |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
... |
30 |
31 |
Nótese que:
- los
nombres de los días aparecen abreviados y separados por un espacio
- los
domingos se muestran en mayúsculas
-
los números de los días aparecen bajo la primera letra del nombre del
día
B) Escriba la clase Dia, suponiendo la declaración: class Dia{ private int d; ...}