Vous êtes sur la page 1sur 2

TRABAJO GRUPO 1

1- Crear una clase llamada Coordenada que tiene 2 atributos enteros públicos
llamados fila y columna. Ambos se inicializan con parámetros en el constructor.

2- (10%) Crear una clase llamada Ticket que tiene como atributo un entero para
guardar el numero de referencia, un atributo Calendar para guardar la fecha que se
compro el ticket y un atributo double para guardar el precio pagado por el ticket.
a. En el constructor se inicializan los atributos de numero de referencia y precio
por medio de parámetros. Automáticamente se le asigna la fecha actual al
atributo Calendar.
b. Tiene funciones get para cada uno.
c. Tiene una función llamada print que imprime el valor de todos los atributos
con este formato: NUMERO – PRECIO - FECHA.

3- Crear una clase llamada SalaCine que tiene como atributo un arreglo bidimensional
de 10 X 30 posiciones de tipo Ticket. Este arreglo representa cada asiento en la sala
del cine. Además tiene un contador de tickets vendidos que comienza en 0. Tiene las
siguientes funciones:
a. (15%)Coordenada searchTicketByReference(int number). Función RECURSIVA
que busca entre los asientos ocupados de la sala. Si encuentra el ticket se
retorna un objeto Coordenada con la posición (fila,columna) del ticket, sino,
se retorna null. TIP: Como es un bidimensional, sigan la misma idea que
hicimos con el ejercicio recursivo de la pirámide. Esto aplica para las otras
funciones recursivas a ejecutar sobre el arreglo bidimensional.
b. (10%) boolean isPalindromo(String name). Función RECURSIVA que me
retorna true, si la String que se recibe es palíndromo, o false si no.
c. (15%) double income( ). Función RECURSIVA que me retorna el total de
ingresos generados entre todos los tickets vendidos en la sala.
d. (10%) void reset( ). Función RECURSIVA que pone TODAS las posiciones del
arreglo de asientos en null. El contador de tickets vuelve a cero.
e. (15%) void sellTicket(String cliente, int numFila, int numColumna ). Guarda un
nuevo ticket en el arreglo:
i. Primero se verifica que esa coordenada [numFila, numColumna] no esta
ya ocupada, si lo esta se imprime que asiento esta ocupado y no se hace
más nada. Si esta vacía (Posición esta null) se procederá a crear el
ticket.
1. Aumenta el contador de tickets +1
2. El precio base del ticket son 100 lempiras. Pero hay varias
promociones durante la semana:
a. Si el día de la venta es un martes, el boleto esta a mitad
de precio.
b. Si el día de la venta es un jueves Y el nombre del cliente
es palíndromo, se le da el 30% de descuento.
c. TIP: Utilice Calendar para saber que día es actualmente.
3. Se forma el ticket. El numero de referencia es el valor del
contador de tickets de ese momento (Si es el primero, pues la
referencia será 1) y con el precio final a pagar.
f. (15%) void printSala( ). Función RECURSIVA que me imprime el detalle
(numero-precio pagado-fecha) de todos los tickets vendidos. Se imprime
como tablero para que se mire bien la sala. Se imprime cada asiento ocupado
así:
[ datos del ticket vendido ] y si esta desocupado ese asiento, se imprime así: [
DISPONIBLE ]
g. (5%) boolean cancelTicket(int number). Primero busca dentro de la sala si
existe un ticket vendido con ese numero de referencia que se recibe de
parámetro, si existe, se procede a poner en null dicho asiento. Retorna true si
se pudo cancelar o false si no. El contador de tickets SE MANTIENE IGUAL.
h. (5%) void eventClose( ). La tanda terminó. Se procede a:
i. Imprimir el total de ingresos generados.
ii. Reset todos los asientos de la sala

4- (5%) Crear una clase que tenga el main. En el main se tendrá un objeto de la clase
SalaCine y se tendrá un menú para las opciones e, f, g y h.

SUBIR 1 ARCHIVO COMPRESO POR GRUPO CON EL PROYECTO DE NETBEANS CREADO


CON EL NOMBRE DE TG1_SUSNOMBRES. A MAS TARDAR 9:20 AM

Vous aimerez peut-être aussi