Anda di halaman 1dari 3

PONTIFICIA UNIVERSIDAD CATOLICA DEL PER

Ingeniera de las Telecomunicaciones

Segundo laboratorio de Software para Telecomunicaciones 1


Semestre: 2014-1
Tema: Clases (Definicin de atributos, mtodos y constructores)
Duracin: 1 hora con 50 min.

Est permitido el uso de material de impreso, el material digital deber ser descargado en la PC.
Se prohbe el uso de memorias USB, tener el chat abierto u correo electrnico.
Caso: Tarificador de Llamadas
Se pide desarrollar un programa que procese tramas de una central telefnica las cuales tienen el siguiente
formato:

<8_digitos>-<4_digitos>:<3_digitos>:<3_digitos>:<2_digitos>:<9_digitos>
Donde:
<8_digitos> -> Hacen referencia a la fecha de llamada en formato YYYYMMDD
<4_digitos> -> Hacen referencia a la hora en formato HHMM
<3_digitos> -> Duracin en segundos (Valor mximo 960 segundos)
<3_digitos> -> Anexo que hizo la llamada
<2_digitos> -> Cdigo de rea
<9_digitos> -> Nmero telefnico destino
Notas:
-

El nmero telefnico puede ser:


Nmero Fijo: este tiene los dos primeros dgitos con el valor de 00. Ejemplo: 004501235.
Nmero Celular: este siempre inicia en 9. Ejemplo: 912354698.

Estas tramas son procesadas para generar diversos reportes al usuario final. Se pide implementar un
programa que cumpla con lo siguiente:
1. (4 puntos) Defina la clase Llamada, esta clase debe definir lo siguiente:
(1 punto) Atributos.
(0.5 puntos) Mtodos get (no implementar mtodos set).
(0.5 puntos) Un nico constructor que reciba todos los parmetros necesarios para
inicializar todos los atributos de esta (Esta clase NO debe implementar el constructor por
defecto).
(0.5 puntos) Mtodo isLlamadaCelular el cual devolver true o false dependiendo si el
nmero destino es un nmero celular.
(0.5 puntos) Mtodo isLlamadaLimaCallao el cual devolver true o false dependiendo si el
nmero destino es fijo y adems corresponde al cdigo de rea de Lima y Callao (01).
(1 punto) Mtodo isLlamadaAnioSiguiente el cual devolver true si es que a la hora de
inicio en que se realiz la llamada ms la duracin de esta nos devuelve una hora
correspondiente al da siguiente del siguiente anho; en caso contrario devolver false. Por
ejemplo: Si el da de hoy (20141231 a las 2350) un usuario hace una llamada de 15 minutos
entonces este mtodo devolver true.

PONTIFICIA UNIVERSIDAD CATOLICA DEL PER


Ingeniera de las Telecomunicaciones

2. (1 punto) Defina la clase ParseadorTrama, esta clase debe definir lo siguiente:


(1 punto) El mtodo llamado parsear el cual recibe como parmetro una cadena de una
trama y devuelve un objeto de tipo Llamada. Para poder invocar este mtodo no se
necesita crear una instancia de la clase ParseadorTrama.
3. (6.0 puntos) Defina la clase Llamadas. Esta clase debe ser capaz de almacenar objetos de tipo
Llamada (utilizar un arreglo como atributo). La idea de esta clase es facilitar el uso de operaciones
con arreglos; para ello, implemente lo siguiente:
a. (0.5 puntos) El mtodo agregarLlamada. Este mtodo recibe un objeto de tipo Llamada.
b. (0.5 puntos) El mtodo obtenerLlamada. Este mtodo recibe el ndice del objeto de tipo
Llamada a retornar.
c. (0.5 puntos) El mtodo contarLlamadas. Este mtodo retorna la cantidad actual de
llamadas que se dispone en el objeto de tipo AlmacenLlamada.
d. (4.5 puntos) El ordenarLlamadas. Este mtodo ordena las llamadas que se tienen en la
instancia actual por los siguientes criterios: fecha, anexo, duracin y cdigo de rea de
manera ascendente (no es necesario crear un arreglo temporal ya que este mtodo altera
el arreglo original).
4. (7.0 puntos.) Defina la clase OperacionesLlamadas. Esta clase debe cumplir con lo siguiente:
a. (0.5 puntos) Definir un nico constructor el cual recibe un objeto de tipo Llamadas y guarda
su referencia en un atributo.
b. (2 puntos) El mtodo listarLlamadasLimaCARangoAnho. Este mtodo recibe el tipo de
llamada (1: fijo o 2: celular), anho inicio y anho fin en formato YYYY y devuelve un objeto de
tipo Llamadas, este objeto tiene todas las llamadas cuya fecha de llamada este en el rango
de anhos, sean de Lima y Callao y tipo de llamada dados como parmetros.
c. (2 puntos) El mtodo obtNumeroLlamadasAnhoSgt. Este retorna la cantidad de llamadas
cuya fecha de finalizacin (fecha-hora de inicio + duracin) cae en el siguiente ao.
d. (2.5 puntos) El mtodo listarNLlamadasArea. Este mtodo recibe un cdigo de rea y un
nmero entero positivo. El mtodo retorna un objeto de tipo Llamadas el cual contiene las
N primeras referencias de tipo Llamada(N es el nmero entero positivo pasado como
parmetro) que sean del anexo dado y que estn ordenadas por los siguientes criterios:
fecha, anexo, duracin y cdigo de rea.
Seguir los siguientes pasos para resolver esta pregunta:
a) Crear un objeto de tipo Llamadas.
b) De todas las llamadas, las que sean del anexo dado como parmetro agregarlas al
objeto creado en el punto (a), esto es invocar a su mtodo agregarLlamada.
c) Invocar al mtodo ordenarLlamadas del objeto creado en el punto (a).
d) Crear otro objeto de tipo Llamadas pero que tenga agregado las N primeras llamadas
del objeto llamadas creado en el punto (a) y retornar este nuevo objeto.

PONTIFICIA UNIVERSIDAD CATOLICA DEL PER


Ingeniera de las Telecomunicaciones

5. (2 punto) Defina la clase Aplicacion, esta clase define lo siguiente en su mtodo main:

Se pide implementar un men (a partir del comentario //TODO) que permita lo siguiente:
Registrar una trama
Listar las llamadas de Lima/Callao en un rango de aos.
Obtener la cantidad de llamadas cuya fecha de finalizacin fue el ao siguiente
Listar las N primeras llamadas hechas desde el anexo Y

San Miguel, 11 de Abril de 2014

Anda mungkin juga menyukai