SCRATCH-UNIDAD 1

1
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
 Tema 1: Conceptos básicos
 1.1 Qué es Scratch: ejemplos de proyectos
 1.2 Versiones del programa
 1.3 Configuración
 1.4 Entorno de trabajo
 1.5 Bloques de programación
o Las instrucciones
o Expresiones Booleanas
o Condicionales
o Ciclos
o Variables
o Hilos
o Eventos
 Tema 2: Los personajes:
 2.1 Propiedades
 2.2 Modificaciones
 2.3 Creación
 2.4 Escenario
 2.5 Trayectoria y dibujo
 Tema 3: ¿Cómo y dónde programamos?
 3.1 Instrucciones y bloques
 3.2 Zona de programación
 3.3 Antes de empezar
 3.4 Estructura Secuencial
 3.5 Estructura Interactiva I
 3.6 Expresiones
 3.7 Estructura Interactiva II
 3.8 Estructura Condicional
Ejercicios de la Unidad 1
 Manipulación de objetos
 Animaciones
 Dibujar polígonos
 Encuentra el error
 Evaluación de la unidad 1: 10 preguntas tipo test
2
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
TEMA 1: Conceptos básicos
1.1 ¿Qué es Scratch?
Scratch es un entorno de programación creado en el Massachusetts Institute of Technology
(MIT) como resultado de la investigación llevada a cabo en el Lifelong Kindergarten Group.
Su lema es: "Imagina-Programa-Comparte".
Es heredero directo del constructivismo de Piaget y posterior construccionismo de Seymour
Papert (creador del LOGO de los años setenta y ochenta). Scratch aprovecha los cambios
tecnológicos ocurridos desde entonces para mejorar sustancialmente la interfaz del entorno y
hacer que el objetivo de la programación de ordenadores sea la resolución de un problema sin
tener que preocuparse de la sintaxis.
Se trata de un editor para programar animaciones y juegos, todo ello utilizando pistas de música y
dibujos propios. Visualiza este vídeo, https://vimeo.com/65583694, es ilustrativo y te animará saber
que has tenido una buena elección al querer realizar este curso.
El autor recomienda Scratch para mayores de 8 años. Asegura que ayuda a desarrollar
conceptos de programación en un entorno de creatividad artística.
En el aula entre otras cosas:



