MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch MULTIHILOS Al escuchar la palabra multi-hilo, tal vez lo primero que te viene a la mente son muchos "hilos" de los que conocemos normalmente en casa, pero al hablar en términos de programación, no nos estamos refiriendo a esos "hilos". En programación, nos estamos refiriendo a los lenguajes de programación que permiten la ejecución de varias tareas en forma simultánea. Por ejemplo, consideremos la cantidad de aplicaciones que corren a la vez dentro de un mismo entrono gráfico. Mientras una persona escribe un documento, está corriendo Microsoft Windows además de Internet Explorer, Windows Explorer, CD Player y el Control de Volumen. Estas aplicaciones son ejecutadas dentro de alguna versión de Windows. De esta forma, podemos pensar que los procesos son análogos a las aplicaciones o a programas aislados, pero realmente tiene asignado espacio propio de ejecución dentro del sistema. Scratch, es un lenguaje multihilo, ya que permite la ejecución de varias actividades en forma simultánea, tanto en un programa creado en este lenguaje como en el corazón mismo del lenguaje (en la parte interna). Concepto de hilo. Los hilos o threads, son básicamente, pequeños procesos o piezas independientes de un gran proceso. También podemos decir, que un hilo es un flujo único de ejecución dentro de un proceso (un proceso es un programa ejecutándose dentro de su propio espacio de direcciones). Un hilo no puede correr por sí mismo, se ejecuta dentro de un programa, ya que requieren la supervisión de un proceso padre para correr. Se pueden programar múltiples hilos de ejecución para que corran simultáneamente en el mismo programa. La utilidad de la programación multihilo resulta evidente. Por ejemplo, un navegador Web puede descargar un archivo de un sitio, y acceder a otro sitio al MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch mismo tiempo. Si el navegador puede realizar simultáneamente dos tareas, no tendrá que esperar hasta que el archivo haya terminado de descargarse para poder navegar a otro sitio. Los hilos a menudo, son conocidos o llamados procesos ligeros. __________________________________________________________________ Actividad 1 (practica) ENVIAR A TODOS Con esta actividad se quiere que al presionar un botón mañana, tarde o noche; debe hacerse que cambie a tres fondos diferentes acordes al botón presionado, “amanecer, mediodía y noche”. Objetivos Desarrollar y fortalecer la habilidad en el manejo de los comandos de control "enviar a todos (mensaje)" y "al recibir (mensaje)" Tener en cuenta Dibujar los tres fondos y los tres botones necesarios para la actividad aplicando identificadores para los mismos. Escuchar la explicación de la función de los comandos de control "enviar a todos (mensaje)" y "al recibir (mensaje)", teniendo en cuenta el mensaje que se escriba. Programar los botones para que al presionar cada uno muestre el respectivo fondo. Control enviar a todos: MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch Ejecuta el programa que tiene debajo cuando recibe un mensaje específico “enviar a todos” (Broadcast). Control Recibir: Envía un mensaje a todos los Objetos, activándolos para que hagan algo y espera a que todos terminen antes de continuar con el siguiente bloque. Consigna: Lograr que el escenario cambie a tres fondos diferentes, amanecer/mediodía/noche según el objeto que se presione (botón amanecer, sol, luna). Con este ejercicio se busca desarrollar o afianzar la habilidad en el uso de las funciones "enviar a todos" y "al recibir" Paso 1: Dibujar los tres escenarios y los tres botones necesarios para la actividad aplicando identificadores para los mismos. Mañana Tarde Noche MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch Después detallar los identificadores para cada escenario, para ellos utilizamos la opción de control recibir, inserta tres de estos a la pestaña programa. Crear los tres botones y asignarles nombres que me permitan distinguirlos con facilidad. MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch Dentro de la programación de cada botón deberás insertar la opción de control al presionar Objeto Programar en cada botón utilizando la herramienta de control enviar a todos. Al insertar esta opción deberás ingresar en nuevo lo que desea enviar, en este caso sería el nombre de mañana el cual estará asociado al botón. MARTIN JARAMILLO PINO Proyecto Final Programación, creatividad y solución de problemas con Scratch Este paso deberas realizarlo con cada boton. Regresamos a la programacion de los escenarios dado que es en este lugar donde se crearan las opciones de recibido. En la acción recibir deberás seleccionar que vas a recibir, en este caso seria las alternativas que acabaste de crear: mañana, tarde y noche. Finalmente mediante la opción de apariencia a cada botón se le asignara un escenario diferente, según le corresponda. Actividad 2 (Realizar) OBJETOS QUE GIRAN Crear tres objetos, que cuando se presione cualquiera de ellos los otros dos deben girar. Objetivo: desarrollar o afianzar la habilidad en el manejo de los comandos "enviar a todos" y "al recibir".