Scratch es un entorno de programación gráfico y gratuito desarrollado por un grupo de investigadores del Instituto Tecnológico de Massachusetts (MIT) bajo la dirección del Dr. Mitchel Resnick.
Fue diseñado como medio de expresión para ayudar a los niños a expresar sus ideas de forma creativa, al mismo tiempo que desarrollan habilidades de pensamiento lógico, creando juegos y animaciones que pueden compartirse.
Podemos trabajar con una versión descargada e instalada en nuestro ordenador o bien con la versión on-line de la web http://scratch.mit.edu, que si nos registramos, nos permitirá guardar en nuestro espacio virtual los proyectos que desarrollemos.
Como el propio menú superior de la web indica, Scratch está pensado para crear, explorar, comentar, ayudar y buscar proyectos compartidos.
La sintaxis de Scratch se basa en un conjunto de bloques gráficos de programación que se ensamblan para crear programas.
Al entrar por primera vez en la web de Scratch tenemos dos opciones: Empezar a crear, que nos permite entrar en Scratch sin registrarnos y Únete.
Nosotros vamos a elegir la opción Únete, para poder guardar nuestros trabajos.
Después, nos pedirá nuestro nombre de usuario y una contraseña y pulsamos Siguiente.
Seleccionamos el idioma Spain y volvemos a pulsar Siguiente.
Escribimos nuestra fecha de nacimiento, género y correo electrónico del instituto en sucesivas pantallas.
Un mensaje de bienvenida nos dice que nos hemos registrado correctamente. Pulsando en el botón Comenzar, accedemos a nuestro Scratch.
Comprobamos que estamos registrados mirando nuestro nombre de usuario en la esquina superior derecha y ya podemos empezar a programar pulsando el botón Crear.
La pantalla que nos aparece tiene la siguiente forma y está formada por varias partes:
Si seleccionamos la categoría Movimiento, nos aparecen los bloques de la misma; prueba a pulsar sobre cualquier bloque y verán cómo se ejecuta dicho bloque. Si arrastramos el bloque a la zona de programa lo podemos ejecutar también pulsando sobre el mismo.
Cuando queramos ejecutar más de un bloque a la vez, los tenemos que apilar o conectar en el orden correcto y tenemos que incluir al principio el bloque "Al hacer clic en 🏴" de la categoría Eventos.
En la categoría Movimiento también está la orden "girar (...)grados", que permite que el gato gire sobre su eje una cantidad de grados determinados.
También está la orden "apuntar en dirección (...)" que nos permite situar el gato en distintas posiciones.
Además, la orden "ir a x:(...) y:(...)" nos permite situar al gato en un punto concreto de la pantalla.
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
Crea un programa en el que el gato avance 20 pasos cada vez que se pulse la bandera verde.
Haz un programa en el que el gato gire 45 grados y luego avance 50 pasos cada vez que se pulse la bandera verde.
Coloca el gato en la esquina superior izquierda y haz un programa para que ande hasta la esquina superior derecha, luego baje hasta la esquina inferior derecha, luego vaya hasta la esquina inferior izquierda y luego vuelva a la posición inicial. (Si lo haces bien, parece que el gato no se mueve).
Podemos hacer que el personaje dibuje una línea mientras se desplaza, para ello hay que pulsar el icono de añadir extensión que se encuentra en la esquina inferior izquierda de la pantalla y elegir la extensión "Lápiz".
Al volver atrás, vemos que se ha creado una nueva categoría llamada Lápiz, con varios bloques verdes en su interior.
Veamos para qué sirven algunos de esos bloques:
Si ponemos el bloque "bajar lápiz" antes de mover, veremos que Scratch va dibujando una línea mientras se mueve.
Si queremos que el personaje deje de dibujar, hay que utilizar el bloque "sube lápiz".
La orden "sellar" hace que el personaje se quede dibujado en el lugar en el que se encuentra.
La orden "borrar todo" nos permite borrar todos los trazos hechos en la pantalla de Scratch; se suele incluir al principio de los programas para limpiar trazos de programas anteriores.
Dentro de la categoría Lápiz existen una serie de órdenes que permiten ajustar el grosor ("fijar el tamaño de lápiz a 1") y el color del lápiz ("fijar color de lápiz a ") para dibujos con distintas líneas. En el siguiente ejemplo hemos dibujado un triángulo equilátero con lados de grosor 5 y de tres colores distintos.
Observa como en el ejemplo anterior se han empleado las órdenes "subir lápiz", "borrar", "ir a x:-120 y:80" y "apuntar en dirección 90º" para que el programa siempre se inicie con la pantalla en blanco y con el gato situado en un punto concreto.
Veamos el siguiente vídeo de Pedro Ruíz Fernández, donde se explica el uso del lápiz y se hace un pequeño programa para dibujar polígonos.
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
Crea un programa en el que el personaje avance 90 pasos dibujando una línea en color rojo, de grosor 5, a continuación debe girar 72 grados y repetir los pasos anteriores durante 5 veces (Sin utilizar estructuras de repetición). ¿Qué figura se ha obtenido?
Crea un programa en el que el personaje dibuje un rectángulo de 200 pasos de ancho y 100 pasos de alto.
Crea un programa que dibujo un patrón parecido al siguiente:
En los ejercicios anteriores hemos tenido que repetir varios bloques para conseguir dibujos con partes repetidas, como el triángulo o las líneas discontinuas.
Dentro de la categoría Control existen estructuras que permiten repetir los bloques que introduzcamos dentro: el bloque llamado "repetir (,,,)" y el bloque llamado "por siempre".
En los siguientes ejemplos se ha empleado el bloque de repetición "repetir (4)" para dibujar un cuadrado sin definir lado por lado y en el segundo ejemplo, se ha utilizado el bloque de repetición "por siempre" para no tener que estar moviendo continuamente al personaje. (Si no has quitado el lápiz, se hace un dibujo muy chulo).
Otras estructuras repetitivas son: "repetir hasta que (...)", que repite hasta que pasa "algo", como pulsar una tecla, chocar contra el borde, etc. y el bloque "esperar hasta que (,...)", que espera hasta que pasa "algo". Programas muy utilizados en juegos con movimiento.
En los siguientes ejemplos podemos observar el funcionamiento de dichos bloques:
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
Crea un programa que dibuje un octógono de color azul. En el programa solamente puedes utilizar una vez las siguientes instrucciones.
2. Dibuja una estrella multicolor de 36 puntas. Para ello, debes dibujar 36 veces un lado de longitud 120 y girar 170 grados para dibujar el siguiente.
Añade el siguiente bloque para cambiar de color:
3. Dibuja una estrella de 12 puntas multicolor, que tenga 12 lados de longitud 110 y girará 150 grados en cada trazo.
4. Crea un programa en el que el personaje gire 15 grados cada vez que se pulse la tecla g. (Para conseguirlo, utiliza el siguiente bloque)
Veamos el siguiente vídeo para comprender cómo añadir sonidos a nuestro proyecto de Scratch:
También podemos hacer música con instrumentos a través de la extensión "Música".
Veamos cómo se hace en el siguiente vídeo:
Por último, podemos hacer que nuestros personajes hablen con la extensión "Texto a voz" de Scratch.
Veamos cómo se hace en el siguiente vídeo:
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
Crea un programa en el que el gato "cat" nos cuente un chiste. Utiliza la extensión texto a voz y el bocadillo al mismo tiempo.
Crea un programa en el que el gato dibuje un rectángulo en pantalla, cada vez que llegue a una esquina, tiene que decir alguna palabra tanto con voz, como con un bocadillo.
Dentro de la categoría Operadores existen las operaciones matemáticas básicas +, -, *, /, números aleatorios y otras funciones para unir palabras.
Las estructuras selectivas se utilizan para tomar decisiones y hacer una cosa u otra dependiendo de si se cumple una condición o no.
Las condiciones básicas son "Si..." y "Si... , sino..." y están dentro de la categoría Control (color naranja) Veamos unos ejemplos para aclarar su uso:
El operador "modulo" nos da el resto de una división, por lo tanto podremos identificar los número pares si dividimos por 2 y el resto es 0.
También existen operadores para realizar operaciones con letras y palabras.
Para obtener un número al azar o "aleatorio" entre dos cantidades, se utiliza el siguiente bloque
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
1. Prueba los cuatro programas vistos anteriormente.
2. Crea un programa en el que te pregunte un número y luego te diga un número al azar entre 0 y el que tu has dicho.
3. Crea un programa que pregunte un número y diga si es múltiplo de 10.
4. Con el programa de la derecha, se puede dibujar un círculo (realmente es un polígono de 72 lados). Amplia el programa para que dibuje 10 círculos de distintos colores en posiciones de la pantalla al azar.