Desarrolla: el pensamiento lógico y algorítmico; métodos para solucionar
problemas de manera metódica y ordenada; el hábito de hacer auto diagnosis con
respecto a su trabajo; la capacidad de poner en duda las ideas de uno mismo.
Posibilita: la obtención de resultados complejos a partir de ideas simples; el
aprendizaje colaborativo a través del intercambio de conocimiento…
Los alumnos trabajan a su ritmo en función de sus propias competencias; aprenden
a asumir conceptos matemáticos: coordenadas, variables, algoritmos, aleatoriedad,
fundamentos de la programación; usan distintos medios: sonido, imagen, texto,
gráfico…
En este curso, después de haber creado algunos juegos o hecho algunos proyectos, podrás
compartir tus obras con otros usuarios en línea, este juego será muy interesante para los
niños, ya que aprenderán a hacer cálculos matemáticos, razonar sistemáticamente y dejar
libre su imaginación jugando.
En este enlace hay un interesante artículo del Dr. David Malan profesor de Harvard, donde
describe su gran funcionalidad.
3
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
1.2 Versiones
Cuando accedemos a http://scratch.mit.edu aparece una página parecida a esta:
(Guarda la dirección de esta web en tus favoritos,
trabajaremos con ella durante todo el curso)
La versión 1.4 of line la puedes adquirir desde este
enlace (http://scratch.mit.edu/scratch_1.4 ).
La versión 2.0 of line de Scratch, es la última y es
igual que la versión on-line, la puedes adquirir desde
este link: (http://scratch.mit.edu/scratch2download).
Este curso está preparado para trabajar on-line, para ello deberás darte de alta en la web de
Scratch, http://scratch.mit.edu es gratuito y fácil de registrarse. No obstante, si quieres,
puedes bajarte la versión 1.4 del programa, desde la web mencionada anteriormente.
Scratch es un fenómeno de alcance mundial. Es más que un lenguaje de programación, se
definen a sí mismos como "una comunidad de aprendizaje con varios millones de proyectos
compartidos". Cualquier programa que hagas en este entorno lo puedes compartir con el
resto del mundo con sólo pulsar un botón. Se trata de compartir para aprender.
Puedes navegar por la web de Scratch y ejecutar cualquiera de los proyectos compartidos, ver
cómo se han hecho y si tienes alguna idea para ampliarlo puedes hacer tu propia versión, que
formará parte del árbol de reinvenciones del programa original.
1.3 Configuración
El programa con el que vamos a trabajar no necesita configuración puesto que está en la nube, no
obstante si quieres cambiar el idioma, no tienes más que pinchar en el icono que verás en la parte
superior izquierda de la ventana.
Si decides instalar el programa en tu ordenador (aunque como ya hemos dicho en el tema
anterior este curso está configurado para realizarlo totalmente on line), puedes hacerlo
desde esta web https://scratch.mit.edu/scratch_1.4/. Elige tu sistema operativo, clic sobre el
deseado y guardas el archivo en tu escritorio donde aparecerá este icono:
Doble clic y sigue los pasos que salen por defecto.
En la misma ventana encontrarás algunas preguntas frecuentes que te pueden ser útiles.
4
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
1.4 El entorno de trabajo
Esta es la ventana donde trabajaremos, en ella distinguimos distintas zonas. En función del color con
que están marcadas:









Naranja: Bloque de programación organizado por categorías. Cada una de ellas se
identifica con un color y las acciones de cada categoría mantienen su color:
Verde claro: Bloque de acciones correspondientes a la categoría seleccionada (en este
caso “movimiento”.
Verde oscuro: Zona de los personajes.
Azul oscuro: Botones para crear nuevos personajes o nuevos fondos (el escenario
puede cambiar de color).
Morado: Zona de programación.
Rosa: Botones para poner en marcha y detener la ejecución del programa.
Rojo: Escenario donde se ejecutarán nuestros programas.
Amarillo: Botones para manipular los personajes del escenario
Azul claro: Menús del programa.
Debes tener en cuenta que el bloque de programación consta de categorías y que cada categoría tiene sus
propias acciones: Instrucciones, Expresiones Booleanas, Condicionales, Ciclos, Variables, Hilos, Eventos.
(Todas estas acciones, se especifican en el apartado siguiente)
5
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
1.5 Bloques de programación
Scratch construye los programas mediantes bloques parecidos a los de un puzle:







Instrucciones
Expresiones Booleanas
Condicionales
Ciclos
Variables
Hilos
Eventos
Cada uno de estos bloques los pondremos en práctica a medida que vayamos desarrollando los distintos
ejercicios y actividades que se proponen en las unidades que conforman el curso.
INSTRUCCIONES
En programación, una instrucción simplemente es la indicación o directiva que le dice al
ordenador que haga algo. Piensa en ella como un comando o sentencia. En Scratch, cualquier
bloque cuya etiqueta se lea como una orden, es una instrucción.
Uno de esos bloques le da instrucciones a un objeto (sprite) para que diga algo:
Otro bloque de instrucciones indica que vayas a algún sitio:
A veces, quieres que una instrucción se ejecute solo bajo ciertas condiciones. Esas condiciones se
definen en términos de expresiones Booleanas, en las que nos fijaremos a continuación.
EXPRESIONES BOOLEANAS
En programación, las expresiones Booleanas, son expresiones que son o ciertas o falsas. En
Scratch, cualquiera de los bloques que tiene forma de diamante alargado es una expresión
Booleana. Uno de esos bloques es:
Después de todo, es cierto o es falso que el botón del ratón (mouse) esté presionado.
Otro de esos boques
es:
6
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Después de todo, es cierto o es falso que un número dado es menor que otro número. Con
expresiones Booleanas podemos construir estructuras condicionales, en las que fijamos
ahora nuestra atención.
CONDICIONALES
En programación, una condición es algo que debe ser cierto para que algo pueda pasar. Una
condición es entonces decir que “se evalúa para verdadero” o “se evalúa para falso”. En Scratch,
cualquier bloque cuya etiqueta diga “si”, “al presionar” o “hasta que” es un tipo de constructo
condicional.
Uno de esos bloques es:
El constructo anterior se conoce generalmente como un “si constructo”. Con este podemos
darle instrucciones a un objeto para que por ejemplo, diga “hola” únicamente cuando el
usuario presione el botón izquierdo del ratón (mouse):
Un constructo relacionado es “si - si no” constructo
Con el constructo anterior damos instrucciones al objeto para que diga “hola” o “adiós”,
dependiendo de que el usuario haya presionado el botón izquierdo del ratón (mouse):
7
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Ten en cuenta de que estos constructos pueden anidarse para permitir, por ejemplo, tres
condiciones diferentes:
El constructo anterior podría llamarse “si-si no”, “si-si no” constructo
Otro bloque condicional es:
Y otro más de este tipo es:
Algunas veces, quieres que una o varias de estas instrucciones se ejecuten repetidamente
de manera continua. Para implementar esta conducta, debemos dirigir nuestra atención a
los “ciclos” (loops).
CICLOS
En programación, un ciclo puede causar la ejecución de múltiples instrucciones. En Scratch
cualquier bloque cuya etiqueta comience con “por siempre” o “repita” es un constructo repetitivo
o cíclico.
Uno de esos bloques es:
8
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Este constructo nos permite, por ejemplo, dar instrucciones a un objeto para que
indefinidamente diga “Miau” durante un segundo, con intervalos de un segundo:
Otro bloque le permite hacer el ciclo un número específico de veces:
Y otro bloque le permite repetir un ciclo hasta que una condición sea verdadera:
Algunas veces, quieres ejecutar una instrucción muchas veces, cada una de ellas variando
ligeramente su comportamiento. Por lo que ahora nos fijaremos en las variables
VARIABLES
En programación una variable es un “sitio” para almacenar valores, de la misma manera en que x y
y son variables populares en álgebra. En Scratch, las variables se representan con bloques que
tienen forma de círculos alargados, que solo puedes etiquetar tú. Las variables, generalmente
hablando, pueden ser locales o globales. En Scratch, una variable local solo la puede usar un
objeto; una global la pueden usar todos los objetos.
Las variables nos permiten, por ejemplo, dar instrucciones a un objeto para que cuente de
manera ascendente desde 1:
Una variable que solo toma dos valores posibles; por ejemplo, 1 para verdadero o 0 para
falso, se llama variable Booleana
9
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Con: instrucciones, expresiones Booleanas, condicionales, ciclos y variables, ahora en su acervo
como bloques de construcción, podemos explorar ya dos constructos de programación de mayor
nivel, comencemos por los hilos.
HILOS
En programación, un hilo es como un mini código dentro de un programa que se puede ejecutar al
mismo tiempo que lo hacen otros hilos. Entonces, un programa con múltiples hilos, puede hacer
muchas cosas al mismo tiempo. En Scratch, cualquier bloque cuya etiqueta comience con “al
presionar”, está indicando o demarcando esencialmente el inicio de un hilo: piensa en que lo que
Scratch llama “programas” como un hilo (técnicamente los “programas” corren en hilos, bueno
pero eso no importa).
Uno de esos bloques es:
Como sugiere la etiqueta del bloque anterior, este hilo se comienza a ejecutar cuando el usuario
hace clic en la bandera verde ubicada en la esquina superior derecha de Scratch. Entonces, un
programa con dos de estos bloques, tiene “dos hilos de ejecución” que comenzaran a ejecutarse
simultáneamente cuando el usuario presione la bandera verde.
Con frecuencia, es útil utilizar hilos separados para tareas conceptualmente diferentes. Por
ejemplo, quieres hacerle seguimiento a si el usuario en algún momento presiona una tecla
determinada durante la ejecución de un programa para, por ejemplo, implementar un interruptor
que prenda (1) y apague el sonido (0).
Toma nota, que en este par de códigos, el hilo ubicado a la izquierda es el encargado de
generar el maullido, si la variable “sonido” tiene almacenado el valor 1 (on); mientras que
el hilo de la derecha constantemente comprueba y recuerda si el usuario ha enmudecido o
encendido el sonido, presionando la tecla “m”.
Relacionados con los hilos están los eventos, en los que a continuación fijaremos nuestra
atención.
10
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
EVENTOS
En programación, múltiples hilos puedan comunicarse unos con otros mediante invocación y
manejo de eventos. Un evento, entonces, es como un mensaje que un hilo envía a otro. En
Scratch, los bloques cuyas etiquetas comienzan con “enviar a todos” invocan eventos, así como los
bloques cuyas etiquetas comienzan con “al recibir” manejan eventos.
Un bloque que invoca un evento es:
Un bloque que maneja un evento es:
Un evento no solo puede ser invocado por un bloque, sino que las acciones de un usuario
pueden invocarlo también. Por ejemplo, al hacer clic en la bandera verde de Scratch,
efectivamente se invoca un evento que se maneja por:
En Scratch, no solo los eventos permiten la comunicación entre hilos, sino que también
permiten a los objetos comunicarse unos con otros. Por ejemplo, dos objetos pueden
querer jugar Marco Polo entre ellos, con el comportamiento de uno de ellos definido por el
hilo que se encuentra abajo, a la izquierda y el comportamiento del otro objeto definido
por el hilo que se encuentra abajo a la derecha:
Además de instrucciones, expresiones Booleanas, condicionales, ciclos, variables, hilos y
eventos puedes construir programas divertidos e interesantes. De hecho, exploremos el
funcionamiento interno de lo que a primera vista parece ser un programa muy complejo
pero que en realidad, es solamente una aplicación de estos bloques de construcción.
11
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
TEMA 2 Los personajes
2.1 Propiedades
En la zona de personajes aparecen los que estamos usando. Si hacemos clic en la “i” de un
personaje en concreto, o un clic con el botón derecho sobre el personaje, en el menú
desplegable “info” veremos todas sus propiedades:
Podemos ver y modificar diferente características del personaje, algunas de las cuales se
pueden modificar también en modo ejecución. Si vamos variando la dirección, veremos cómo
afecta al personaje. Si combinamos la variación de la dirección con el estilo de rotación
veremos también cómo afecta la combinación de ambas propiedades. Para cambiar estas
propiedades en modo ejecución tenemos estas instrucciones:
Debes tener en cuenta que la dirección no es como el sistema de coordenadas al que estamos
acostumbrados:




90 es a la derecha.
-90 Es a la izquierda.
0 es arriba.
180 es abajo.
Y, obviamente, podemos poner cualquier valor entre -180 y 180 para indicar una dirección
concreta, donde los valores positivos señalan a la derecha y los negativos a la izquierda:
12
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
2.2 Modificaciones
Duplicar, eliminar, y cambiar el tamaño de los personajes (cambios)
Los personajes que vemos en el escenario los podemos manipular directamente con estos
botones:

Tampón: Duplica el personaje del escenario donde se aplica el tampón,

Tijeras: Elimina el personaje del escenario donde se aplican las tijeras,

Agrandar: Aumenta el tamaño del personaje del escenario donde se aplica

Empequeñecer: Disminuye el tamaño del personaje del escenario donde se aplica
Practica con ellos en tu Scratch.
2.3 Crear nuevos personajes
Para añadir un nuevo personaje a nuestro proyecto tenemos cuatro opciones diferentes:




Elegir un personaje de la galería
de Scratch.
Dibujarlo nosotros.
Subir una imagen.
Hacer una foto con la cámara
En cualquier caso, si posteriormente queremos modificar el personaje, pincha en la pestaña disfraces y
aparecerá un editor de imágenes, lo mismo que si queremos partir de un dibujo hecho por nosotros.
Este editor de imágenes puede trabajar en modo vectorial o en modo mapa de bits, con estas dos
apariencias:
Ambos entornos de dibujo son muy
similares y sólo difieren respecto a las
herramientas propias de cada entorno.
Ahora sería un buen momento para
practicar con los personajes y jugar con
las diferentes opciones y recuerda que
puedes pasar de un modo a otro en
cualquier momento.
13
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
2.4 El escenario
Ya sabes que la zona donde aparece el “gatito” es el escenario, es ahí donde los personajes
ejecutarán las acciones que hayamos programado. El escenario tiene 480 píxeles de ancho por
360 píxeles de altura y en el centro mismo del escenario está el punto (0,0). Por tanto, la
coordenada x tendrá valores situados entre -240 y 240, y la coordenada y entre -180 y 180.
Podemos ver cómo varían los valores de las coordenadas del ratón y de un personaje cuando
los movemos por el escenario. Hay que fijarse que las coordenadas del ratón están justo
debajo del escenario, mientras que las coordenadas del personaje están debajo de su imagen
en la parte superior derecha de la zona de programación. De hecho, en el personaje, lo que
indican estas coordenadas es la posición del "centro" del personaje (su centro de rotación).
14
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
2.5 Trayectoria y dibujo
Todos los personajes de Scratch tienen asociado un lápiz, que podemos activar con la
instrucción 'baja el lápiz' de la categoría 'Lápiz' y desactivar con la instrucción sube el lápiz.
Cuando está activo, (cuando se mueve el personaje) el lápiz va dibujando su trayectoria, lo
cual nos permite hacer dibujos.
Estos dibujos se hacen sobre una capa que es común a todos los personajes, por eso la
instrucción “Borrar”, de la misma categoría “Lápiz”, no borra solamente los dibujos hechos por
un personaje, sino todos los dibujos que se encuentren en la capa de dibujo. Hay que tener en
cuenta que la “punta” del lápiz está situada en el centro de rotación del personaje. Este lápiz
tiene asociado un color, una intensidad y un grosor que podemos cambiar de forma dinámica
con las instrucciones correspondientes.
Por otra parte, los personajes también tienen una instrucción que se llama “sellar”, que les
permite dejar estampado en la capa de dibujo una imagen de sí mismo.
Ahora que tienes un cierto dominio sobre la manipulación de los personajes dentro del
escenario. ¿Sabrías borrarlos? (tijeras), ¿duplicarlos? (tampón), ¿crear otros nuevos? (editor de
dibujos), etc.
15
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
TEMA 3: ¿Cómo y dónde programar?
3.1 Instrucciones y bloques
En este apartado intentaremos explicar aquellas partes del entorno que nos servirán para
programar, y también empezaremos a hacer programas
sencillos.
Las instrucciones, expresiones, ciclos, eventos… están
categorizados según lo que hacen. Tiene un marco con un
botón por categoría. Si pulsas cualquier botón de estos
aparecen las instrucciones… que corresponden a cada uno
de las categorías de la imagen
Este es uno de los puntos fuertes de Scratch… ¡las
instrucciones son bloques! Y con los bloques construiremos
los programas.
Las instrucciones… de cada una de las categorías tienen el
mismo color que el botón de que le corresponde:










Azul para el Movimiento
Morado Claro para la Apariencia
Lila para Sonido
Verde oscuro para el Lápiz
Naranja para Datos (variables)
Marrón para Eventos
Marrón claro para Control
Azul claro para Sensores
Verde para Operadores
Morado oscuro para Más Bloques
(Las que se muestran corresponden a la categoría "Movimiento")
16
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
3.2 Zona de programación
La zona de programación (se muestra vacía) marcada con un óvalo rojo, es el lugar donde
pondremos las instrucciones. Debes tener en cuenta que esta zona está vinculada
estrechamente al personaje seleccionado en el escenario, (remarcado en la zona de los
personajes). Cuando añadimos las instrucciones, estarán asociadas a un personaje específico.
En la figura se puede ver que tenemos seleccionado el gatito rosa, por lo tanto si añades
instrucciones, estarán asociadas al gato rosa que es el que está seleccionado.
3.3 Antes de empezar
Un programa es una lista organizada de instrucciones que, al ejecutarse, hacen que el
ordenador se comporte de una manera determinada. Programar será, por tanto, partir de una
tarea concreta e intentar proporcionar unas instrucciones al ordenador para que haga lo que
nosotros queremos. Piensa que a programar se aprende programando. No hay atajos. La única
manera de ser competentes programando es practicar mucho. Esto quiere decir, equivocarse
mucho.
Que nadie se decepcione por cometer errores en sus programas, este es el proceso habitual.
De hecho, esta es una de las partes más divertidas de programar. Posiblemente estarás gran
parte de tu tiempo jugando a detectives, o resolviendo puzles, actividades equivalentes a
encontrar errores en tus programas.
17
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
¿Cómo se hace esto en Scratch? Empezamos desde cero.
1.
2.
3.
4.
Accede a Scratch
Clic en “Mis cosas”
Clic en nuevo proyecto
Aparece el “gatito”
Verás la ventana que se muestra y lo primero de todo es hacer que el gatito haga cosas
sencillas.
Para añadir instrucciones a un programa, las arrastraremos, con el ratón, de la zona de
instrucciones a la zona de programación (haremos clic sobre la instrucción y, sin soltar el
botón del ratón, moveremos la instrucción donde le corresponda). En la figura hemos cogido y
arrastrado tres instrucciones diferentes hacia la zona de programación:
18
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Haz doble clic sobre cada una de las tres instrucciones en la zona de programación y fíjate en el
gatito del escenario. Si haces doble clic sobre la instrucción “mover”, veremos el gatito
moviéndose 10 pasos adelante (en la dirección que tiene asociada). Si hace doble clic sobre la
instrucción de girar, veremos cómo cambia la dirección del gatito, y si haces doble clic sobre la
instrucción "ir", el gato vuelve al su origen.
Estos espacios en blanco con números dentro de cada instrucción-bloque son editables.
Probamos de cambiar el 10 de la instrucción "mover" por un 100 y haz doble clic sobre la
instrucción. ¿Qué ves?.. Que el gato se mueve 100 pasos en lugar de 10.
De hecho, lo que tenemos ahora son tres programitas (cada uno de una sola instrucción) que
afectan al mismo gatito. Los ejecutamos (ejecutar es llevar a cabo la instrucción o instrucciones
de un programa) haciendo doble clic sobre ella.
Pero normalmente queremos combinar instrucciones para hacer programas más largos y
sofisticados.
3.4 Estructura secuencial
En Scratch, combinaremos las instrucciones pegándolas, una debajo de la otra, de manera que
se ejecutarán primero las que están más arriba (para ser rigurosos, le llamaremos estructura
secuencial). Como ejemplo ahora, podemos combinar las tres instrucciones que hemos puesto
dentro de la zona de programación:
Unimos las instrucciones arrastrando una instrucción hasta ponerla debajo de la instrucción
que debe ejecutarse antes. En la figura ya hemos encajado la instrucción "mover" a la
instrucción "ir", y estamos a punto de pegar (izquierda) la instrucción "girar". A la derecha
vemos el resultado final. Cuando estamos arrastrando la instrucción, nos aparecerá una raya
blanca indicando donde encajará. Más adelante nos será muy útil.
Ahora tenemos un programa con tres instrucciones, que se ejecutará de la siguiente manera:
Primero “ir” el centro de coordenadas del gatito en la posición con coordenada “x” igual a 10 y
coordenada “y” igual a 0 (el centro del escenario).
Después “mover” el gatito, 10 pasos.
Finalmente “girar” el gatito 15 grados en sentido contrario a las agujas del reloj (girar un
número positivo de grados significa girar en el sentido contrario a las agujas del reloj).
Lo ejecutaremos haciendo doble clic sobre el programa (los tres bloques pegados).
Sin embargo, en Scratch, es más habitual ejecutar los programas pulsando la bandera verde
19
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
(arriba a la derecha). Es muy fácil hacerlo, ya que sólo tenemos que poner la instrucción
correspondiente. Hacemos clic sobre el botón de la categoría de instrucciones 'Eventos'
(rodeado rojo en la figura) y arrastramos a la zona de programas la instrucción “al presionar
bandera verde” (cercado verde). Después, arrastramos el programa bajo la instrucción que
acabamos de añadir (rodeado azul)
El resultado final es el programa es este:
Fíjate en que, al presionar la bandera verde, nuestro gatito hará lo mismo que hacía antes.
Haz clic en la bandera verde varias veces. ¿Qué pasa? ¿Sabrías explicar por qué pasa lo que
ves?
Tenemos diez categorías de instrucciones, en cada categoría podemos encontrar un buen
número de instrucciones que podemos utilizar en nuestros programas. No nos dedicaremos a
explicar una a una todas las que pone a nuestra disposición Scratch. Esto sería bastante
aburrido. Lo que haremos es ilustrar con ejemplos las posibilidades de Scratch y, a medida que
las necesitemos, las usaremos y explicaremos.
Continuamos con el programita que hemos empezado a hacer. Imaginemos ahora que
queremos que el gatito haga algún tipo de ruido. De la categoría “Sonido” añade la
instrucción-bloque “tocar sonido” (eligiendo “gato” que lo traducen como “meow”, en el
desplegable del bloque) al programa.
20
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Ahora, cuando pulses la bandera verde verás que el gato hace lo que ya sabemos y, además,
maúlla.
Los personajes pueden tener diferentes vestidos, ¡veámoslo!.. Sin salir del programita con el que
estamos trabajando, elije la pestaña “Disfraces”.
Ten en cuenta que el gatito tiene dos vestidos, llamados (en este caso) “costume1” y
“costume2”. Puedes dejar el nombre que sale por defecto, en tu proyecto, o cambiarlo por el
que más se ajuste a tus necesidades.
Si volvemos a la pestaña “Programas” y hacemos clic sobre el botón de la categoría
“Apariencia”, podemos añadir a nuestro programita la instrucción “siguiente disfraz”.
Hagámoslo y vemos qué pasa:
21
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Pulsamos la bandera verde varias veces y fíjate que los vestidos del gatito alternan, girando al
mismo tiempo, en cada clic Este cambio de vestidos será la base de las animaciones hechas
con Scratch. Todavía nos queda, sin embargo, algo de camino por delante.
Si ahora quisieras no tener que hacer clic en la bandera verde para repetir la acción, ¿cómo lo
harías?... pues no podrías hacerlo aún. Hay ciertas estructuras de programación que todavía no
hemos visto. En la próxima actividad veremos construcciones básicas que nos permitirán hacer
programas más sofisticados.
Por cierto, queda un pequeño detalle. Si queremos eliminar de la zona de programación
cualquier instrucción, lo arrastraremos hacia la zona de instrucciones y, sea cual sea la
categoría seleccionada, desaparecerá. Exactamente lo mismo podemos hacer con un conjunto
de instrucciones pegadas.
22
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
3.5 Estructura Interactiva (I)
Repetir es una de las acciones que los ordenadores hacen mejor. ¡Son incansables! Además,
es completamente necesario poder repetir para poder hacer programas. Sin la habilidad de
hacer repeticiones habría problemas que los ordenadores ¡no podrían resolver!
Comenzaremos por la repetición más sencilla:
Las estructuras de control en Scratch tienen esta forma de contenedor abierto. En este caso,
la repetición “por siempre”, el nombre es bastante informativo. Los programas que
pondremos dentro del 'por siempre' se repetirán sin fin.
Volvemos al programa que usábamos en el apartado 3. Vamos a poner todo, excepto la
instrucción inicial “al presionar” (bandera verde), dentro de un “para siempre” y después de
nuevo, lo unimos todo con la instrucción “al presionar” (banderita verde). En la figura vemos
el proceso con todos los detalles:
23
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Así pues el programa que tenemos es este:
Pulsa la banderita verde, y verás que hace lo mismo que hacía, pero ahora lo hace siempre.
Esto es porque las instrucciones que están dentro del “por siempre” se ejecutan sin parar. Lo
puedes detener pulsando el botón rojo junto a la bandera verde (el botón de stop).
Podemos decir a Scratch que queremos repetir sólo un número determinado de veces.
Arrastrando y cambiando de lugar las instrucciones como hemos visto en el caso del "por
siempre"', para ello podemos utilizar el "repetir 10" un cierto número (10 en este caso. Si nos
interesas, este 10 lo podemos cambiar. En la figura hemos optado poniendo por 25.
24
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
El programa queda así:
Está bastante claro qué hará el programa.
Ahora tendremos las acciones dentro del "repetir" ejecutadas 25 veces al pulsar la bandera
verde.
Pero puede ser que queramos repetir sólo si pasa algo relacionado con nuestro programa. Es
decir, puede que la condición para dejar de repetir dependa de lo que está pasando mientras
se ejecuta el programa, y por tanto no podamos saber, antes de ejecutar el programa cuántas
veces debe repetirse.
Veamos un ejemplo. El "repetir hasta que" tiene un agujero de contornos angulares en el
extremo derecho, por tanto, está esperando que introduzcamos una expresión lógica...
... Sí, sí, pero... ¿de qué estamos hablando?, ¿expresiones lógicas?, ¿agujeros de contornos
angulares?... ¿cuándo hemos visto esto? Pues… todavía no lo hemos visto. Precisamente por
ello habrá que hacer un pequeño paréntesis.
3.6 Expresiones
No todo lo que está categorizado son propiamente instrucciones. No hemos hecho esta
distinción hasta ahora para simplificar, pero ahora conviene entrar un poco más en detalle.
En las categorías “Operadores” y “Sensores”. Encontrarás unos bloques distintos a los vistos
hasta el momento.
25
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Compara la instrucciones de la categoría de movimiento "mover" y la de control "por
siempre”, con las expresiones de los operadores "sumar” y “es menor a” y las de los
sensores “distancia a menú” y ¿“ratón presionado?”
Expresiones
Las expresiones se caracterizan por devolver valores. De una expresión, se espera que calcule
o mida algo y devuelva el resultado. No son propiamente instrucciones, sino que deben
utilizarse en lugares muy determinados que imponen su utilización. Ten en cuenta que hay
expresiones-bloque con contornos redondos y expresiones-bloque con contornos angulares.
Las primeras, las de los contornos redondos, son expresiones numéricas, es decir, deben
devolver un valor numérico. En cambio, las otras, de contornos angulares, son expresiones
lógicas1 con dos posibles valores: “cierto” o “falso”.
En la figura vemos la expresión de sumar dos números, con un lugar a cada lado del “+” para
poner los números, y la expresión “distancia a menú”, que nos dice la distancia del personaje,
al que pertenece el programa del que la expresión forma parte, a otro personaje elegido del
pequeño menú desplegable que vemos.
En cambio la comparación entre dos números “<” o la pregunta “¿ratón presionado?” se
responderán con valores “cierto” o “falso”.
Estas expresiones van a lugares especialmente preparados para colocar en él estos bloques.
Los bloques de contornos redondos pueden ir a agujeros con contornos redondos. Por
ejemplo, los parámetros de la instrucción mover están preparados para poner una expresión
numérica, pero los mismos parámetros de las operaciones aritméticas (como el “+” que ya
hemos visto) también están preparados para poner otras expresiones numéricas. Así
podemos componer las operaciones, por tanto, podemos componer expresiones
Para poder construir instrucciones más sofisticadas
26
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Para mover el personaje un número de pasos entre 21 y 25, elegido al azar2).
Igualmente, los agujeros con contornos angulares están preparados para acomodar
expresiones lógicas, es decir, expresiones que tienen como posible respuesta sólo dos valores:
'cierto' o 'falso'. Y también podemos componer operaciones de la misma manera que lo
hemos hecho con las expresiones numéricas. Incluso podemos componer los dos tipos de
expresiones, si el bloque nos lo permite. Veamos algunos ejemplos:
Esta es una expresión lógica que nos dirá si el doble de la raíz cuadrada de 10 es menor que 7
sumado a un número al azar entre 1 y 10 (y el resultado, 'cierto' o 'falso', dependerá del
número al azar que salga, ¡por supuesto!)
Esta expresión nos dirá si tenemos el ratón pulsado y la tecla espacio pulsada.
Fijémonos en la operación lógica y (conjunción). De la misma manera disponemos en Scratch
de las operaciones de disyunción (o) y negación (no) 3.
Así pues, resumiendo, los agujeros de contornos redondeados esperan que pongamos
expresiones numéricas (que pueden ser tan sencillas como un solo número, o tan sofisticadas
como queramos) y los agujeros de contornos angulares esperan que pongamos una expresión
lógica (de valor 'cierto' o 'falso'). Tenemos varios bloques-expresión para construir
expresiones. Están esencialmente en las categorías Operadores y Sensores.
1 También conocidas como expresiones booleanas.
2 Como si tuviéramos un dado con 5 caras, numeradas 21, 22, ..., 25
3 Recordemos que la conjunción responde 'cierto' sólo cuando sus argumentos son
ambos 'cierto' y la disyunción responde 'falso' sólo cuando sus argumentos son ambos
'falso'.
3.7 Estructura Interactiva (II)
Decíamos que hay estructuras interactivas que repetirán las instrucciones que hay en su
interior en función de lo que ocurra mientras se ejecuta el programa. Ahora ya podemos intuir
que esto ocurrirá en función del resultado de una expresión lógica. Esta es la razón que se
llamen repeticiones condicionales.
Veamos un ejemplo. Supongamos que queremos un programa que haga lo mismo que el
programa que estamos usando en esta práctica, es decir, que mueva el gatito 10 pasos, el gire
15 grados, maúlla y alterne vestidos, pero queremos que lo haga hasta que el usuario pulse la
tecla espacio.
Ahora ya sabemos cómo manipular los bloques para construir el programa, de modo que ya
no es necesario detallar tanto como antes. El programa que tendremos es:
27
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Nótese que para hacerlo más divertido hemos decidido introducir algo de aleatoriedad en el
programa. Ahora, cada repetición, se moverá un número de pasos al azar entre 1 y 10 y girará
un ángulo entre -30 y 30 grados, también al azar. Ejecutadlo y asegúrate de entender bien qué
está pasando.
¿Verdad que cuando llega a los bordes queda el gatito oculto? Lo podemos resolver pidiendo
a cada repetición que rebote si toca un borde. Hay una instrucción que hace precisamente
eso:
Considera que las repeticiones indefinidas o de un determinado número de veces son
bastante fáciles de entender, pero las repeticiones condicionales esconden sutilezas que sólo
dejan de serlo con la práctica. Insiste en entender bien las repeticiones condicionales, con
variaciones de estas prácticas.
3.8 Estructura Condicional
Para finalizar este apartado, estudiaremos la última estructura básica que nos queda por ver:
la estructura condicional. En este caso tenemos una estructura de control que sirve para
decidir si un cierto conjunto de instrucciones se ejecuta, o no, en función de una condición (es
decir, de una expresión lógica).
Estas son las estructuras “si____ entonces” y “si___ entonces…. si no”. Las encontrará
categorizadas en 'Control'.
28
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
Si ya has entendido las repeticiones condicionales, estas no te deben costar nada. La idea es
que si la expresión lógica (fíjate en los agujeros de contornos angulares) es “cierto”,
ejecutaremos las instrucciones dentro del “si”, si esta expresión es “falso”, no ejecutaremos
nada en el caso del “si______ entonces “, y las instrucciones dentro del “si no” en el caso del
“si_____ entonces ... si no”.
Supongamos ahora que queremos que el gatito empiece desde el origen de coordenadas y
que se mueva y gire al azar como hemos visto antes, pero queremos que maúlle sólo cuando
pulsamos la tecla “m”. Para ello utilizaremos la estructura condicional “si”.
Es posible que, a veces pulses la tecla “m” y el gato maúlle más de una vez. No te preocupe,
que eso ya es correcto. Lo que puede pasar es que mientras que tú piensas que has tocado la
tecla una vez, Scratch ha tenido tiempo de leer la tecla varias veces y tomárselo como una
orden de pulsar la tecla varias veces.
Para poder ver ejemplos del “si____ entonces... si no” lo mejor que puedes hacer es pensar
en ti mismo. Hay un componente creativo ¡muy importante en la programación!
Hasta ahora hemos visto y jugado con programitas bastante simples, que lo único que
pretendían era ilustrar los conceptos explicados.
En la próxima Unidad veremos cómo construir programas con cierto grado de sofisticación... y de
¡diversión! Quizás cuesta de creer, pero con lo que ya sabes tienes más que suficiente para hacer
programas muy interesantes. Pero antes de empezar la unidad 2 se recomienda realizar estos
ejercicios que se proponen, no dudes en acudir al tutor/tutora siempre que lo necesites.
29
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN
EJERCICIOS DE LA UNIDAD 1
Lo primero que debes hacer, si aún no lo has hecho, es enviar a la tutora del curso tu nombre
de usuario y contraseña de Scratch. En la parte inferior de la ventana donde está ubicado este
ejercicio en la plataforma, hay una opción que te permite hacerlo.
Te proponemos hacer, por lo menos, uno de estos cuatro ejercicios, pero es conveniente que
los hagas todos.
1. Crear una animación donde un gato y una manzana giren sin parar. Puedes hacer todas las
modificaciones que quieras.
2. Crea una animación donde una bola se desliza por una barra inclinada 5 veces:
o
o
o
o
o
Objeto 1: Escribir una palabra cualquiera.
Objeto 2: Dibujar una bola de color con
degradado o sólido.
Objeto 3: Dibujar una barra rectangular
horizontal de color.
Objeto 4: Dibujar una barra inclinada.
Si haces esto, dentro del escenario debería
salir algo parecido a la figura:
3. Dibujar polígonos.
o Intenta hacer un programa que dibuje 3, 4, 5... polígonos regulares diferentes: un
triángulo, un cuadrado un pentágono... Los polígonos deben ser completamente
visibles en la pantalla.
o Ten en cuenta que las instrucciones "baja el lápiz" y "sube el lápiz" de la categoría
"Lápiz" hacen que los objetos puedan dibujar en el escenario. Y recuerda que puedes
utilizar la pieza "repite ()" de la categoría "Control" cuando hay que repetir un grupo
de instrucciones un número determinado de veces.
o Inténtalo y si no te sale, en este link verás una forma sencilla de hacerlo. Puedes complicarlo
tanto como quieras. También te dejamos este ejemplo de una forma compleja de hacerlo.
4. Encuentra el error
Quieres que un gato se sitúe en medio del escenario, lo atraviese y se haga mayor. Con
esta estructura del programa que te presentamos, funciona sólo la primera vez que se
pulsa la banderita verde, pero queremos que se repita. ¿Dónde está el problema?
30
PROGRAMAR CON SCRATCH - UNIDAD 1: INTRODUCCIÓN