Tema 2: Programación con
Scratch
1. PRIMEROS PASOS CON SCRATCH
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:
Vídeo de introducción a Scratch 3.0 (Pedro Ruíz Fernández)
1.1. Dando los primeros pasos
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.
                                      ACTIVIDADES (1)
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
    
                        1.        Crea un programa en el que el gato avance 20 pasos cada vez que se
                        pulse la bandera verde.
                        2.        Haz un programa en el que el gato gire 45 grados y luego avance 50
                        pasos cada vez que se pulse la bandera verde.
                        3.        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).
1.2. Dibujando con Scratch
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.
1.2.1. Cambiando las características del lápiz
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.
                                    ACTIVIDADES (2)
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
    
                       1.        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?
                       2.      Crea un programa en el que el personaje dibuje un rectángulo de
                       200 pasos de ancho y 100 pasos de alto.
                       3.      Crea un programa que dibujo un patrón parecido al siguiente:
1.3. Estructuras repetitivas
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:
                                            Actividades (3)
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
               1.      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)
2. SONIDOS CON SCRATCH
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:
                                          Actividades (4)
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
               1.        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.
               2.        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.
3. OPERADORES Y ESTRUCTURAS
SELECTIVAS
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
                          Actividades (5)
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.
4. OBJETOS Y ESCENARIOS
Scratch desarrolla historias en un escenario en el que se pueden incluir distintos
personajes y objetos que pueden ser programados de forma individual.
4.1. Escenarios
El escenario es la zona donde se muestran los personajes y objetos, cada escenario lleva
asociados sus propios fondos, sonidos y programas:
              Fondos: Son los escenarios de nuestros programas, pueden ser
              incluidos de la biblioteca de Scratch, subidos desde el ordenador o
              capturados desde una cámara web. Los fondos pueden ser cambiados
              durante el programa.
              Sonidos: Cada escenario tiene unos sonidos asociados que pueden
              obtenerse en la biblioteca de Scratch o pueden subirse desde el
              ordenador o grabarse a través del micrófono.
              Código: Son los bloques de instrucción que definen el comportamiento
              del fondo: cambiar de fondo, crear efectos, añadir sonidos, etc.
En el siguiente ejemplo se han incluido dos nuevos fondos llamados "castle1" y
"castle2" de la biblioteca; mediante el siguiente programa se puede cambiar el fondo al
pulsar las teclas 1 y 2.
4.2. Objetos
Los objetos son los personajes que podemos utilizar en nuestros programas de Scratch,
al igual que los fondos, podremos elegirlos de la biblioteca, dibujarlos en el mismo
programa, cargarlos desde el ordenador o desde una cámara web.
Y al igual que los escenarios, cada objeto lleva asociados sus propios disfraces, sonidos
y programas:
               Disfraces: Los disfraces son las distintas formas que puede adoptar un
               objeto, de esta forma podemos simular un personaje que anda, vuela o se
               mueve.
               Sonidos: En la biblioteca existen sonidos para cada personaje que
               pueden utilizarse durante el programa del objeto.
               Código: Son los bloques que definen el comportamiento de cada
               personaje. Cada personaje tiene su propia área de programas. Para
               hacer que se ejecuten todos los programas, hay que pulsar la bandera
               verde que hay encima de la ventana de ejecución.
En el siguiente ejemplo se ha realizado un programa para cada personaje, si
presionamos la bandera de cada personaje, solo se moverá ese personaje, pero si
presionamos la bandera verde de la ventana de ejecución, podremos ver cómo se
mueven ambos personajes.
                                    Actividades (6)
          Abre Scratch y realiza las siguientes actividades escribiendo previamente
          los diagramas de flujo.
             1. Elige un personaje que tenga varios disfraces (por ejemplo el tiburón)
             y un escenario adecuado. Haz que se mueva por el escenario.
               2. Crea una historia en el que dos personajes conversen entre sí, puedes
               sincronizar los diálogos utilizando el siguiente bloque que hace que un
               personaje espere un tiempo determinado.
               3. Simula un personaje que pasa de una zona a otra de un juego, por
               ejemplo elige dos fondos de la categoría "ciudad" y haz que el personaje
               se mueva hacia la derecha. Cuando toque el borde, cambia el fondo y
               haz que el personaje aparezca a la izquierda.
