Programación con Scratch II¶
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.
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).
Actividad
📝 AA2.21 Dando los primeros pasos: Listas¶
(C.ESP2 / CE2.2, CE2.3, CE2.4 / IC1-3p)
Abre Scratch y realiza las siguientes actividades escribiendo previamente los diagramas de flujo.
-
Prueba los dos ejemplos vistos antes.
-
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.
-
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.
Análisis y validación de software¶
A lo largo del desarrollo de un programa informático es necesario realizar evaluaciones de su funcionalidad y verificar su adecuación como solución al problema planteado.
No todos los programas son igual de importantes, ni tampoco los fallos que puedan detectarse en ellos son de la misma relevancia. Así, por ejemplo, un programa informático que controle el proceso de producción de una vacuna o uno que monitorice a un paciente en un hospital son programas considerados críticos y deben ser sometidos a estrictos controles y procesos de verificación y validación antes de su puesta en funcionamiento.
Los procesos de verificación son llevados a cabo por los desarrolladores del programa y determinan la calidad del software a lo largo de todo su proceso de desarrollo. Con ellos se busca la detección y corrección temprana de posibles errores, lo cual permite evitar costes derivados de fallos del sistema.
Los procesos de validación determinan si el programa final cumple los requerimientos planteados por el cliente, incluyen pruebas de resultados y valoran la integración del software con el hardware en el que se implementará.
Ambos procesos garantizan la calidad del software creado.
El método más sencillo de evaluación del software es mediante la realización de trazas lo que supone la ejecución manual del programa para la detección de errores.
Analizadores online
Para Scratch, existe una herramienta online, llamada Dr. Scratch, con la que puedes evaluar tus programas (http://drscratch.org). Puedes subir uno que tengas descargado en tu ordenador o enlazar el que tengas abierto en la web de Scratch. Esta herramienta muestra la valoración del programa en relación con diversos aspectos del pensamiento computacional, como el pensamiento lógico, el control de flujo o la abstracción, entre otros.
Actividad
📝 AA2.22 Analizando juegos¶
(C.ESP2 / CE2.2, CE2.3, CE2.4 / IC1-3p)
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).
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?
Actividad
📝 PT2.23 Tu primer juego¶
(C.ESP2 / CE2.2, CE2.3, CE2.4 / IC1-3p)
A lo largo de la unidad hemos visto cómo hacer que los personajes de Scratch se muevan, dibujen, cambien de aspecto, etc.
También hemos visto algunos juegos de ejemplo.
Basándote en esos juegos, construye un juego original y sencillo con los bloques que hemos visto a lo largo de la unidad.
Actividad
📝 AA2.24 Juego del laberinto¶
(C.ESP2 / CE2.2, CE2.3, CE2.4 / IC2-10p)
Lo primero que vamos a hacer es construir el laberinto en nuestro Escenario. Para ello pintamos el fondo de un color (en este caso rosado) y luego lo que hacemos es colocar rectángulos azules que harán las paredes del laberinto. La forma y ubicación la eligen ustedes. Ahora vamos a crear un nuevo objeto que será el Pacman. En este caso la alumna trabajó con dos disfraces para el personaje del Pacman, uno con la boca abierta y otro con la boca cerrada.
En cuanto a su código es un poco más elaborado que el que hemos realizado en ejercicos anteriores ejercicios, simplemente porque queremos que al caminar nuestro personaje vaya alternando los disfraces y porque nos interesa que cuando llegue al borde rebote.
Además vamos a incluir otro código para que siempre comience en el mismo lugar de la pantalla y para que cuando se choque contra un bloque azul tenga que rebotar e ir para el otro lado.
Ahora vamos a trabajar con las frutas
Como verán su código es similar, lo que cambia es la posición en la que se encuentran. Vamos a crear una variable objetos que lo que hace es contar la cantidad de objetos que hay en pantalla. Al inicio 2 . Cuando PacMan toca la fruta, la misma se esconde y la cantidad de objetos baja en 1.
Ahora veremos que es lo que pasa con los fantasmas. Tendremos por un lado los rojos que se moverán de forma horizontal y el azul que irá de manera vertical.
El segundo código hace que si toca al PacMan entonces mande una señal de GameOver. El fantasma azul tiene la variante de que apunta hacia arriba cuando inicia.
Bueno, ahora lo último que nos falta es controlar cuando se gana y se pierde, por lo que como en otros juegos trabajremos con el escenario y sus disfraces.
El fondo 2 va a tener un cartel que diga “Ganaste” y el fondo 3 un cartel que diga “Perdiste” ...
El código del escenario va a ser el siguiente
Y listo, únicamente queda jugar el juego. Si quiero que quede más complicado puedo agregar más fantasmas.
Entrega: Crear un documento llamado AA2.24_Tu_nombre donde pegarás tu diagrama de flujo e imagen de scratch.
Actividad refuerzo
🔨 AAR2.25 Mis ahorros¶
(C.ESP2 / CE2.2, CE2.3, CE2.4 / IC2-10p)
Uno de los problemas que a tu edad suelen aparecer es el de las finanzas. Sería muy útil contar con una pequeña calculadora mensual que te indique cuánto dinero te va quedando de tus ahorros, en función de tus ingresos y gastos. En esta práctica, vas a aprender a desarrollar los algoritmos necesarios para poder codificar en Scratch tu calculadora mensual.
-
Ejercicio 1. Análisis
- El problema consiste en crear una calculadora que vaya restando los gastos que diariamente vayas introduciendo y sumando los ingresos que se produzcan. Además, para evitar que te quedes sin dinero, te avisará cuando en la hucha haya 50 euros o menos. Cuando haya más de 50 euros, la calculadora te dará un mensaje de ánimo para que continúes ahorrando.
-
Ejercicio 2. Diseño
- Para poder realizar la calculadora, necesitas trabajar con variables. En este caso son necesarias tres variables: ingresos, gastos y contenido de la hucha.
- Utilizarás algoritmos de estructura secuencial, selectiva e iterativa.
-
Ejercicio 3. Diagrama de flujo
- Abajo puedes ver el diagrama de flujo que indica el orden de las instrucciones. Los algoritmos se repetirán 30 veces, una por cada día del mes (considerando meses de 30 días).
-
Ejercicio 4. Programar en Scratch
-
Codifica ahora la calculadora en el lenguaje de programación Scratch, siguiendo el diagrama de flujo.
-
Inicia un nuevo proyecto yendo a Archivo / Nuevo. Llámalo AAR2.10_nombreapellido.
- En primer lugar, debes definir las variables que vas a utilizar. Accede a la categoría Variables y haz clic en Crear una variable. Crea las variables contenido hucha, gastos e ingresos.
- Inicia ahora el programa con la instrucción al hacer clic en bandera verde.
- Fija el valor inicial de las variables. En este caso, supón que partes de un contenido en la hucha de 150 euros. Selecciona las instrucciones dar a contenido hucha el valor 150, dar a gastos el valor 0 y dar a ingresos el valor 0, de la categoría Variables.
- A partir de aquí, todas las instrucciones se repetirán durante los 30 días de cálculo. Para ello, utiliza una instrucción iterativa. Selecciona el bloque repetir 30, de la categoría Control.
- Anida a continuación la instrucción preguntar ¿Has tenido ingresos? y esperar, de la categoría Sensores.
- Ante la pregunta planteada, es necesario incluir ahora un bloque de estructura selectiva. Anida un bucle si..., entonces / si no, de la categoría Control.
- La condición que hay que verificar es si la respuesta a la pregunta anterior es «Sí» o no lo es. Para ello utiliza un comparador de igualdad de la categoría Operadores, como puedes ver en la figura de abajo.
- Si la respuesta es “Sí”, necesitas saber qué ingresos has tenido. Incluye a continuación la instrucción preguntar ¿Cuánto? y esperar, de la categoría Sensores.
- Anida a continuación la instrucción sumar a ingresos respuesta, de la categoría Variables. De esta manera, el valor de la variable ingresos aumentará en el valor que se introduzca como ingreso cada vez.
- Anida también la instrucción dar a contenido hucha el valor contenido hucha + respuesta, de la categoría Variables. Para codificar esta instrucción necesitas un operador de suma de la categoría Operadores y el valor de respuesta de la categoría Sensores. Observa la figura de abajo.
- Si la respuesta a la pregunta de si has tenido ingresos (punto 6) es “No”, entonces es necesario saber si ha habido gastos. Para ello, en el bloque si..., entonces / si no, anida bajo la rama si no la instrucción preguntar ¿Has tenido gastos? y esperar, de la categoría Sensores.
- Anida a continuación un bloque si..., entonces para verificar la respuesta, como has hecho en el punto 7, e incluye la instrucción preguntar ¿Cuánto? y esperar, de la categoría Sensores. Anida las instrucciones para modificar los valores de las variables gastos y contenido hucha. Los pasos son similares a los detallados en las instrucciones de los puntos 9 y 10. Fíjate en la figura de abajo.
- A continuación, fuera del bloque si..., entonces / si no, incluye una instrucción para que el personaje te diga el contenido de la hucha. Usa para ello la instrucción decir, de la categoría Apariencia, junto con la instrucción unir, de la categoría Operadores. La instrucción debe quedar así :
-
Finalmente, sólo queda valorar si el contenido de la hucha es mayor que 50 euros o no. Utiliza para ello un nuevo bloque si..., entonces / si no y las instrucciones decir Vas bien durante 2 segundos y decir Hay que ahorrar durante 2 segundos, de la categoría Apariencia; la calculadora dirá una cosa u otra en función del contenido de la hucha.
-
Prueba el programa. Descarga el proyecto en tu ordenador yendo a Archivo / Guardar en tu ordenador y seleccionando la carpeta en que guardas tus trabajos.
-
Modifica el programa anterior para añadir como condición nueva que, cuando el contenido de la hucha sea menor de 20, el programa muestre el mensaje “¡No despilfarres tanto!”. Guarda el proyecto como AAR2.10_nombreapellido2.sb3.
-