130 likes | 220 Views
Le cció n 5: Soluciones de Programación conTareas Múltiples y Relojes. Ejercicio 1 . Escriba un programa con 2 ta rea s. La primera tarea vigila un sensor de contacto para siempre y ejecuta un sonido si el sensor es presionado .
E N D
Lección 5:Soluciones de Programación conTareas Múltiples y Relojes
Ejercicio 1 Escriba un programa con 2 tareas. La primera tarea vigila un sensor de contacto para siemprey ejecuta un sonido si el sensor es presionado. La segunda tarea vigila a un segundo sensor de contacto para siempre. Si este sensor es presionado, el motor A avanza por 1 segundoy después se apaga.
Ejercicio 1: Solución Use 2 pares Salto/Tierra de distinto color para las 2 distintas tareas. Necesita separar en dos tareas No olvide la luz roja al final de cada tarea. Recuerdeespecificar puertos distintos para los sensores de contacto.
Ejercicio 2 Escriba un programa con 3 tareas. La primera tareaemite 4 sonidos. La segunda hace avanzar al motor A por 2 segundos y luego lo apaga. La tercera tarea enciende el motor C en reversa por 5 segundos y después lo apaga.
Ejercicio 2: Solución Si usa un lazo, ahorra un ícono. …y volver a separarlas. El secreto es separar las tareas... Use modificadores de constante numérica para especificar los 5 segundos.
Ejercicio 3: Solución Escriba un programa que emite un sonido por 5 segundos exactos. Esto es similar al Problema de la Bifurcación Rotacional. El tiempo se expresa en décimas de segundo. Recuerde poner a cero el reloj.
Lección 5:Ideas para Solucionar Problemas con Tareas Múltiples y Relojes
Problema 5a ¿Cuál es el error con este programa?
Solución 5a Recuerde: Sólo las bifurcaciones necesitan fusión. La separación de tareas sólo requiere luces rojas al final de cada tarea.
Problema 5b ¿Cuál es el problema con este programa? Indicación: Qué es lo que toda bifurcación necesita?
Solución 5b Desafortunadamente, si usa una separación de tarea después de una bifurcación, NO HAY FORMAde volver a fusionar la bifurcación; luego, no lo haga.
Problema 5c Este programa debería emitir un sonido por exactamente 5 segundos, pero suena para siempre! ¿Cuál es el error? Indicación: ¿Qué es lo que hace inmediatamente después de caer en la tierra roja?
Solución 5c El Problema es, que el reloj es puesto a cero en cada nuevo ciclo. En este programa, el reloj se debe poner a cero sólo al inicio del programa.