top of page
ticher.gif

Pensamiento computacional

Estructuras de control en Scratch

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Utilizaremos el programa realizado en la Nota de repaso anterior "Tu primer programa de Scratch" para ejemplificar las estructuras de control que existen y que nos ayudan en la creación de programas.

​

​

​

I. Estructura de control secuencial.

​

Se caracteriza porque las instrucciones se van ejecutando una detrás de la otra. El programa creado tiene exactamente esta estructura:

scr15.jpg

II. Estructura de control de decisión.

​

Modificaremos el mismo programa para demostrar cómo funciona esta estructura de control.

​

Problema. Deseamos que el gato solo emita un sonido cuando llegue al borde del escenario.

​

Así el problema, solo si se cumple la condición, se ejecutara lo solicitado. Para lograrlo sigue los siguientes pasos:

 

- De la paleta de Control elige la instrucción SI ENTONCES y agrégala al programa de tal forma que solo contenga en su interior la instrucción de tocar sonido:

scr20.jpg

Si ejecutamos el programa, tal cual está, no funcionará como deseamos ya que nos falta indicar ¿en qué caso se ejecutará el sonido?, es decir, ¿cuál será la condición que activará la instrucción?

​

Para ello, utiliza de la paleta SENSORES la opción ¿TOCANDO...? arrástralo hasta donde corresponde y a continuación selecciona de la misma, la opción BORDE

scr21.jpg

Ejecuta el programa para probar su correcto funcionamiento.

IMPORTANTE: Observa que en esta estructura de control, para insertar el parámetro de decisión, solo se permite que este sea de la misma forma hexagonal.

​

Es también necesario que sepas que...

​

  • El parámetro que se evalúa lo hace a través de una pregunta. En este caso, la pregunta es ¿está tocando el borde? y la respuesta no puede ser otra más que un SI o un NO. 

  • En computación, estos valores (VERDADERO o FALSO) se llaman valores BOOLEANOS.

​

Ejemplos de otras preguntas booleanas: ¿ayer llovió? ¿es de noche? ¿vives con tus padres? etcétera. Estas preguntas solo se responden con un SI o un NO.

​

Así pues, existen otras preguntas que no son booleanas. Ejemplo: ¿cuántos años tienes? ¿cuál es tú nombre? ¿en dónde vives? etcétera. Estas preguntas tienen una infinidad de respuestas.

​

​En los juegos de Scratch las condicionales son muy importantes ya que nos permiten decidir si un objeto chocó con otro, determinar si se llegó  ala meta deseada o decidir si se cambia el nivel de juego dependiendo de si se cumplen ciertas condiciones.

​

Un detalle importante que también debes conocer antes de seguir es el siguiente. Si por alguna razón el programa entra en un ciclo infinito de repeticiones, puedes deternerlo utilizando el botón rojo de "alto" al lado derecho de la bandera verde de ejecución.

scr22.jpg

III. Estructura de control iterativa y variables.

​

En la estructura de control iterativa hay dos modalidades: CONTROLADA POR CANTIDAD y CONTROLADA POR DECISIÓN. A continuación y utilizando el mismo programa que venimos trabajando, ilustraremos estas modalidades con el siguiente problema.

​

Problema. Deseamos que el gato realice automáticamente todo el ciclo anterior sin necesidad de estar pulsando repetidamente la bandera verde y, para ejemplificar la modalidad POR CANTIDAD, haremos que repita este ciclo por 7 veces.

​

 

De la paleta de Control elige la instrucción REPETIR... y cambia su parámetro de 10 a 7, para que realice lo deseado:

scr23.jpg

Ahora reestructuremos nuestro programa para que toda la secuencia que habíamos realizado se aloje dentro de esta estructura de control.

​

Consideraciones importantes:

a) Para lograr ver el efecto donde el gato rebota 7 veces en los bordes, será necesario cambiar la cantidad de pasos de 100 a 500.

​

b) Ya que tenemos la estructura de control SI, añadiremos dentro de ella el bloque REBOTAR SI TOCA UN BORDE.

Nuestro programa se verá ahora así:

scr24.jpg

Si corremos nuestro programa observaremos que el gato se mueve y rebota 7 veces en los bordes.

​

Aprovechemos lo que tenemos para introducir la noción de variable.

​

Una variable es un espacios de memoria reservado que puede cambiar de contenido durante la ejecución de un programa.

​

Es necesario primeramente crear dicha variable. 

​

​

​

​

​

​

De la paleta Variables elige la opción

CREAR UNA VARIABLE.

scr25.jpg

A continuación hay que darle un nombre a esta variable. En nuestro caso la llamaremos  CUENTA.

Observarás que ya se activaron algunas opciones extras para la variable CUENTA.

scr26.jpg
scr27.jpg

De ellas,  utilizaremos el bloque ESTABLECER CUENTA A 0 que insertaremos al inicio del programa para inicializar la variable a cero.

​

Ahora, dentro de la estructura de control SI TOCANDO BORDE, utilizaremos el bloque CAMBIAR CUENTA POR 1. Esto hará que cada vez que se toque el borde, la variable se incrementará en uno.

​

Nuestro programa se verá así ahora: 

scr28.jpg

Al ejecutarlo, observa el contador en el extremo superior izquierdo mientras el gato recorre el espacio, cambiando de color y emitiendo el sonido cuando rebote en los bordes, esto, por 7 veces.

scr29.jpg

Finalmente, para ejempliflicar la modalidad de la estructura de control: CONTROLADA POR DECISIÓN, modificaremos el programa cambiando el bloque REPETIR... por REPETIR HASTA QUE... 

scr30.jpg

A diferencia de la anterior estructura de control que se repetía un determinado número de veces, esta  repetirá el ciclo hasta que se cumpla determinada condición que será evaluada por el programa, validándola así como FALSAVERDADERA.

​

Para nuestro caso, cambiaremos el bloque REPETIR por el de REPETIR HASTA QUE... y en este último insertaremos, de la paleta de SENSORES, la condición ¿TOCANDO EL PUNTERO DEL RATÓN? para obtener lo siguiente:

scr31.jpg

Si ejecutas el programa, solo se detendrá hasta que estratégicamente coloques el puntero del ratón en uno de los extremos a dónde el gato llega el gato, y se cumpla la condición ¿TOCANDO EL PUNTERO DEL RATÓN?.

scr32.jpg

VIDEO DE APOYO

HRASSO.jpg
bottom of page