Introducción a SNAP!
Snap! es un lenguaje de programación gráfico o por bloques diseñado para la enseñanza de programación que ayuda a les estudiantes a desarrollar el pensamiento computacional, permitiendo crear instrucciones y bloques personalizados para crear programas, interactuar con datos o desarrollar videojuegos.
Snap! nos ofrece una interfaz simple con todas las herramientas necesarias tanto para crear los programas como para el diseño de personajes y escenarios, así como la integración de sonidos.
Para acceder a la plataforma, podemos hacerlo tanto en la versión /en línea/ o descargándolo siguiendo las instrucciones de su sitio web (en inglés).
Interfaz de Snap!
La interfaz de Snap! presenta tres secciones principales:
- Bloques: aquí se encuentran todos los bloques disponibles para utilizar, así como la opción para crear nuevos bloques
- Sección central: Esta sección cuenta con tres pestañas:
- Programas: Aquí es donde se arrastran los bloques y se construyen los programas tanto de los personajes como del escenario.
- Disfraces/Fondos de escenario: tanto los personajes como el escenario pueden tener distintas vistas, que en Snap! se llaman disfraces. Podemos por ejemplo diseñar un personaje que tenga un aspecto determinado y que cuando sea tocado por otro objeto ese aspecto cambie por unos segundos. También podemos diseñar distintos fondos de escenario, que vayan cambiando según las instrucciones del programa.
- Sonidos: esta pestaña permite grabar o importar sonidos para ser utilizados en los programas.
Nuestro primer progama
Dibujamos el personaje
Vamos a comenzar a desarrollar nuestro primer programa, que consistirá en crear un personaje y moverlo con las flechas de dirección del teclado. Pero antes vamos dibujar nuestro personaje y el escenario.
Para ello, vamos a hacer click en el ícono del pincel en la sección de objetos.
De esa forma accedemos al Editor Gráfico, donde encontraremos las herramientas necesarias para dibujar nuestro personaje. Una vez que terminamos de dibujar, hacemos click en Aceptar y veremos nuestro personaje creado.
Seleccionamos nuestro personaje dentro de la sección objetos haciend click sobre él y podremos entonces darle un nombre en la sección de programas y disfraces.
Cuando iniciamos un programa en SNAP! vemos que ya hay un primer objeto creado con forma de flecha, como no vamos a utilizarlo lo vamos a eliminar. Para ello hacemos click con el botón derecho del mouse sobre el objeto de nombre “Objeto” y veremos que se despliega un menú de opciones. Esto sirve para todos los objetos, desde este menú podemos modificarlos, exportarlos, duplicarlos y eliminarlos. Elegiremos entonces la opción Eliminar para quitar el objeto que viene por defecto en SNAP!.
Dibujamos el fondo
Para dibujar el escenario, en la sección de objetos hacemos click sobre el objeto Escenario. Luego, en la sección de programas y fondos de escenario hacemos clic en la pestaña Fondos de escenario. Allí haremos click sobre el ícono del pincel y veremos el mismo Editor Gráfico para crear nuestro escenario.
Programando los movimientos
Ya tenemos creados personaje y escenario, ahora vamos a crear el programa para que nuestro personaje se mueva utilizando las flechas del teclado. Pero antes de ponernos a “programar” tenemos que saber ¿qué es un programa?
Programas y Algoritmos
Un algoritmo es, en forma intuitiva, una receta: una secuencia de pasos o instrucciones precisas que permite resolver un problema o realizar una tarea. Los algoritmos son centrales para el funcionamiento de las computadoras, ya que todas las tareas que realizan consisten en seguir algún algoritmo. Sin embargo, la idea de algoritmo tambiénestá presente en muchos otros aspectos de la vida cotidiana, fuera del mundo de las computadoras.
Por ejemplo, ¿cuáles son los pasos para hacer un matecocido?
- Colocamos agua en una pava.
- Encendemos la hornalla.
- Colocamos la pava en la hornalla.
- Esperamos a que el agua hierva.
- Servimos el agua caliente en una taza.
- Colocamos un sobre de mate cocido en la taza.
- Esperamos 4 minutos.
- Quitamos el sobre de la taza.
- Listo.
¿Podemos hacer este procedimiento de otra forma, agregando o quitando pasos?¿le falta o le sobra algo?¿que otros “algoritmos” usamos en nuestra vida cotidiana?
Podemos entonces decir que un /algoritmo/ es una secuencia de instrucciones que indican cómo realizar una tarea para alcanzar un objetivo.
Referencia: Ciencias de la Computación para el aula 1er Ciclo Primaria, Capítulo 2
Programando en SNAP!
Vamos a comenzar con un programa simple para controlar el movimiento del Personaje.
Para ello, dentro de los bloques de Control elegiremos el bloque “cuando se pulse la tecla …”. Observamos que el bloque nos da la opción de elegir una tecla, allí elegiremos la tecla “flecha derecha”
Luego, tenemos que indicarle en qué dirección se tiene que mover, para eso, dentro de los bloques de movimiento elegimos el bloque “apuntar en dirección …”. Observamos también que este bloque no da la opción de elegir la dirección. Elegiremos la opción “90 (derecha)”.
Una vez que tenemos definida la dirección, ahora le indicaremos que avance en ese sentido. Para ello, utilizaremos el bloque de movimiento “Avanzar 10 pasos”.
Ahora vamos a probar nuestro programa: si tocamos la tecla “flecha derecha”, el personaje debería moverse a la derecha 10 pasos…¿lo hace?
¿Te animás a programar al personaje para que se mueva hacia arriba, abajo y a la izquierda?
Mejorando el movimiento
Si bien nuestro programa hace lo que deseamos, hay otra manera de controlar a nuestro personaje donde la respuesta a la interacción del jugugador o jugadora es más rápida.
Para ello, primero vamos a elegir el bloque de control “Cuando se pulse ..”. Este bloque sirve para indicar que lo que vamos a programar se realice cuando se pulsa en el ícono de la banderita verde, es decir, cuando iniciamos el programa.
Luego, vamos a usar otro bloque de control, el de “Repetir y Repetir”. Este bloque sirve para que las opciones que vamos a poner debajo se realicen una y otra vez, en forma de loop.
Repeticiones
La repetición o bucle es una estructura de control que utilizamos para ejecutar varias veces las mismas acciones, de modo que nos permite controlar el flujo de ejecución del programa.
En programación podemos encontrar varios tipos de repeticiones, pueden ser “para siempre”, o mientras se cumpla una condición, o también podemos indicar que la secuencia se repita una determinada cantidad de veces.
Ahora, elegiremos un bloque de control “si”. Este bloque nos permite realizar acciones si se cumple una determinada condición. Lo que haremos con este bloque es “preguntar” si hay una tecla presionada, para ello usaremos el bloque de sensores “¿tecla … pulsada?” dentro del bloque “Si”. De esta manera definimos las acciones que se realizarán a continuación si se cumple la siguiente condición: Si la tecla está pulsada.
Casi todos los lenguajes de programación tienen un mecanismo para expresar alternativas condicionales, que indican que algunas instrucciones solo tienen que ejecutarse en algunos casos, según se cumpla o no cierta condición.
Las alternativas condicionales tienen dos partes: una acción y una condición. Por ejemplo, en la frase “si está lloviendo, salgo con paragüas”, vemos que la condición es “si está lloviendo” y la acción “salgo con paragüas”.
Recordemos que al usar un bloque “repetir y repetir”, está pregunta la estará haciendo todo el tiempo, lo cual nos dará una respuesta más rapida que en el programa anterior.
Para finalizar, dentro del bloque “si”, usaremos los bloques de movimiento “apuntar en dirección” y “avanzar 10 pasos”, tal como lo hicimos en el programa anterior.
¿notas diferencias en la reacción del personaje entre estas dos formas distintas de programar lo mismo?¿cuáles?
Guardamos nuestro programa
Ahora que finalizamos nuestro primer programa, vamos a guardarlo para poder verlo nuevamente o seguir agregandole funcionalidades. Para ello hacemos click en el ícono de la hoja en blanco y elegimos la opción “Guardar”.
Luego añadimos un nombre y hacemos click en “Aceptar”. Veremos que el programa se guarda en la carpeta “Descargas” de nuestra computadora. Para recuperar este trabajo, la próxima vez que utilicemos SNAP! podemos elegirlo mediante la opción “Abrir” en el menú que se despliega al hacer click en el ícono de la hoja en blanco.