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:

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:

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

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.

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:

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Ć­:

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.

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.

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: 

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.

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... 

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:

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?.

VIDEO DE APOYO

contĆ”ctame: 

  • w-facebook
  • Twitter Clean