Saltar la navegación

5. Sistema de Gestión de turnos

Retor dice

Ahora es el momento de resolver el reto final. Sistema Gestión de Turnos.

Se trata de gestionar el control de turnos de un establecimiento por ejemplo una carnicería.

-Objetivo.
a) Cuando entra un cliente, pulsa el botón “A” y anota su turno, su número aparece en la pantalla sólo un segundo. Después vuelve aparecer el nº del cliente que está siendo atendido.

b) Cuando el carnicero termina con un cliente pulsa el botón “B” se muestra el número del próximo cliente de forma permanente y un aviso sonoro suena indicando cambio de turno.

Así que… Debéis estar muy atentos y atentas a la descripción del problema.

¡Seguro que lo harás muy bien! ¡Confía en ti!

1. Planteamiento y descripción del problema

-Descripción del código.
Primero creamos las variables llamadas Turno y Ticket. Se usará el evento al iniciar, y se reiniciara las variables a 0,  -ver imagen-

Si pulsamos A, cambia Ticket por 1, borra pantalla, mostrar nº de ticket, esperar 1 segundo, mostrar el turno.

Al presionar B, …

-Propuesta.
El carnicero se va a desayunar, y pulsa A+B, entonces aparece DESCANSO, la recogida de ticket se cancela y la atención de clientes también.  Al volver al pulsar A+B, la atención de cliente continua por el cliente a quién le tocaba su turno, y la recogida de ticket se reanuda. Cuando la carnicería está abierta creamos y fijamos la variable ABIERTO=1, cuando se cierra por descanso, se fija a ABIERTO=0.

2. Implementando la solución

A continuación mostramos la implementación detallada del problema a resolver.

Inicializar Sistema


o... 

Al presionar botón "A"

Al presionar "B

Al presionar "A+B"

3. Actividades

A continuación se presenta varias actividades para que afianzar lo estudiado.

¡Ánimo!

Actividad 1: Implementa

Realiza el código de la imagen en el entorno de programación, cárgalo en la placa y comprueba su funcionamiento.

Al iniciar: mostrar cadena “Hola!”/ por siempre: mostrar icono corazón expandido, pausa de 200 ms, mostrar icono corazón contraido, pausa de 200 ms

Actividad 2: Implementa cronometro

Al presionar una sola vez el botón A, automáticamente van apareciendo los números del 0 al 9 a intervalos de 1 segundo.

-Objetivo.
a) Al finalizar, suenan 4 pitidos cortos separados en el tiempo.

b) Al finalizar el sonido, debe apagarse la pantalla


-Propuesta.
Si pulsamos el botón B, la cuenta en lugar de ascender, desciende cuando llega a 0 vuelve a reiniciarse en 9 y suena un solo pitido.

Actividad 3: Corregir error

El siguiente programa se ha bugueado y no funciona correctamente, ¿puedes arreglarlo para que escriba A cuando se pulsa el botón A; B al pulsar el B y A+B cuando se pulsen los dos botones a la vez?

al iniciar: mostrar cadena A/ para siempre: mostrar cadena “B”/ al presionar A+B: mostrar cadena “A+B”

Imagen que muestra un objeto rotoDefinición:

Expresión coloquial para indicar que un programa o una parte de él tiene bugs (​errores) que impiden su correcto funcionamiento.

Ejemplo:

El videojuego se ha bugueado y ha dejado de funcionar.

Actividad 4: Agitar

Replica el ejemplo haciendo que se realice una actuación cuando la placa se agita.

Actividad 5: Sonido

Replica el ejemplo haciendo que se escriba un mensaje cuando la placa detecta un sonido de nivel alto.

Al detectar sonido alto: mostrar icono corazón expandido, pausa de 500 ms, mostrar icono corazón contraido, pausa de 500 ms