lab02_enunciado

3
 PONTIFICIA UNIVERSIDAD CATOLICA DEL PERÚ Ingeniería de las Telecomunicaciones Segundo laboratorio de Software para Telecomunicaciones 1 Semestre: 2014-1 Tema: Clases (Definición de atributos, métodos y constructores) Duración: 1 hora con 50 min . Está permitido el uso de material de impreso, el material digital deberá ser descargado en la PC. Se prohíbe el uso de memorias USB, tener el chat abierto u correo electrónico. Caso: Tarificador de Llamadas Se pide desarrollar un programa que procese tramas de una central telefónica 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> -> Duración en segun dos (Valor máximo 960 segundos) <3_digitos> -> Anexo que hizo la llamada <2_digitos> -> Código de área <9_digitos> -> Número telefónico destino Notas: - El número telefónico puede ser: Número Fijo: este tiene los dos primeros dígitos con el valor de 00. Ejemplo: 004501235. Número 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) Métodos get (no implementar métodos set).  (0.5 puntos) Un único constructor que reciba todos los parámetros necesarios para inicializar todos los atributos de esta (Esta clase NO debe implementar el constructor por defecto) .  (0.5 puntos) Método isLlamadaCelular  el cual devolverá true o false dependiendo si el número destino es un número celular.  (0.5 puntos) Método isLlamadaLimaCallao  el cual devolverá true o false dependiendo si el número destino es fijo y además corresponde al código de área de Lima y Callao (01).  (1 punto) Método isLlamadaAnioSiguiente  el cual devolverá true si es que a la hora de inicio en que se realizó la llamada más la duración de esta nos devuelve una hora correspondiente al día siguiente del siguiente anho; en caso contrario devolverá false. Por ejemplo: Si el día de hoy (20141231 a las 2350) un usuario hace una llamada de 15 minutos entonces este método devolverá true.

Upload: jose-chang

Post on 01-Mar-2016

218 views

Category:

Documents


0 download

DESCRIPTION

CCNA

TRANSCRIPT

7/18/2019 Lab02_Enunciado

http://slidepdf.com/reader/full/lab02enunciado 1/3

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERÚIngeniería de las Telecomunicaciones 

Segundo laboratorio de Software para Telecomunicaciones 1

Semestre: 2014-1 

Tema: Clases (Definición de atributos, métodos y constructores) 

Duración: 1 hora con 50 min. 

Está permitido el uso de material de impreso, el material digital deberá ser descargado en la PC.

Se prohíbe el uso de memorias USB, tener el chat abierto u correo electrónico. 

Caso: Tarificador de Llamadas

Se pide desarrollar un programa que procese tramas de una central telefónica 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> -> Duración en segundos (Valor máximo 960 segundos)

<3_digitos> -> Anexo que hizo la llamada

<2_digitos> -> Código de área

<9_digitos> -> Número telefónico destino

Notas:

-  El número telefónico puede ser:

Número Fijo: este tiene los dos primeros dígitos con el valor de 00. Ejemplo: 004501235.

Número 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) Métodos get (no implementar métodos set).

  (0.5 puntos) Un único constructor que reciba todos los parámetros necesarios para

inicializar todos los atributos de esta (Esta clase NO debe implementar el constructor por

defecto).

  (0.5 puntos) Método isLlamadaCelular el cual devolverá true o false dependiendo si el

número destino es un número celular.

  (0.5 puntos) Método isLlamadaLimaCallao el cual devolverá true o false dependiendo si el

número destino es fijo y además corresponde al código de área de Lima y Callao (01). 

  (1 punto)  Método isLlamadaAnioSiguiente   el cual devolverá true si es que a la hora de

inicio en que se realizó la llamada más la duración de esta nos devuelve una hora

correspondiente al día siguiente del siguiente anho; en caso contrario devolverá false. Por

ejemplo: Si el día de hoy (20141231 a las 2350) un usuario hace una llamada de 15 minutos

entonces este método devolverá true.

7/18/2019 Lab02_Enunciado

http://slidepdf.com/reader/full/lab02enunciado 2/3

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERÚIngeniería de las Telecomunicaciones 

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

  (1 punto) El método llamado parsear  el cual recibe como parámetro una cadena de una

trama y devuelve un objeto de tipo Llamada. Para poder invocar este método no senecesita 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 método agregarLlamada. Este método recibe un objeto de tipo Llamada.

b.  (0.5 puntos) El método obtenerLlamada. Este método recibe el índice del objeto de tipo

Llamada a retornar.

c.  (0.5 puntos) El método contarLlamadas. Este método retorna la cantidad actual de

llamadas que se dispone en el objeto de tipo AlmacenLlamada.

d. 

(4.5 puntos) El ordenarLlamadas. Este método ordena las llamadas que se tienen en lainstancia actual por los siguientes criterios: fecha, anexo, duración y código de área de

manera ascendente (no es necesario crear un arreglo temporal ya que este método 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 método listarLlamadasLimaCARangoAnho . Este método 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 rangode anhos, sean de Lima y Callao y tipo de llamada dados como parámetros.

c.  (2 puntos) El método obtNumeroLlamadasAnhoSgt . Este retorna la cantidad de llamadas

cuya fecha de finalización (fecha-hora de inicio + duración) cae en el siguiente año.

d.  (2.5 puntos) El método listarNLlamadasArea. Este método recibe un código de área y un

número entero positivo. El método retorna un objeto de tipo Llamadas el cual contiene las

N primeras referencias de tipo Llamada(N es el número entero positivo pasado como

parámetro) que sean del anexo dado y que están ordenadas por los siguientes criterios:

fecha, anexo, duración y código 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 parámetro agregarlas al

objeto creado en el punto (a), esto es invocar a su método agregarLlamada.

c)  Invocar al método 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.

7/18/2019 Lab02_Enunciado

http://slidepdf.com/reader/full/lab02enunciado 3/3

PONTIFICIA UNIVERSIDAD CATOLICA DEL PERÚIngeniería de las Telecomunicaciones 

5.  (2 punto) Defina la clase Aplicacion, esta clase define lo siguiente en su método 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 años.

 

Obtener la cantidad de llamadas cuya fecha de finalización fue el año siguiente

  Listar las N primeras llamadas hechas desde el anexo Y

San Miguel, 11 de Abril de 2014