Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero...
Transcript of Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero...
![Page 1: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/1.jpg)
Prác%ca 7.1. Paquetes. Señales movimiento ondulatorio
Programación en Lenguaje Java
Michael González Harbour
Mario Aldea Rivas
Departamento de Matemá.cas, Estadís.ca y Computación
Este tema se publica bajo Licencia: Crea.ve Commons BY-‐NC-‐SA 4.0
![Page 2: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/2.jpg)
1
torio
.mentación de las clases.
icos.
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Práctica 7-1: Paquetes. Señales movimiento ondula
Objetivos• Practicar la creación y uso de paquetes Java• Practicar la escritura y generación de la docu• Practicar los recorridos en arrays.• Practicar la escritura y uso de métodos estát
![Page 3: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/3.jpg)
2
os que aparece a conti-
nhales. paquete.
l paquete desarrollado.
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Desarrollo
Tomando como base el documento de requisitnuación:1. Finalizar la implementación del paquete se2. Generar la documentación de javadoc del3. Encapsular el paquete en un jar.4. Escribir un programa sencillo de prueba de
![Page 4: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/4.jpg)
3
rumento electrónico ca-ónico simple de un
tra la elongación del el dispositivo no es per-
uestra una señal sinusoi-or segundo y genera un orrespondientes a un in-ura muestra un ejemplo segundos
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Documento de requisitos
Un laboratorio de mecánica dispone de un instpaz de monitorizar el movimiento vibratorio armcuerpo suspendido de un muelle.
Dicho instrumento genera una señal que muesmuelle en función del tiempo pero, debido a quefecto y que hay interferencias en el entorno, mdal con ruido. El dispositivo toma 100 medidas pconjunto de medidas conteniendo las lecturas ctervalo de tiempo determinado. La siguiente figde las lecturas obtenidas en un intervalo de 50
![Page 5: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/5.jpg)
4
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIAEjemplo de lecturas
![Page 6: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/6.jpg)
5
es que obtenga y filtre y calcule los parámetros
nen a continuación
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Requisitos (cont.)
Se quiere implementar el paquete Java senhalla señal proveniente del instrumento de medidaque caracterizan el movimiento vibratorio.
Este paquete constará de 3 clases, que se expo
![Page 7: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/7.jpg)
6
tada)
s públicos de una medi-en que se tomó).
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Medida (ya implemen
Clase muy sencilla que contiene los dos atributoda (valor de la medida y el instante de tiempo
![Page 8: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/8.jpg)
7
mente
del laboratorio. Contie-
(double duracion) indicado. (Ya está
durante el que se
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Instrumento (parcialimplementada) (Alumno A)
Clase que representa el instrumento de medidane los siguientes métodos:
static public Medida[] generaSenal• Retorna un array de medidas en el intervalo
implementado).• Parámetros: duracion- duración del intervalo
desean obtener las medidas.
![Page 9: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/9.jpg)
8
(Medida[] senal)do cada medida por la el array. Los valores
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Instrumento (cont.)static public Medida[] filtraSenal• Realiza el filtrado de las medidas, sustituyen
media de los valores anterior y posterior en primero y último se dejarán como estaban.
• Parámetros:- senal: señal que se desea filtrar.
• Retorna: array de medidas filtrado.
![Page 10: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/10.jpg)
9
(Medida[] senal,
nal(Medida[] ciable (por ejemplo, con
método
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Instrumento (cont.)static public Medida[] filtraSenalint nVeces)• Hace nVeces llamadas al método filtraSesenal) anterior para que el filtrado sea aprenVeces=100).
• Parámetros:- senal: señal que se desea filtrar.- nVeces: número de veces que se invocará elfiltraSenal(Medida[] senal).
• Retorna: array de medidas filtrado.
![Page 11: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/11.jpg)
10
r el alumno)
plitud, el periodo y la
-fase)
ud(Medida[] senal)alcula como la diferencia el array.
mplitud.
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Parametros (hacer po(Alumno B)
Esta clase contiene métodos para calcular la amfase inicial de la forma de onda sinusoidal: f(t)=Amplitud*sin(2*pi*t/periodo
static public double calculaAmplit• Calcula y retorna la amplitud de la señal. Se c
entre los valores máximo y mínimo dentro d• Parámetros:
- senal: señal de la que se desea calcular su a• Retorna: amplitud de la señal.
![Page 12: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/12.jpg)
11
o(Medida[] senal)lcula como la diferencia n que la señal pasa por
eriodo.
edida[] senal) al instante del primer idido entre el Periodo
se.
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Clase Parametros (cont.)static public double calculaPeriod• Calcula y retorna el periodo de la señal. Se ca
entre los dos primeros instantes de tiempo eel valor 0 con pendiente ascendente.
• Parámetros:- senal: señal de la que se desea calcular su p
• Retorna: periodo de la señal.
static public double calculaFase(M• Calcula y retorna la fase inicial. Corresponde
cruce por cero con pendiente ascendente divy multiplicado por 2*PI.
• Parámetros:- senal: señal de la que se desea calcular su fa
• Retorna: fase de la señal.
![Page 13: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/13.jpg)
12
nos A y B), para ello:-> Export -> Java
amos nombre a la libre-
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Encapsular el proyecto
Encapsular el proyecto en un fichero jar (Alum1. Botón derecho sobre el paquete senhales -> JAR file
2. Elegimos las clases que queremos añadir, dría.
3. Finish.
![Page 14: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/14.jpg)
13
nos A y B), para ello:.r la documentación y el que se incluyan (priva-
o doc dentro del proyec-
index.html (puede otón derecho sobre in-rowser).
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Documentación
Generar la documentación del paquete (Alum1. Elegir Project -> Generate Javadoc2. Elegir las clases de las que vamos a genera
tipo de métodos y atributos que queremos dos, protegidos, públicos) y pulsar Finish
3. La documentación se genera en un directorito.
Para consultar la documentación abrir el ficheroabrirse desde el propio Eclipse pulsando con el bdex.html y eligiendo Open With -> Web B
![Page 15: Programación en Lenguaje Java. Práctica 7.1. Paquetes ... · Encapsular el proyecto en un fichero jar (Alumnos A y B), para ello: 1. Botón derecho sobre el paquete senhales ->](https://reader030.fdocuments.co/reader030/viewer/2022040713/5e18642e5a879a0e4147d560/html5/thumbnails/15.jpg)
14
nos A y B) en otro pro-0 veces, dibuje las grá- y, a continuación, llame o y la fase inicial a partir ados.
ráfica del paquete fun-e dicho paquete).
nte implementada).
tación generada por
www.istr.unican.es © Michael González Harbour y Mario Aldea, 8/oct/15UNIVERSIDADDE CANTABRIA
Prueba
Hacer un pequeño programa de prueba (Alumyecto que genere una señal, aplique el filtro 10ficas correspondientes antes y después de filtrara los métodos para calcular la amplitud el periodde la señal filtrada y muestre los valores calcul
Para dibujar las gráficas se debe usar la clase Gdamentos (ver como se usa en la página web d
Material proporcionado• Clases Medida e Instrumento (parcialme
Entregar• Código desarrollado, fichero jar y documenjavadoc (a través del moodle).