0% encontró este documento útil (0 votos)
28 vistas12 páginas

G4 Prog3 Temporizadores

El documento describe un laboratorio de programación sobre el uso de temporizadores en Java, incluyendo objetivos, materiales requeridos y procedimientos. Se presentan ejemplos de implementación de temporizadores tanto en aplicaciones de consola como gráficas, así como un ejercicio final que consiste en simular una competencia automovilística. Además, se establecen criterios de evaluación y referencias bibliográficas relacionadas con el tema.

Cargado por

xremonx92
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
28 vistas12 páginas

G4 Prog3 Temporizadores

El documento describe un laboratorio de programación sobre el uso de temporizadores en Java, incluyendo objetivos, materiales requeridos y procedimientos. Se presentan ejemplos de implementación de temporizadores tanto en aplicaciones de consola como gráficas, así como un ejercicio final que consiste en simular una competencia automovilística. Además, se establecen criterios de evaluación y referencias bibliográficas relacionadas con el tema.

Cargado por

xremonx92
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Identificación:
GL-AA-F-1
Guías de Prácticas de Número de
Revisión No.:
Páginas:
Laboratorio 2
12
Fecha Emisión:
2018/01/31
Laboratorio de:
Programación 3

Título de la Práctica de Laboratorio:


Temporizadores

Elaborado por: Revisado por: Aprobado por:

Ing. Nathaly Sánchez, M.Sc. Ing. Alexandra Velasco, Ph.D. Ing. Dario Amaya, Ph.D.
Docente hora cátedra

Ing. Ricardo Castillo, Ph.D.


Docente tiempo completo Jefe de área robótica Director de Programa

Ing. Byron Pérez, M.Sc,


Docente tiempo completo

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 1 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Control de Cambios

Fecha de
Descripción del Cambio Justificación del Cambio Elaboración /
Actualización
Cambios en el Se modifica el entregable 2024/01/22
procedimiento con el fin de evitar plagios
Actualización del La temática no cambia, se 2024/07/12
procedimiento ajusta el entregable para
evitar plagios
Actualización del La temática no cambia, se 2025/17/01
procedimiento ajusta el entregable para
evitar plagios

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 2 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

1. FACULTAD O UNIDAD ACADÉMICA: Ingeniería

2. PROGRAMA: Ingeniería Mecatrónica

3. ASIGNATURA: Programación 3

4. SEMESTRE: III

5. OBJETIVO:

General: Identificar la utilidad de los temporizadores en la programación de


computadores

Específicos:
• Utilizar temporizadores en aplicaciones de consola y gráficas
• Comparar diversos métodos para programar temporizadores

6. MATERIALES, REACTIVOS, INSTRUMENTOS, SOFTWARE, HARDWARE O


EQUIPOS DEL LABORATORIO:

DESCRIPCIÓN (Material,
reactivo, instrumento, software, CANTIDAD UNIDAD DE MEDIDA
hardware, equipo)
NA

7. MATERIALES, REACTIVOS, INSTRUMENTOS, SOFTWARE, HARDWARE O


EQUIPOS DEL ESTUDIANTE:

DESCRIPCIÓN (Material,
reactivo, instrumento, software, CANTIDAD UNIDAD DE MEDIDA
hardware, equipo)
Computador 1 NA
Software JDK SE (Java
Development Kit - Standard 1 NA
Edition)
Software Netbeans 1 NA

8. PRECAUCIONES CON LOS MATERIALES, REACTIVOS, INSTRUMENTOS Y


EQUIPOS A UTILIZAR:

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 3 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Utilizar adecuadamente el equipo de cómputo para realizar la práctica de


laboratorio.

9. PROCEDIMIENTO, MÉTODO O ACTIVIDADES:

1. Temporizadores

Los temporizadores son objetos de la clase Timer que se utiliza para programar
una tarea que se ejecutará después de un período de tiempo específico. Las
tareas se pueden programar para una ejecución única o para una ejecución
repetida periódicamente.

Se pueden crear varios objetos de la clase Timer, pero hay un único hilo en
segundo plano que supervisa la ejecución de las tareas de cada Timer.

Figura 1. Diagrama de un temporizador.


https://www.educative.io/api/edpresso/shot/6555544254939136/image/5343429506629632

2. Clase Timer del paquete java.util

Constructor:

Timer temporizador = new Timer();

Métodos:

cancel(): Finaliza el temporizador, descartando cualquier tarea programada


actualmente.

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 4 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

schedule(TimerTask task, Date time): Programa la tarea especificada para su


ejecución a la hora especificada.

scheduleAtFixedRate(TimerTask task, long delay, long period): Programa la


tarea especificada para su ejecución después de delay ms y cada period ms.

3. Clase TimerTask del paquete java.util

Constructor:

TimerTask timerTask = new TimerTask();

Métodos:

run(): Contiene el código que se quiere ejecutar en el temporizador

4. Ejemplos:

Temporizador que se ejecuta una única vez:

import java.util.Timer;
import java.util.TimerTask;

public class Temporizador0 {

Timer timer;

public Temporizador0(int segundos) {


timer = new Timer();
timer.schedule(new Recordatorio(),segundos*1000);//Programa la tarea
}

class Recordatorio extends TimerTask {


public void run() {
System.out.println("Tiene un recordatorio!");
timer.cancel(); //Termina el hilo del timer
}
}

public static void main(String args[]) {


System.out.println("Inicio del programa");
new Temporizador0(5);
}
}

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 5 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Temporizador que se ejecuta periódicamente:

import java.util.Timer;
import java.util.TimerTask;

public class Temporizador1 {

public static void main(String[] args){


TimerTask timertask = new TimerTask() {
int i=0;
@Override
public void run() {
System.out.println("Hola "+i);
i++;
}
};

Timer timer = new Timer();


timer.scheduleAtFixedRate(timertask, 0, 2000);
}

};

