Professional Documents
Culture Documents
programacin en Scratch
Tabla de contenido
Introduccin ......................................................................................................................................... 2
Procesamiento de bloques en Scratch ............................................................................................... 2
Estructuras de Control ......................................................................................................................... 5
Repeticiones ................................................................................................................................... 5
Decisiones ....................................................................................................................................... 8
Definicin y uso de variables............................................................................................................... 9
Operadores ................................................................................................................................... 10
Definicin de nuevos bloques. .......................................................................................................... 11
1
Introduccin
En este documento se presentan las ideas bsicas de programacin con estructuras de
control para repetir y tomar decisiones en Scratch. Adicionalmente, se describe como tra-
bajar con variables y como definir nuevos bloques.
Un programa en Scratch se compone de diversos algoritmos, que son secuencias de ins-
trucciones o bloques que actan sobre datos. En este documento usaremos principalmente
el concepto de algoritmo para referirnos a la programacin en Scratch.
El documento propone algunos desafos o ejercicios para profundizar los conceptos.
2
El primer bloque de evento al presionar tiene un rol importante al encabezar un algoritmo,
pues como se ver ms adelante, se pueden tener varios objetos (no solo el gato), cada
uno de ellos con su propio algoritmo. De esta forma se pueden tener objetos interactuando
simultneamente en el programa, cada uno ejecutando su propio algoritmo.
En este caso, es ms propio usar el trmino programa como un conjunto de algoritmos
que se procesan coordinadamente.
Para activar todos los algoritmos al mismo tiempo en un programa, se usa la bandera verde
Ejercicio: pruebe armando diversos algoritmos con los bloques del men Mo-
vimiento y Lpiz de Scratch y observe su efecto en el escenario.
Ejemplo: definimos un escenario con dos objetos, en este ejemplo 2 pelotas, cada uno con
un algoritmo similar:
Los algoritmos asociados a los Objetos 1 (pelota 1) y Objeto 2 (pelota 2) son idnticos en
este ejemplo:
3
Algoritmo asociado a cada objeto pelota.
De esta manera se pueden definir programas muy sofisticados que implementen juegos
interactivos e interaccin entre personajes. Por ejemplo, definir objetos con forma de per-
sona y asociarle algoritmos de movimiento y de mensajes a cada uno. Scratch facilita esta
programacin, permitiendo que los objetos se puedan comunicar entre si y cambiar de
forma a travs de disfraces. As, por ejemplo, se puede programar a una persona cami-
nando, si el objeto tiene varios disfraces con distintas posiciones de las manos y los pies,
que se van alternando sucesivamente.
Ejercicio: repita el ejemplo de las dos pelotas, agregando una 3 pelota y mo-
difique los bloques de cada una para observar un comportamiento diferente
de cada una. Pruebe activar el algoritmo de cada una independientemente (ha-
ciendo clic sobre el bloque al presionar de su algoritmo) y todos juntos (ha-
ciendo clic en la bandera verde sobre el escenario).
4
Estructuras de Control
Hemos visto que un algoritmo se procesa secuencialmente de arriba hacia abajo, un bloque
tras otro. Podemos alterar este procesamiento introduciendo estructuras de control, que
adems de enriquecer la programacin, ayudan a simplificar los programas.
Repeticiones
La repeticin es una estructura de control que permite repetir un conjunto de bloques las
veces que deseemos. Hay dos estructuras de repeticin bsicas:
Repite las instrucciones que contiene Repite las instrucciones que contiene
Un nmero determinado de veces Hasta que el programa sea detenido
(10 veces en este caso)
5
Dibujo de un cuadrado con secuencia Dibujo con estructura de repeticin.
De bloques
6
hasta que el programa sea detenido externamente, con el botn en el borde superior
Ejemplos de uso de la estructura por siempre son juegos interactivos, programas en que
queremos que se verifique una condicin cada cierto tiempo (por ejemplo, verificar el valor
de un sensor) y luego tomar acciones al respecto.
Por cierto, es posible anidar estructuras de repeticin, es decir, incorporar una repeticin
dentro de otra.
El siguiente ejemplo realiza esta anidacin, generando hexgonos dentro de un hexgono.
7
Ejercicio: pruebe dibujar anidando varias estructuras de repeticin y observe
su efecto en el escenario. Note que conviene comenzar el algoritmo borrando
el escenario. Para observar ms lentamente como dibuja un algoritmo, puede
Decisiones
Normalmente se deben tomar decisiones al interior de un algoritmo, por ejemplo, ejecutar
una cierta accin solo si se ha cumplido una determinada condicin o alterar el curso de
accin ante un evento. Para estas ocasiones estn las estructuras de control de decisiones.
Ejemplo: nuestro escenario es el espacio, con un planeta y una nave espacial que deambula
por el espacio. Al tocar la nave espacial al planeta, el programa se detiene (esta es la deci-
sin que se toma):
8
Ejercicio: replique este ejemplo, modificando las condiciones para que la nave
espacial se detenga.
Una variante muy til de la toma de decisiones es tener opciones ante un evento. Es decir,
si se cumple una condicin, entonces se ejecuta un conjunto de bloques y en caso contrario,
si no se cumple, se ejecuta otro conjunto de bloques. Para eso est la siguiente estructura
de control:
Para definir una variable, utilizamos el men Datos de Scratch y usamos el bloque Crear
una variable:
Al crear una variable, se le debe colocar un nombre, que, en este ejemplo, llamaremos
Alfa:
9
:
Scratch reconoce esta variable y permite asignarle valores y modificarlos. Por ejemplo:
Operadores
Normalmente las decisiones se combinan con operadores y variables. En el men Opera-
dores de Scratch se encuentran los operadores disponibles.
Supongamos que tenemos una variable denominada Alfa que almacena un valor que se
va modificando con el tiempo (por ejemplo: la posicin de un objeto en el escenario). Que-
remos tomar una decisin si el valor de Alfa es mayor que 100 (ejemplo: queremos mover
el objeto). Para ello, utilizamos el siguiente operador:
10
As, la estructura de decisin queda de la siguiente manera:
Por ejemplo: muchas veces queremos que un programa comience con un objeto en cierta
posicin inicial, con el escenario limpio y apuntando en cierta direccin. Podemos definir el
bloque Inicio asocindole los bloques iniciales y luego usar Inicio cada vez que se re-
quiera. De este modo, el programa queda ms corto y ms claro de entender.
Para definir nuevos bloques se utiliza el bloque Crear un bloque del men Ms Bloques:
Por ejemplo, definimos el bloque Inicio y le asociamos una serie bloques:
11
Luego, podemos usar el nuevo bloque inicio:
Al igual que otros bloques de Scratch, los nuevos bloques pueden tener parmetros de
entrada, es decir, su ejecucin depende del valor del parmetro. Por ejemplo, si queremos
crear un bloque para crear cuadrados de diferentes tamaos, podemos definir un bloque
Cuadrado y darle como parmetro el largo del lado:
12
Ahora podemos dibujar cuadrados de distintos tamaos con este nuevo bloque:
Ejercicio: pruebe crear nuevos bloques (por ejemplo, que hagan un dibujo de-
terminado) y luego use ess nuevo bloque para repetir los dibujos.
13