Informática
Scratch

Tu Instituto Online
   


 
Nivel Básico Scratch: Introducción de datos. Condiciones
Duración aproximada: 1-2 sesiones.
   
Objetivos Objetivos
  • Conocer los sensores de introducción de datos.
  • Conocer los operadores de cadenas de texto.
  • Conocer los sensores de información más importantes.
  • Concepto y utilización de condiciones simples.
  • Interactuar con el usuario por medio del teclado y el ratón.
   
Fuentes de información Fuentes de información
   
Contenidos
Contenidos
 

1. Sensores. Introducción de datos

Hasta el momento hemos diseñado programas unidireccionales en los que para producir resultados diferentes teníamos que cambiar los bloques e instrucciones y volver a ejecutar. Lógicamente, Scratch nos proporciona herramientas para interactuar con el usuario. Dentro del bloque Sensores, tenemos 2 instrucciones específicas:

preguntar “texto” y esperar

Muestra un diálogo en pantalla con el texto que hemos puesto y espera que introduzcamos algo por el teclado hasta que pulsamos la tecla Intro o hacemos clic en el icono de validar.

respuesta

Contiene los caracteres introducidos por el usuario.

2. Operadores de cadenas de texto

Una de las tareas más habituales en los programas informáticos es el uso de cadenas de texto (o palabras), tanto si se trata de aplicaciones de bases de datos, como para la simple salida de mensajes en pantalla. Scratch dispone de 3 operadores para manejar caracteres introducidos por teclado.

2.1. Concatenación de cadenas de texto

unir

Este operador une o junta 2 cadenas de texto (palabras) en una sola cadena.

2.2. Longitud de una cadena de texto

longitud de

Devuelve el número de caracteres de longitud de una cadena de texto.

2.3. Subcadena de texto

letra n de

Devuelve la letra que ocupa la posición "n" dentro de una palabra.

   
Ejercicios
Ejercicio
 

Crear y guardar nuevo proyecto

  • Crea un nuevo programa.
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "pryintdatos" y guárdalo en tu carpeta de "SCRATCH".

Programa. Instrucciones

  • Realiza una animación en la que un personaje en el escenario que tú quieras te pregunte cómo te llamas y que luego te salude por tu nombre.
  • Ayuda:

  • Modifica el programa para que el personaje te salude por tu nombre diciéndote: “Hola ____, cómo estás?”. Ayuda: utiliza anidamiento, es decir, introduce un bloque unir dentro del bloque unir inicial.
  • Modifica el programa anterior para que después de preguntar el nombre y saludarte, te diga: “Tu nombre empieza por __”.
  • Ayuda:

  • Modifica el programa anterior para que el personaje, después de las acciones anteriores, te pregunte tu edad y cuando se la das, te diga: “Sólo ___ años, qué joven!!”.
  • Modifica la animación anterior para que el personaje, después de realizar las acciones anteriores, se ponga a andar de un lado a otro del escenario. El código para moverse de un lado a otro sería:

  • Si ejecutas el programa, comprobarás que el personaje se invierte al rebotar. Para evitar este comportamiento, fija el estilo de rotación a "izquierda-derecha" antes del bucle.

Cuestionario

  • Crea un documento de texto. Guárdalo con el nombre "cuestiones".
  • A partir del ejercicio anterior responde a las siguientes cuestiones:
    • ¿Qué ocurre si eliminamos la orden “siguiente disfraz”?
    • ¿Qué ocurre si eliminamos la orden “esperar 0.1 segundos”?
    • ¿Qué ocurre si eliminamos la estructura de control “por siempre”?

Subir el proyecto

  • Sube el fichero "cuestiones.odt" a la plataforma.
  • Sube el fichero "pryintdatos.sb2" a la plataforma.
   
Contenidos
Contenidos
 

3. Ejercicio práctico

A continuación vamos a realizar un ejercicio práctico de repaso de todos los contenidos vistos anteriormente.

   
Ejercicios
Ejercicio
 