Temporizador que se ejecuta periódicamente en interfaz gráfica:

Figura 2. Interfaz gráfica con jLabel1 y un jButton1

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 6 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Figura 3. Interfaz gráfica con jLabel1 desplazado hacia la izquierda después de


un tiempo de funcionamiento del temporizador.

public class Temporizador2 extends javax.swing.JFrame {

Timer timer;
TimerTask timertask;
Boolean funcionando = false;

public Temporizador2() {
initComponents();
}

@SuppressWarnings("unchecked")
private void initComponents() {
//Código generado por Netbeans
}

//Código del botón para iniciar y detener el Timer


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt)
{
if (!funcionando) {
timer = new Timer();
timertask = new TimerTask() {
int i = 5;

@Override
public void run() {
jLabel1.setLocation(i, 19); //Ubica el jLabel1 en las
i++; //coordenadas (i,19)
}
};

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 7 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores
timer.scheduleAtFixedRate(timertask, 0, 100);//cada 100ms se
// ejecuta el código del TimerTask
funcionando = true;
jButton1.setText("Detener");
} else {

timer.cancel(); //Cancela el Timer


funcionando = false;
jButton1.setText("Iniciar");
}

}
public static void main(String args[]) {
//Código generado por Netbeans
}

private javax.swing.JButton jButton1;


private javax.swing.JLabel jLabel1;
}

5. Clase Timer del paquete javax.swing

Constructor:

Timer (int delay, ActionListener listener)

Crea un temporizador e inicializa tanto el retraso inicial como el retraso entre


eventos en milisegundos. Requiere de una interfaz ActionListener para
programar las tareas que se van a ejecutar periódicamente.

Métodos:

start() : Inicia el temporizador y comienza a enviar eventos de acción a sus


listeners.

stop(): Detiene el temporizador y deja de enviar eventos de acción a sus


listeners.

isRunning():Devuelve true si el temporizador se está ejecutando

6. Ejemplo:

Temporizador que se ejecuta periódicamente en interfaz gráfica:

import javax.swing.Timer;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 8 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores
public class Temporizador3 extends javax.swing.JFrame {

Timer temporizador;
ActionListener al;

public Temporizador3() {
initComponents();

al = new ActionListener() {
int i=0;
@Override
public void actionPerformed(ActionEvent e) {
double x = 50+10*Math.sin(2*Math.PI/10*(double)i);
jRadioButton1.setLocation((int)x, i);
//Mueve senosoidalmente el botón de radio
//A*sen(wt); A es amplitud y w es 2*PI/T
i++;
}
};

temporizador = new Timer(100, al); //Cada 100ms se llama al


}

@SuppressWarnings("unchecked")
private void initComponents() {
//Código generado por Netbeans
}

//Código del botón para iniciar y detener el Timer


private void jButton1ActionPerformed(java.awt.event.ActionEvent evt){
if (!temporizador.isRunning()) {
temporizador.start();
jButton1.setText("Detener");
} else {
temporizador.stop();
jButton1.setText("Iniciar");
}
}
public static void main(String args[]) {
//Código generado por Netbeans
}

private javax.swing.JButton jButton1;


private javax.swing.JRadioButton jRadioButton1;
}

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 9 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

Figura 4. Interfaz gráfica con jRadioButton1 y jButton1

Figura 5. Temporizador funcionando.

7. Ejercicio aplicado usando temporizadores

A partir del ejercicio realizado en clase, elaborar un programa que permita simular
gráficamente una competencia
automovilística de diez vehículos, diseñe cada uno de ellos usando herramientas de
Java2D.
Cada vehículo debe tener una velocidad aleatoria.

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 10 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores
Al final debe hacer una tabla ordenada con los tiempos de menor a mayor iniciando
por el ganador.

Permita que el usuario pueda apostar por algún vehículo antes de que inicie el juego
y anuncie si el vehículo seleccionado fue el ganador o no.
Finalice con un slider que permita acelerar o desacelerar el tiempo general del juego.

8. RESULTADOS ESPERADOS:

El estudiante debe estar en capacidad de construir y ejecutar aplicaciones en el


IDE NetBeans utilizando el lenguaje de programación orientado a objetos JAVA.

9. CRITERIO DE EVALUACIÓN A LA PRESENTE PRÁCTICA:


El estudiante debe entregar el programa funcionando, su código fuente y
sustentar su funcionamiento.

Criterio No Cumple Cumple


cumple parcialmente totalmente
Sustenta satisfactoriamente y responde a las 0 0.7 1.4
preguntas del docente
Implementa los algoritmos solicitados 0 1.5 3
Presenta claridad y orden y el código desarrollado es 0 0.3 0.6
orientado a objetos
Total 5.0

10. REFERENCIAS
[1] NetBeans IDE. (2013). Tutorial Quick Start Guide. Apache NetBeans.
https://netbeans.org/kb/docs/java/quickstart.html

[2] Deitel, P. J., & Deitel, H. M. (2016). Java: como programar. Pearson educación.
http://www.ebooks7-24.com.ezproxy.umng.edu.co/?il=4371

[3] Joyanes Aguilar, L., & Zahonero, I. (2008). Estructuras de datos en Java.
McGraw-Hill

[4] Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009). Introduction to
algorithms. MIT press.

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 11 de 12
contra de los derechos de autor
UNIVERSIDAD MILITAR NUEVA GRANADA

Laboratorio 3. Temporizadores

El uso no autorizado de su contenido así como reproducción total o parcial por cualquier persona o entidad, estará en Pagina 12 de 12
contra de los derechos de autor

También podría gustarte