5. ANIMACIONES
Una animación consiste en crear la sensación de que el personaje se mueve, cambiando
disfraz alternativamente, por eso la mayoría de los personajes de Scratch disponen de
varios disfraces que podemos ver y editar en la pestaña disfraces.
5.1. Tamaño del personaje
En ocasiones también podemos conseguir la animación de un personaje
cambiando su tamaño, así podemos crear el efecto de que el mismo se aleja
o se acerca a nosotros.
5.2. Efectos en el personaje
Dentro de la categoría "Apariencia" se encuentra el bloque "cambiar
efecto", que nos permite hacer cambios en el aspecto del personaje, como
cambiar su color, verlo a vista de ojo de pez, pixelarlo, desvanecerlo,
hacerlo más brillante, aplicarle un remolino, etc.
                          Actividades (7)
Abre Scratch y realiza las siguientes actividades escribiendo previamente
los diagramas de flujo.
   1. Utiliza el gato para dibujar una línea de 180 pasos. Tras cada paso
   cambiará de disfraz y esperará un segundo. Cuando termine, tu
   personaje deberá pensar "Esto es fácil" durante tres segundos.
   2. Crea un programa en el que aparezca un personaje que se acerque y se
   aleje al caminar, cambiando de disfraz con cada paso.
   3. Aplica una deformación de ojo de pez a tu personaje. Debes aplicar el
   efecto de 10 en 10, repetirlo 50 veces y hacer una pausa de 0.1 segundo
   entre una repetición y la siguiente.
6. VARIABLES
A veces necesitamos guardar un dato a lo largo de un programa, como la
puntuación de un juego; en estos casos, Scratch dispone dentro de la
categoría Variables de unos bloques que nos permiten crear variables a las
que damos un nombre y que guardan datos durante el programa.
En el siguiente ejemplo se han usado dos datos " Respuesta1" y
"Respuesta2" para guardar los dos números que nos preguntan.
Solo aparecen los bloques naranjas cuando creamos al menos una
variable.
Los datos pueden ir cambiando durante la ejecución del programa, como en
el siguiente ejemplo, en el que hemos creado una variable llamada lado
cuyo valor inicial es 10, pero que se incrementa en 5 con cada paso del
bucle, para ir incrementando el lado de la espiral cuadrada.
7. LISTAS
Dentro de la categoría Variables se encuentra el botón Crear lista, que nos permite introducir una
lista de datos que nos servirá para seleccionarlos desde un programa.
Al crear una lista, nos aparecen los bloques que nos permite insertar, seleccionar o eliminar
elementos de la lista.
Comprueba el funcionamiento de las listas ejecutando el siguiente programa (Introduce los nombres
de los compañeros de clase).
                                      Actividades (8)
            Abre Scratch y realiza las siguientes actividades escribiendo previamente
            los diagramas de flujo.
               1. Prueba los dos ejemplos vistos antes.
               2. Crea un programa en el que el gato te pregunte tu nombre y luego tu
               apellido y después te diga "Te llamas ...", donde junte tu nombre y
               apellido.
               2. Crea un programa en el que introduzcas los nombres de todos los
               compañeros de la clase. Luego Scratch tiene que decir los nombres de
               todos, uno por uno.
Juego 1: Intenta tocar el gato que se mueve aleatoriamente por toda la
pantalla.
Juego 2: ¿Puedes adivinar el número en el que está pensando la hechicera?
(Fíjate cómo hemos desactivado la variable "número secreto" para que no
se vea en pantalla).
8. FUNCIONES
Una función es un conjunto de bloques que se encuentran dentro de un solo bloque al que le henos
dado un nombre determinado. Al ejecutar dicho bloque, se ejecutan todos los bloques que se
encuentran en su interior.
Las funciones son muy útiles cuando elaboramos largos programas en los que hay trozos de código
que se repite varias veces.
En Scratch podemos crear las funciones en la categoría Mis bloques.
Mira el siguiente vídeo de Youtube en el que nos explica cómo crear y utilizar un nuevo bloque.
Prueba el siguiente código donde se emplea una función creando un nuevo bloque. ¿Qué hace este
programa?