3.1. Fantasma que asusta

Crear y guardar proyecto

  • Crea un nuevo programa.
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "pryfantasma" y guárdalo en tu carpeta de "SCRATCH".

Programa. Instrucciones

  • Haz un programa en el que un fantasma te pregunte cuántas veces quieres que te asuste. Si le dices 10 te dirá “Buh!” 10 veces (por ejemplo esperando 2 segundos). El fantasma estará en un fondo que buscarás por internet y que será un lugar abandonado. Cuando asuste el fantasma, el disfraz será distinto. Por ejemplo:

  • Ayuda:

Subir el proyecto

  • Sube el fichero "pryfantasma.sb2" a la plataforma.
   
Contenidos
Contenidos
 

4. Sensores. Información en tiempo real

Los elementos llamados sensores (de la familia Sensores), vigilan cosas como si estamos tocando el borde, si tenemos una tecla pulsada, la posición en el escenario, etc. Es decir, miden o determinan eventos para que sepamos cuál es la situación en tiempo real.

Scratch dispone de bastantes sensores de información, si bien los principales son los siguientes:

  • ¿ratón presionado? Informa de si está presionado o no el ratón.
  • ¿tecla espacio presionada? Informa de si la tecla espacio está presionada o no.
  • ¿tocando el color? Indica si el objeto está tocando un determinado color.
  • ¿tocando a? Indica si el objeto está tocando el puntero del ratón o un borde.

5. Condiciones

Todo el código que hemos visto hasta ahora ejecuta sus instrucciones de arriba abajo, según se las va encontrando. La ejecución de instrucciones una a una, en el mismo orden en que aparecen en el programa, se denomina ejecución secuencial. Si un ordenador no pudiese ejecutar instrucciones más que en orden secuencial, no pasaría de ser más que una buena calculadora de bolsillo. Pero un ordenador puede también tomar decisiones en función de determinadas condiciones; es decir, según sea el valor de determinadas variables en el momento de la ejecución del programa, el computador decide si ha de seguir ejecutando una parte del programa u otra. Este tipo de acciones se denomina Control de flujo.

El segundo bloque más importante dentro de la familia Control, es el de las comparaciones. Este tipo de bloques permite cambiar el orden de ejecución de un programa dependiendo del resultado de una determinada condición. La cuestión está en que las condiciones se pueden controlar mediante los sensores (ver apartado anterior).

5.1. Condición simple o binaria

La selección condicional simple o binaria, admite dos opciones. Es la sentencia más común para tomar una decisión: si se cumple una condición, entonces se ejecuta algo, en caso contrario, se ejecuta otra cosa.

La sintaxis es: SI ... ENTONCES ... SI NO ...

Que quiere decir: SI condición ENTONCES instrucción1 SI NO instrucción2. Siendo opcional el SI NO, ya que puede que no haya acción en caso de que no se cumpla la condición.

Si no hay nada que ejecutar si no se cumple la condición, tendremos el bloque más simple:

   
Ejercicios
Ejercicio
 

Crear y guardar nuevo proyecto

  • Crea un nuevo programa.
  • Ve al menú Archivo → Guardar como (local). Pon como nombre "prycondicion" y guárdalo en tu carpeta de "SCRATCH".

Programa. Instrucciones

  • Inserta un control de la familia Eventos,concretamente al presionar la tecla Espacio.
  • A continuación inserta un bloque de la familia Control llamado si...entonces.
  • Entre el si y el entonces, introduce el bloque ¿ratón presionado?, el cual hará que si está pulsado se ejecute lo que hay dentro del bloque.
  • Para terminar, dentro del bloque condicional inserta un mensaje para que diga "Ratón presionado".
  • Ayuda:

  • Ahora, al ejecutarlo, el gato no dirá nada, pero si pulsas la tecla espacio y al mismo tiempo el botón izquierdo del ratón, el gato avisará de la pulsación:

El problema, es que si lo volvemos a ejecutar sin pulsar el ratón, el gato sigue con el bocadillo de ratón presionado. ¿No sería más lógico que, en caso de que no esté pulsado también lo diga?

  • Utiliza el bloque si..entonces..sino de la familia Control. Cambia el bloque si..entonces por éste y añade debajo del sino un bloque en el que diga "Ratón no presionado":

  • El resultado, en caso de que no se haya pulsado será:

Mostrar sensores en pantalla

También podemos, haciendo clic en algunos sensores (aquellos que tienen un cuadro para ser seleccionados), mostrarlos en el escenario para tener controlados sus valores.

  • Por ejemplo, si en el anterior seleccionamos el de volumen del sonido:

  • Veremos como en la parte superior izquierda del escenario se muestra el valor:

Añadir movimiento

Para concluir, vamos a modificar un poco el programa para que el gato ande solo hasta encontrarse con el borde, lo cual hará que se vaya en retroceso.

  • Quita el bloque al presionar la tecla espacio y cámbialo por el bloque al presionar la bandera verde.
  • Cambia el bloque ¿ratón presionado? por ¿tecla espacio presionada?
  • Cambia el bloque si..entonces..sino por si..entonces.
  • Añade un bloque repetir hasta que y, dentro de éste, un sensor ¿tocando ?, seleccionando la opción borde.
  • A continuación, inserta un movimiento de 10 pasos y lo duplicas (estará repetido). Entre medio de ambos un movimiento de 10 pasos negativo. Por último, un movimiento de 10 pasos positivo.
  • Ayuda. El funcionamiento es el siguiente: si apretamos la tecla espacio, el gato se moverá hacia adelante hasta que toque el borde derecho. Cuando toque el borde derecho, retrocedemos 10 pasos y repetimos la operación anterior pero hacia el lado contrario. Cuando toquemos el borde izquierdo, avanzaremos 10 pasos y vuelta a empezar.

  • Ejecuta el programa. Para ello, pulsa la tecla espacio y, manteniéndola apretada, haz clic en la bandera verde. Ahora, el gato chocará con el borde y se irá hacia atrás.
  • ¿Qué ocurre si volvemos a ejecutar el programa y el gato está tocando un borde? El gato parece que no se mueve y, encima, se va cada vez más hacia detrás o hacia adelante. El problema es que ya estamos tocando un borde. ¿Solución? Hacemos que el gato empiece siempre en la posición x=0, y=0. Añade la instrucción correspondiente antes del bloque condicional y comprueba que ahora sí funciona correctamente.

Más modificaciones

Modifica el programa para que:

  • Pinte una línea azul.
  • Diga "Hasta aquí" durante un segundo al llegar a cada borde.
  • Se repita indefinidamente hasta pulsar la tecla a.
  • Ayuda (inicio del programa):

Subir el proyecto

  • Sube el fichero "prycondicion.sb2" a la plataforma.
   
   
Creditos Créditos
Licencia de Creative Commons

Este documento es de dominio público bajo licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 España.
TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. v. 2.0.2.1.0

No se permite un uso comercial de la obra original ni de las posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.

Los reconocimientos se realizan en el apartado Fuentes de información.

Los iconos empleados están protegidos por la licencia LGPL y se han obtenido de:
https://commons.wikimedia.org/wiki/Crystal_Clear
https://www.openclipart.org


Licencia de Creative Commons

Todas las capturas de pantalla tienen copyright y pertenecen a TuInsitutoOnline.com.

TuInstitutoOnline.com permite su uso siempre y cuando se muestren desde el dominio www.tuinstituoonline.com y NO PERMITE enlazar a ellas desde otros lugares.

Además, la estructura diseñada para mostrar el contenido de las unidades es propiedad de TuInstitutoOnline.com.

TuInstitutoOnline.com M.Donoso, G.García, P.Gargallo, A.Martínez. Versión 2021.