Introducción a la Programación con Scratch
Introducción a la Programación con Scratch
12 Introducción a la
programación con Scratch
E parte lógica o intangible de los sistemas informáticos, sin la cual las máquinas carecerían
de la utilidad que tienen. Programar es una tarea que normalmente requiere preparación
y mucho tiempo. Además, existen muchos lenguajes y muy diversas formas de desarrollar
programas, todo lo cual convierte a esta tarea en algo que requiere más espacio y tiempo del
disponible para el estudio de esta materia.
No obstante, puede resultar útil el conocimiento de unos pocos conceptos que pueden servir
de base para profundizar posteriormente en el tema. Para ello, vamos a trabajar en esta Unidad
con un programa que proporciona un lenguaje de programación totalmente gráfico, lo que nos
permitirá comenzar a comprender los elementos comunes de todos los lenguajes informáticos.
1. Conocer cuáles son los principales tipos de lenguajes de programación y sus características.
2. Conocer cuál es la función de los programas, así como las fases necesarias para su desarrollo
o creación.
276
Software Hardware
Concepto
Procesar información
Tipos
Funciones
Fases en su desarrollo
Programación
y
Control
Elementos físicos
ÍNDICE DE CONTENIDOS
277
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Programar es realizar programas para fines concretos. Para programar hay que utilizar, a su vez,
unos programas específicos llamados lenguajes de programación. Hemos visto que los algoritmos
se deben escribir en lenguajes que permitan que los ordenadores los entiendan.
¿Sabías que...?
La británica Ada Lovelace (Ada Augusta Byron King) (1815-1852), cuyo retrato se reproduce,
está considerada como la primera programadora de la historia por haber escrito, entre otras cosas,
el algoritmo de manipulación de símbolos de la máquina analítica de Charles Babbage, que aún
no había sido construida.
Wikipedia org. Dominio público
a) Lenguajes de bajo nivel. Los principales son el lenguaje máquina y el lenguaje ensamblador.
El lenguaje máquina, que es el único que realmente comprende el ordenador, define los movimientos
y las transformaciones de los datos dentro de las distintas partes del microprocesador que constituye
el corazón del ordenador. Utiliza un código binario, es decir, combinaciones de ceros y unos, por
lo que resulta muy difícil de interpretar para un ser humano. El lenguaje ensamblador es una
representación del lenguaje máquina algo más parecida al lenguaje humano, con operadores
formados por abreviaturas de tres letras que sugieren el significado de cada operación. Es algo
más fácil de entender que el código máquina puro, pero también requiere profundos conocimientos
sobre la estructura interna del ordenador en el que se ejecuta.
278
b) Lenguajes de alto nivel, que pretenden:
3. Suministrar “librerías de rutinas”, con las funciones más frecuentes: funciones matemáticas,
manejo de ficheros, etc. De esta forma, cada vez que una función sea utilizada en un programa,
no hace falta escribirla de nuevo, sino sólo “insertarla” en el programa.
Los lenguajes de alto nivel necesitan también un compilador o un intérprete para traducirlos al
lenguaje máquina que el ordenador entiende. La diferencia entre un compilador y un intérprete es
que el intérprete traduce y ejecuta el programa línea por línea a medida que el programador lo
escribe, mientras que un compilador traduce todo el programa, generando un programa nuevo, el
llamado “programa ejecutable”, en el lenguaje que el ordenador es capaz de entender.
Ejemplos de lenguajes de alto nivel conocidos son Fortran, Cobol, Basic, Pascal, C, Java, Delphi,
etc. Éstos son sólo unos pocos de los muchos que existen, ya que en realidad contamos con
varios centenares de lenguajes de este tipo.
c) Lenguajes de cuarta generación. Son los creados con fines específicos, o para solucionar
problemas muy concretos, como el SQL, específico para generar programas de consulta en bases
de datos.
279
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
La programación orientada a objetos comienza a utilizarse en los años 90 del siglo XX. Ejemplos de
programas basados en este modo de trabajo son Visual C++, Visual Java, Visual Basic, etc. La
programación estructurada es una forma de escribir programas de ordenador con mayor claridad. Surge
a finales de los años 1960, a partir del teorema del programa estructurado, demostrado por Böhm-Jacopini,
que establece que todo programa puede escribirse utilizando únicamente las tres instrucciones de control
siguientes:
1. Secuencia.
2. Instrucción condicional.
3. Iteración (bucle de instrucciones) con condición al principio.
Con sólo estas tres estructuras, se pueden escribir todos los programas y aplicaciones posibles. Si
bien los lenguajes de programación tienen un repertorio de estructuras bastante más amplio, para facilitar
el trabajo del programador, cualquiera de ellas puede acabar reduciéndose a una combinación de
estas tres estructuras básicas.
a) Análisis del problema. Todo programa se crea para solucionar una necesidad existente, y lo más
importante es tener claro qué es lo que hay que solucionar. Sin un objetivo claro y acertado el
esfuerzo del desarrollo puede resultar inútil.
b) Búsqueda del algoritmo. El algoritmo es, como ya se ha señalado, el conjunto de pasos empleado
para llegar a la resolución del problema.
d) Fase de pruebas. El programa creado se somete a pruebas para comprobar que funciona
correctamente y es capaz de satisfacer la necesidad planteada.
e) Creación del programa ejecutable. En esta fase, el programa se compila o traduce a código
máquina, dando lugar al archivo ejecutable, que será el que se distribuya a los usuarios finales.
f) Explotación y mantenimiento. Esta es la fase en la que los programas empiezan a ser usados
en entornos reales, con objeto de dar respuesta a las necesidades para las que han sido creados.
A lo largo de la fase de explotación tiene lugar también el mantenimiento del programa, durante el
cual se ponen de manifiesto posibles errores no detectados previamente y se recogen sugerencias
nuevas por parte de los usuarios para ir mejorando el programa.
Consideramos especialmente importantes para el trabajo de esta Unidad las cuatro primeras fases
del proceso, y sobre todo las dos primeras: un correcto análisis del problema, y la forma de resolverlo,
es decir, los pasos que hay que dar para su resolución.
280
3. Qué es Scratch
Scratch es un lenguaje totalmente gráfico de programación orientado a objetos. Permite crear historias
interactivas, juegos y animaciones. También nos ofrece la posibilidad de controlar objetos físicos mediante
el ordenador. Para ello se requiere una tarjeta especial que sirve de enlace entre el mundo virtual y el
mundo físico o real.
Se trata de un lenguaje creado para introducir a los niños y adolescentes en el mundo de la
programación. Sin embargo, pese a que la mayor parte de los usuarios son relativamente jóvenes, es
utilizado también por adultos en el ámbito de cursos introductorios a la programación en entidades como,
por ejemplo, la Universidad de Harvard.
En realidad, aunque lo pueden usar niños, es un lenguaje adecuado para cualquier persona que se
quiera introducir de forma atractiva y divertida en el mundo de la programación. El principal objetivo de
Scratch es el desarrollo del pensamiento lógico en el individuo y la adquisición de una serie de estrategias
de aprendizaje necesarias para el trabajo con programas informáticos. Está pensado, por tanto, más que
para aprender un lenguaje concreto, para adquirir los fundamentos de la metodología que subyace a los
procesos de creación de programas.
Con Scratch se crean programas reales cuyos resultados son animaciones audiovisuales y juegos, y
se ponen en práctica de forma notoria las dos primeras fases del proceso de programación: pensar
qué se quiere hacer y cómo se va a hacer. La codificación y la escritura resultan muy sencillas. Básicamente
consiste en colocar una serie de instrucciones en un orden determinado, para lo cual se utiliza
exclusivamente el ratón. En ocasiones, estas instrucciones en forma de bloques gráficos se van a poder
configurar para que produzcan diferentes efectos.
La metodología del programa se basa en tres principios:
“Imagina, programa, comparte”. Esto significa que pretende
desarrollar la creatividad, la capacidad de programar, y el
compartir las creaciones con otros usuarios del programa. Para
ello, en la página web oficial del programa existe un apartado
donde los usuarios pueden enviar de forma automática
sus creaciones para compartirlas con usuarios de todo el
mundo.
El programa ha sido desarrollado por el Lifelong Kindergarten Group del Laboratorio de Medios del
M.I.T. (Instituto Tecnológico de Massachussets). Es un programa de código abierto y de distribución
gratuita pero de desarrollo cerrado. Esto es, no es distribución libre en sentido estricto. Los únicos que
pueden modificarlo legalmente son los propios desarrolladores del M.I.T. Medialab.
Actualmente existen versiones para Windows y para Mac OS, que se descargan en esta página:
[Link]
En noviembre de 2009 se ha lanzado la versión para Linux. Para más información y descargas visitar
el siguiente enlace sobre el tema: [Link]
281
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
su posición o apariencia, que emita sonidos, etc. Existen muchos objetos ya creados en el programa,
pero el usuario tiene la oportunidad de crear cuantos quiera a través del editor de imágenes incluido en
el programa, o bien obtenerlos de los programas elaborados por otros usuarios. En cuanto a los sonidos,
el programa contiene una biblioteca, pero el usuario puede importar todos los que desee, o grabar de
forma sencilla y directa otros nuevos.
El segundo elemento importante son los bloques. Los bloques son imágenes con contienen las
instrucciones que deberán ejecutar los objetos, y se encajan entre sí de la misma forma que las piezas
de un puzle, un mecano o un juego de construcción. Al encajar los bloques se forman pilas, que van a
constituir los programas. Un programa es una serie de instrucciones secuenciadas o algoritmo, escrito
en este lenguaje gráfico y concebido para resolver un problema concreto, que en nuestro caso consistirá
en que el objeto, o los objetos, hagan lo que queremos.
282
Con fondo verde se señalan las tres áreas más importantes del entorno de trabajo:
a) La paleta de bloques.
b) El área de programas, y
c) El escenario.
Actividades
a) El escenario
En el escenario es en donde se ven los objetos y lo que hacen, según se hayan programado. Está
estructurado como un sistema de ejes cartesianos (x, y), de tal forma que el origen de coordenadas (x=0,
y = 0) es el punto central del escenario (no la esquina inferior izquierda del mismo). En todo momento
podemos ver las coordenadas de un punto colocando en él el puntero del ratón.
En cualquier momento se puede acceder a ver el escenario en modo “Pantalla completa” pulsando
el botón situado en su parte inferior izquierda (en la imagen, marcado con un círculo rojo). Para volver al
modo normal se pulsa la tecla “Esc”.
También el propio escenario se puede editar y programar. Si pulsamos el botón “Escenario”, que es
el cuadrado blanco que está situado a la izquierda de la lista de objetos, el entorno de trabajo cambiará
de apariencia, y en su parte central aparecerá el área de programación y edición del escenario:
283
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
b) La barra de herramientas
En la parte inferior del escenario aparecen tres botones, que permiten crear objetos nuevos, abrir una
carpeta del programa donde seleccionar alguno de los que éste tiene almacenados, o bien obtener un
objeto sorpresa, de entre los que tiene ya el programa (selección al azar).
Para eliminar un objeto hay que seleccionar las tijeras de la barra de herramientas y hacer clic
sobre el objeto, o bien hacer clic sobre él con el botón secundario de ratón y seleccionar la opción “Borrar”.
Cada objeto puede tener varias apariencias o “disfraces”. Los objetos que vienen con el programa
tienen sus propias apariencias, pero se les puede añadir otras, ya que todas se pueden editar o modificar
creando otras nuevas.
284
Vamos a ver cómo crear un objeto nuevo:
Cuando pulsamos en “Aceptar”, el programa vuelve al entorno de trabajo, en el que podremos observar
algunos cambios: en el escenario aparece el objeto nuevo (junto a los ya existentes), éste se ve también
en la lista de objetos, y finalmente en la parte central tenemos el objeto propiamente dicho, con sus
características.
285
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Vamos a crear un nuevo disfraz para este “objeto 3”. Al pulsar en “Disfraces”, vemos el objeto con
su único disfraz hasta ahora:
Para crear una nueva apariencia o disfraz para este objeto pulsamos en “Copiar”. Automáticamente
se crea el “disfraz2” de este objeto, en principio con idéntica apariencia que el “disfraz1”. Para cambiar
esta apariencia pulsamos “Editar”, con lo que aparecerá de nuevo la pantalla de dibujo, donde le damos
un color amarillo:
Podemos cambiar tanto los nombres de los objetos como los de sus disfraces, haciendo doble clic
sobre ellos y escribiendo el nombre deseado.
A la derecha del nombre del objeto seleccionado aparece un candado. Si está abierto, quiere decir
que puede ser arrastrado por el usuario sobre el escenario en el modo “Presentación” (pantalla completa)
y en el modo “Reproductor Web”. Si el candado aparece cerrado significa que no se puede arrastrar. Para
cambiar el estado basta con hacer clic sobre el candado.
d) Los bloques
En la parte izquierda del entorno aparecen los bloques con los que se “escriben” los programas. Es
decir, con los bloques vamos creando el algoritmo que van a seguir los objetos. Existen tres tipos de
bloques, y siete categorías.
286
Tipos de bloques:
a) Bloques para apilar: Son los que tienen protuberancias y/o muescas. Algunos presentan áreas en
las que se puede escribir, o menús desplegables. Los hay que presentan forma de “C”, lo que
indica que en su interior se pueden apilar a su vez otros bloques.
c) Reporteros o “Reporters”. Sirven para ser encajados en el área de ingreso de información de otros
bloques. Los hay con los bordes redondeados:
Los redondeados reportan números o cadenas de texto, y se encajan en las áreas con bordes
redondeados. También los hay con los bordes en punta:
Estos se encajan en áreas con bordes en punta, y pueden tener los valores “Verdadero” o “Falso”.
Actividades
287
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Para compartir los proyectos con otros, y para poder ver lo que han hecho usuarios de todo el mundo,
tenemos que abrir una cuenta de usuario en la página web del programa, lo que se verá más adelante.
288
Recuerda
A continuación vamos a ver una serie de ejemplos de pilas de bloques, o programas (“scripts”) sencillos.
1. Elegir un objeto de entre la lista que tiene el programa, pulsando en la carpeta que aparece debajo
del escenario.
Con esto podemos crear una animación simple. Pulsamos en la pestaña de “Programas”, donde
se escribirán los programas o “scripts” para este objeto y, por último,
Al pulsar en la bandera verde que aparece en el escenario, según hemos escrito, empezará a
reproducirse la animación hasta que hagamos clic en el botón rojo de parar.
289
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Al presionar la tecla “W” o hacer doble clic sobre la pila, comenzará el programa. Si te fijas, la cadera
de la chica se mueve al mismo tiempo que se oye el sonido elegido.
Para que suene, una vez arrastrado el bloque de sonido, hay que importar el sonido elegido (en
este caso “Pop”), mediante la pestaña “Sonidos”, en la carpeta “Effects”. Una vez importado, si volvemos
a la pestaña “Programas”, veremos que al pulsar el botón de menú desplegable del bloque de sonido,
aparece “Pop” como posible selección. Es posible asimismo, en el
bloque de sonido, grabar lo que se quiera, seleccionando en el menú
desplegable esta opción.
290
Los números que describen las coordenadas se pueden modificar a gusto del usuario, al igual que el
tiempo de espera para realizar la acción. Para cambiarlos basta con hacer clic en el espacio correspondiente.
Se pueden programar varios objetos. Selecciona, por ejemplo, tres objetos de los disponibles en las
carpetas del programa, o crea tú mismo los que quieras:
Se puede escribir el mismo código, cambiando las coordenadas (para que no se muevan juntos), para
los tres objetos. Sin embargo, no es necesario arrastrar los mismos bloques tres veces, sino que se puede
copiar el código del primer objeto y pegarlo en el área de programas de los otros dos. Para ello, hacemos
clic sobre la pila con el botón derecho y seleccionamos “Duplicar”. Luego, al seleccionar el objeto siguiente,
se pegará automáticamente la pila seleccionada en su área de programa. A continuación cambiaremos
las coordenadas. Prueba con estas dos:
Actividades
8. Explica cómo se puede ver el resultado del programa antes de que esté terminado.
9. Explica el procedimiento para grabar un sonido original con el micrófono.
10. Explica el procedimiento para utilizar como objeto una imagen que no esté en la librería del programa.
11. Explica para qué sirve el botón (con forma de caja) situado a la derecha en la barra que aparece debajo del escenario.
291
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Vemos que en la última línea del código hay un sonido, que está en la biblioteca del programa en la
carpeta de sonidos de la categoría “Human”. Para importar un sonido y podérselo asignar a un objeto,
el objeto debe estar seleccionado y, por tanto, activo en el panel central. Luego, en la pestaña de “Sonidos”,
se pulsa en “Importar”:
292
El aspecto de la pantalla, con su marcador, sería el que se presenta en esta imagen:
El juego consiste en que el zorro, que se mueve por el escenario, anota un punto cada vez que toca
a la rana. Además, se oirá el sonido que se haya elegido.
Actividades
293
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
Para que el objeto se mueva hay que mantener la tecla de desplazamiento pulsada.
Con estos ejemplos, se espera que los alumnos hayan podido ver cuál es la filosofía del programa,
en la cual se puede profundizar explorando por uno mismo o estudiando los códigos que hayan escrito
otros usuarios. Ello requiere poder descargar los proyectos de otros usuarios, para lo cual es necesario
crear la cuenta correspondiente.
Para crear una cuenta de usuario de Scratch y acceder a estos programas es preciso ir a la página
del programa ([Link] y darse de alta:
Una vez creada una cuenta de usuario, al ver un proyecto, podremos también descargarlo para ver
su código fuente mediante el botón:
294
Los usuarios registrados también pueden publicar sus proyectos en la página web de Scratch. Para
publicar y compartir los proyectos hay que tener conexión a Internet. Una vez guardado un proyecto, si
se quiere publicar basta con pulsar el botón “Compartir” de la barra de menús del entorno de trabajo.
Como se ve, se solicita identificación. Si no se está registrado previamente en la página del programa,
existe la posibilidad de hacerlo en este momento pulsando “Crear cuenta”.
En el espacio con la etiqueta “Notas sobre el proyecto”, se escriben toda clase de informaciones como
la descripción del programa, las instrucciones o el modo de funcionamiento si, por ejemplo, se trata de
un juego, etc. Estas notas aparecerán después a la derecha de la pantalla de reproducción en la página,
y resultarán muy útiles para los que estén visitando la página y puedan estar interesados en el proyecto
que hayamos publicado. En cuanto a las etiquetas, que aparecen en la parte izquierda de la ventana,
son palabras clave que pueden ayudar a encontrar el proyecto en la página mediante sus motores de
búsqueda. Una vez hayamos escrito la información pertinente, pulsamos en “Aceptar” para publicar.
295
UNIDAD 12
INTRODUCCIÓN A LA PROGRAMACIÓN CON SCRATCH
La tarjeta sirve de “intermediaria” o enlace entre el ordenador y los dispositivos (luces, motores, etc.)
296
A continuación, se presentan algunos ejemplos de uso de la tarjeta Picoboard y Scratch como elemento
de control, procedentes de la página del fabricante y otros de vídeos disponibles en Internet. Para aprender
más, es interesante consultar estos enlaces a vídeos con información sobre el programa:
► [Link]
► Scratch Tutorial
► [Link]
► [Link]
► [Link]
Asimismo, puede resultar interesante consultar los siguientes enlaces a vídeos en la página Youtube
con ejemplos de uso de la tarjeta Picoboard con Scratch para control de dispositivos físicos:
Actividades
14. Explica cómo utilizar los programas, o parte de ellos, de otros usuarios para nuestros proyectos.
15. Explica qué elemento es necesario para producir efectos de naturaleza física externos al ordenador mediante Scratch.
297