Explora Libros electrónicos
Categorías
Explora Audiolibros
Categorías
Explora Revistas
Categorías
Explora Documentos
Categorías
El autor recomienda Scratch para mayores de 8 aos. Asegura que ayuda a desarrollar
conceptos de programacin en un entorno de creatividad artstica.
En el aula entre otras cosas:
En este curso, despus de haber creado algunos juegos o hecho algunos proyectos, podrs
compartir tus obras con otros usuarios en lnea, este juego ser muy interesante para los
nios, ya que aprendern a hacer clculos matemticos, razonar sistemticamente y dejar
libre su imaginacin jugando.
En este enlace hay un interesante artculo del Dr. David Malan profesor de Harvard, donde
describe su gran funcionalidad.
1.3 Configuracin
El programa con el que vamos a trabajar no necesita configuracin puesto que est en la nube, no
obstante si quieres cambiar el idioma, no tienes ms que pinchar en el icono que vers en la parte
superior izquierda de la ventana.
En la misma ventana encontrars algunas preguntas frecuentes que te pueden ser tiles.
Debes tener en cuenta que el bloque de programacin consta de categoras y que cada categora tiene sus
propias acciones: Instrucciones, Expresiones Booleanas, Condicionales, Ciclos, Variables, Hilos, Eventos.
(Todas estas acciones, se especifican en el apartado siguiente)
Instrucciones
Expresiones Booleanas
Condicionales
Ciclos
Variables
Hilos
Eventos
Cada uno de estos bloques los pondremos en prctica a medida que vayamos desarrollando los distintos
ejercicios y actividades que se proponen en las unidades que conforman el curso.
INSTRUCCIONES
En programacin, una instruccin simplemente es la indicacin 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 instruccin.
Uno de esos bloques le da instrucciones a un objeto (sprite) para que diga algo:
A veces, quieres que una instruccin se ejecute solo bajo ciertas condiciones. Esas condiciones se
definen en trminos de expresiones Booleanas, en las que nos fijaremos a continuacin.
EXPRESIONES BOOLEANAS
En programacin, 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 expresin
Booleana. Uno de esos bloques es:
Despus de todo, es cierto o es falso que el botn del ratn (mouse) est presionado.
Otro de esos boques
es:
CONDICIONALES
En programacin, una condicin es algo que debe ser cierto para que algo pueda pasar. Una
condicin es entonces decir que se evala para verdadero o se evala 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:
Con el constructo anterior damos instrucciones al objeto para que diga hola o adis,
dependiendo de que el usuario haya presionado el botn izquierdo del ratn (mouse):
Algunas veces, quieres que una o varias de estas instrucciones se ejecuten repetidamente
de manera continua. Para implementar esta conducta, debemos dirigir nuestra atencin a
los ciclos (loops).
CICLOS
En programacin, un ciclo puede causar la ejecucin de mltiples instrucciones. En Scratch
cualquier bloque cuya etiqueta comience con por siempre o repita es un constructo repetitivo
o cclico.
Y otro bloque le permite repetir un ciclo hasta que una condicin sea verdadera:
Algunas veces, quieres ejecutar una instruccin muchas veces, cada una de ellas variando
ligeramente su comportamiento. Por lo que ahora nos fijaremos en las variables
VARIABLES
En programacin 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 crculos 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
HILOS
En programacin, un hilo es como un mini cdigo dentro de un programa que se puede ejecutar al
mismo tiempo que lo hacen otros hilos. Entonces, un programa con mltiples 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 (tcnicamente 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 ejecucin que comenzaran a ejecutarse
simultneamente 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 algn momento presiona una tecla
determinada durante la ejecucin de un programa para, por ejemplo, implementar un interruptor
que prenda (1) y apague el sonido (0).
Toma nota, que en este par de cdigos, 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 estn los eventos, en los que a continuacin fijaremos nuestra
atencin.
10
Un evento no solo puede ser invocado por un bloque, sino que las acciones de un usuario
pueden invocarlo tambin. 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 comunicacin entre hilos, sino que tambin
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:
11
Podemos ver y modificar diferente caractersticas del personaje, algunas de las cuales se
pueden modificar tambin en modo ejecucin. Si vamos variando la direccin, veremos cmo
afecta al personaje. Si combinamos la variacin de la direccin con el estilo de rotacin
veremos tambin cmo afecta la combinacin de ambas propiedades. Para cambiar estas
propiedades en modo ejecucin tenemos estas instrucciones:
Debes tener en cuenta que la direccin 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 direccin
concreta, donde los valores positivos sealan a la derecha y los negativos a la izquierda:
12
13
14
15
16
17
1.
2.
3.
4.
Accede a Scratch
Clic en Mis cosas
Clic en nuevo proyecto
Aparece el gatito
Vers la ventana que se muestra y lo primero de todo es hacer que el gatito haga cosas
sencillas.
18
Unimos las instrucciones arrastrando una instruccin hasta ponerla debajo de la instruccin
que debe ejecutarse antes. En la figura ya hemos encajado la instruccin "mover" a la
instruccin "ir", y estamos a punto de pegar (izquierda) la instruccin "girar". A la derecha
vemos el resultado final. Cuando estamos arrastrando la instruccin, nos aparecer una raya
blanca indicando donde encajar. Ms 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 posicin con coordenada x igual a 10 y
coordenada y igual a 0 (el centro del escenario).
Despus mover el gatito, 10 pasos.
Finalmente girar el gatito 15 grados en sentido contrario a las agujas del reloj (girar un
nmero 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 ms habitual ejecutar los programas pulsando la bandera verde
19
Fjate en que, al presionar la bandera verde, nuestro gatito har lo mismo que haca antes.
Haz clic en la bandera verde varias veces. Qu pasa? Sabras explicar por qu pasa lo que
ves?
Tenemos diez categoras de instrucciones, en cada categora podemos encontrar un buen
nmero de instrucciones que podemos utilizar en nuestros programas. No nos dedicaremos a
explicar una a una todas las que pone a nuestra disposicin Scratch. Esto sera 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 algn tipo de ruido. De la categora Sonido aade la
instruccin-bloque tocar sonido (eligiendo gato que lo traducen como meow, en el
desplegable del bloque) al programa.
20
Ahora, cuando pulses la bandera verde vers que el gato hace lo que ya sabemos y, adems,
malla.
Los personajes pueden tener diferentes vestidos, vemoslo!.. Sin salir del programita con el que
estamos trabajando, elije la pestaa 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 ms se ajuste a tus necesidades.
21
Pulsamos la bandera verde varias veces y fjate 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. Todava nos queda, sin embargo, algo de camino por delante.
Si ahora quisieras no tener que hacer clic en la bandera verde para repetir la accin, cmo lo
haras?... pues no podras hacerlo an. Hay ciertas estructuras de programacin que todava no
hemos visto. En la prxima actividad veremos construcciones bsicas que nos permitirn hacer
programas ms sofisticados.
Por cierto, queda un pequeo detalle. Si queremos eliminar de la zona de programacin
cualquier instruccin, lo arrastraremos hacia la zona de instrucciones y, sea cual sea la
categora seleccionada, desaparecer. Exactamente lo mismo podemos hacer con un conjunto
de instrucciones pegadas.
22
Las estructuras de control en Scratch tienen esta forma de contenedor abierto. En este caso,
la repeticin por siempre, el nombre es bastante informativo. Los programas que
pondremos dentro del 'por siempre' se repetirn sin fin.
Volvemos al programa que usbamos en el apartado 3. Vamos a poner todo, excepto la
instruccin inicial al presionar (bandera verde), dentro de un para siempre y despus de
nuevo, lo unimos todo con la instruccin al presionar (banderita verde). En la figura vemos
el proceso con todos los detalles:
23
Pulsa la banderita verde, y vers que hace lo mismo que haca, pero ahora lo hace siempre.
Esto es porque las instrucciones que estn dentro del por siempre se ejecutan sin parar. Lo
puedes detener pulsando el botn rojo junto a la bandera verde (el botn de stop).
Podemos decir a Scratch que queremos repetir slo un nmero 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 nmero (10 en este caso. Si nos
interesas, este 10 lo podemos cambiar. En la figura hemos optado poniendo por 25.
24
3.6 Expresiones
No todo lo que est categorizado son propiamente instrucciones. No hemos hecho esta
distincin hasta ahora para simplificar, pero ahora conviene entrar un poco ms en detalle.
En las categoras Operadores y Sensores. Encontrars unos bloques distintos a los vistos
hasta el momento.
25
Expresiones
Las expresiones se caracterizan por devolver valores. De una expresin, 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 utilizacin. 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 numricas, es decir, deben
devolver un valor numrico. En cambio, las otras, de contornos angulares, son expresiones
lgicas1 con dos posibles valores: cierto o falso.
En la figura vemos la expresin de sumar dos nmeros, con un lugar a cada lado del + para
poner los nmeros, y la expresin distancia a men, que nos dice la distancia del personaje,
al que pertenece el programa del que la expresin forma parte, a otro personaje elegido del
pequeo men desplegable que vemos.
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 parmetros de la instruccin mover estn preparados para poner una expresin
numrica, pero los mismos parmetros de las operaciones aritmticas (como el + que ya
hemos visto) tambin estn preparados para poner otras expresiones numricas. As
podemos componer las operaciones, por tanto, podemos componer expresiones
26
Esta expresin nos dir si tenemos el ratn pulsado y la tecla espacio pulsada.
ambos 'cierto' y la disyuncin responde 'falso' slo cuando sus argumentos son ambos
'falso'.
27
Ntese que para hacerlo ms divertido hemos decidido introducir algo de aleatoriedad en el
programa. Ahora, cada repeticin, se mover un nmero de pasos al azar entre 1 y 10 y girar
un ngulo entre -30 y 30 grados, tambin al azar. Ejecutadlo y asegrate de entender bien qu
est pasando.
Verdad que cuando llega a los bordes queda el gatito oculto? Lo podemos resolver pidiendo
a cada repeticin que rebote si toca un borde. Hay una instruccin que hace precisamente
eso:
28
Si ya has entendido las repeticiones condicionales, estas no te deben costar nada. La idea es
que si la expresin lgica (fjate en los agujeros de contornos angulares) es cierto,
ejecutaremos las instrucciones dentro del si, si esta expresin 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 malle slo cuando
pulsamos la tecla m. Para ello utilizaremos la estructura condicional si.
Es posible que, a veces pulses la tecla m y el gato malle ms 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 tomrselo 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 programacin!
Hasta ahora hemos visto y jugado con programitas bastante simples, que lo nico que
pretendan era ilustrar los conceptos explicados.
En la prxima Unidad veremos cmo construir programas con cierto grado de sofisticacin... y de
diversin! Quizs cuesta de creer, pero con lo que ya sabes tienes ms 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
3. Dibujar polgonos.
o Intenta hacer un programa que dibuje 3, 4, 5... polgonos regulares diferentes: un
tringulo, un cuadrado un pentgono... Los polgonos deben ser completamente
visibles en la pantalla.
o Ten en cuenta que las instrucciones "baja el lpiz" y "sube el lpiz" de la categora
"Lpiz" hacen que los objetos puedan dibujar en el escenario. Y recuerda que puedes
utilizar la pieza "repite ()" de la categora "Control" cuando hay que repetir un grupo
de instrucciones un nmero determinado de veces.
o Intntalo y si no te sale, en este link vers una forma sencilla de hacerlo. Puedes complicarlo
tanto como quieras. Tambin te dejamos este ejemplo de una forma compleja de hacerlo.
4. Encuentra el error
Quieres que un gato se site en medio del escenario, lo atraviese y se haga mayor. Con
esta estructura del programa que te presentamos, funciona slo la primera vez que se
pulsa la banderita verde, pero queremos que se repita. Dnde est el problema?
30