1.7 - Bloques de uso más común-Xnergic TCM

 https://www.youtube.com/watch?v=Ammx11u0FP8

https://www.youtube.com/watch?v=X0oLmR6NeV0&list=PL5tA44GpyFntFHtHd6Zxb2xQZpxwOfeu3&index=7

Tutorial de Programación: Bucles, Condicionales y Sensores en Scratch


Objetivo: Aprender los conceptos fundamentales de la programación (bucles y condicionales) y cómo implementarlos en Scratch, utilizando sensores y operadores para crear programas interactivos.

Público: Principiantes en programación o personas que quieran entender estos conceptos desde cero con un enfoque visual y práctico.


1. Introducción a los Bloques de Control

En programación, hay dos estructuras de control que son la base de casi cualquier programa: los bucles y los condicionales. Estos nos permiten controlar el flujo de nuestro programa, es decir, decidir qué acciones se ejecutan y en qué orden.


2. Los Bucles (Repetición)

Los bucles nos permiten repetir un bloque de instrucciones varias veces. En Scratch, y en la mayoría de los lenguajes, encontramos tres tipos principales:

  • Bucle "por siempre" (Infinito):

    • Función: Repite el bloque de código que contiene de manera continua y sin parar.

    • Uso: Ideal para acciones que deben estar activas todo el tiempo, como el movimiento de un personaje o la verificación constante de una condición.

    • Representación en Scratch: Tiene forma de "C" o "U" invertida, que envuelve las instrucciones que se repetirán.

  • Bucle "repetir N veces" (Contado):

    • Función: Repite el bloque de código un número específico de veces.

    • Uso: Cuando sabemos exactamente cuántas veces debe ejecutarse una acción (ej. "repetir 10 veces", "girar 4 veces para hacer un cuadrado").

    • Representación en Scratch: Similar a la "C", pero con un espacio para indicar el número de repeticiones.

  • Bucle "repetir hasta que" (Condicional):

    • Función: Repite el bloque de código hasta que se cumpla una condición específica. La condición se comprueba al inicio de cada repetición. Si la condición es falsa, el bucle continúa; si es verdadera, el bucle se detiene y el programa sigue con las instrucciones posteriores.

    • Uso: Para acciones que deben repetirse mientras no ocurra un evento determinado (ej. "repetir hasta que el gato toque el borde").

    • Representación en Scratch: Tiene la misma forma de "C", pero con un espacio romboidal donde conectamos la condición que detendrá el bucle.


3. Los Condicionales (Toma de Decisiones)

Los condicionales permiten que el programa tome decisiones y ejecute diferentes bloques de código en función de si se cumple o no una condición.

  • Condicional "si" (If):

    • Función: Ejecuta un bloque de código solo si la condición que se evalúa es verdadera. Si es falsa, simplemente lo ignora.

    • Uso: Para acciones opcionales (ej. "si el gato está tocando el ratón, entonces cambia de color").

  • Condicional "si... si no" (If... Else):

    • Función: Ejecuta un bloque de código si la condición es verdadera, y ejecuta un bloque diferente si la condición es falsa.

    • Uso: Para crear una bifurcación en el camino (ej. "si el gato está tocando a Ana, entonces sumar 1 punto; si no, no hacer nada"). Esto es mucho más común y potente que el "si" simple.

El Agujero Romboidal (La Condición):
Tanto en los bucles "hasta que" como en los condicionales, verás un espacio con forma de rombo. Esa es la "caja" donde debes colocar la condición. Esta condición siempre debe ser una pregunta cuya respuesta sea verdadera o falsa.


4. Tipos de Condiciones (Sensores y Operadores)

¿Qué podemos poner en ese agujero romboidal? Dos tipos de bloques que devuelven verdaderos o falsos.

a) Sensores

Estos bloques detectan el estado del mundo virtual (el escenario).

  • Sensores de Contacto:

    • ¿Tocando el borde?: Pregunta si el objeto está en el límite del escenario.

    • ¿Tocando [otro objeto]?: Pregunta si el objeto está tocando a otro objeto específico (como otro personaje).

    • ¿Tocando el puntero del ratón?: Pregunta si el objeto está sobre el cursor del mouse.

    • ¿Tocando el color [ ]?: Pregunta si el objeto está tocando un color específico de la pantalla. Puedes seleccionar el color con un cuentagotas.

  • Sensores de Teclado y Ratón:

    • ¿Tecla [tecla] presionada?: Pregunta si el usuario está presionando una tecla determinada.

    • ¿Ratón presionado?: Pregunta si se ha hecho clic con el mouse.

  • Sensores de Video y Sonido (Scratch 2.0 y posteriores):

    • Permiten usar la cámara web o el micrófono para interactuar, detectando movimiento, volumen, etc.


b) Operadores Lógicos y de Comparación

Estos bloques nos permiten combinar o comparar valores.

  • Operadores de Comparación (forma romboidal):

    • [ ] > [ ] (Mayor que)

    • [ ] < [ ] (Menor que)

    • [ ] = [ ] (Igual a)

    • Devuelven verdadero o falso según la comparación.

  • Operadores Lógicos (forma romboidal):

    • [ ] y [ ] (AND): Devuelve verdadero solo si ambas condiciones son verdaderas.

    • [ ] o [ ] (OR): Devuelve verdadero si al menos una de las condiciones es verdadera.

    • no [ ] (NOT): Invierte el valor de la condición.

Combinando Conceptos: Podemos crear condiciones complejas. Por ejemplo: ¿Está tocando el color rosa? y ¿La posición X del gato es mayor que 3?.


5. Proyecto Práctico Paso a Paso

Vamos a construir un programa que demuestre todos estos conceptos juntos.

Objetivo del Proyecto: Un gato que se mueve aleatoriamente por la pantalla. Cuando toca a otro objeto (Ana), suma puntos. Si toca el borde o un color específico, se detiene.

Escenario Inicial:

  1. Asegúrate de tener el objeto "Gato" (Sprite1).

  2. Añade otro objeto, por ejemplo, "Ana" (o cualquier otro personaje). Colócalo en algún lugar de la pantalla.

  3. Crea una variable llamada "puntos" en el bloque Variables. Esta mostrará la puntuación en la pantalla.

Paso 1: Mover el Gato a un Punto Aleatorio

Queremos que el gato se desplace a una posición aleatoria.

  1. Toma el bloque al presionar bandera verde para iniciar el programa.

  2. Del bloque Movimiento, toma deslizar en 1 segs a x: 0 y: 0.

  3. Operación Matemática (Números aleatorios): Los números en el bloque deslizar no deben ser fijos.

    • Para la coordenada X, usa el bloque número aleatorio entre ( ) y ( ) de la categoría Operadores. Pon los límites de la pantalla: -240 y 240.

    • Para la coordenada Y, usa otro bloque número aleatorio entre ( ) y ( ) con los límites -180 y 180.

    • Conecta estos bloques en los espacios correspondientes del bloque deslizar.

Paso 2: Añadir el Bucle Infinito

Queremos que el gato se mueva de un punto a otro todo el tiempo. Para ello, envolvemos la acción de deslizarse en un bucle por siempre.

  1. Toma el bloque por siempre de la categoría Control.

  2. Coloca el bloque deslizar... (que ya tiene los números aleatorios) dentro del bucle por siempre.

Paso 3: Añadir una Pequeña Pausa

Para que el movimiento no sea tan rápido, añade un bloque esperar 0.3 segundos (de Control) dentro del bucle, justo después de deslizar....

  • Código hasta ahora:

  • scratch

al presionar bandera verde

por siempre

    deslizar en 1 segs a x: (número aleatorio entre (-240) y (240)) y: (número aleatorio entre (-180) y (180))

  •     esperar 0.3 segundos

Paso 4: Parar al Tocar un Color Específico

Ahora, vamos a cambiar el bucle por siempre por un bucle repetir hasta que, que se detendrá cuando el gato toque un color determinado (el jersey de Ana, por ejemplo).

  1. Reemplaza el bloque por siempre por el bloque repetir hasta que (en Control).

  2. Condición: En el espacio romboidal, coloca el sensor ¿tocando el color [ ]? (de Sensores).

  3. Haz clic en el cuadrado de color del sensor y luego en el jersey de Ana para seleccionar ese color.

  4. Ahora, el programa se detendrá cuando el gato toque el color exacto del jersey de Ana.

Paso 5: ¡Sumar Puntos con un Condicional "Si"!

En lugar de detener el programa, queremos que, cada vez que el gato toque a Ana, sume un punto. Para esto, necesitamos un condicional dentro del bucle.

  1. Vuelve a cambiar el bucle repetir hasta que por un bucle por siempre.

  2. Dentro del por siempre, pero después del bloque deslizar..., coloca un condicional si (de Control).

  3. En la condición del si, coloca el sensor ¿tocando a [Ana]? (en lugar del color).

  4. Dentro del si, coloca el bloque cambiar [puntos] por (1) (de la categoría Variables).

  5. Atención a la Traducción: Los bloques de variables pueden decir "cambiar" o "añadir". Su función es sumar el número indicado a la variable (si es negativo, resta).

  • Código final:

  • scratch

al presionar bandera verde

por siempre

    deslizar en 1 segs a x: (número aleatorio entre (-240) y (240)) y: (número aleatorio entre (-180) y (180))

    esperar 0.3 segundos

    si <¿tocando a [Ana]?> entonces

        cambiar [puntos] por (1)

  •     fin

¡A probar! Ahora, cada vez que el gato pase sobre la figura de Ana (el objeto), se sumará un punto. Si no la toca, no sumará nada.


6. Resumen y Conclusión

  • Bucles: Herramientas para repetir acciones. Por siempre (infinito), repetir N (contado) y repetir hasta que (condicional).

  • Condicionales: Herramientas para tomar decisiones. Si (acción opcional) y Si... si no (elegir entre dos acciones).

  • Condiciones: Siempre son preguntas que se responden con verdadero o falso. Se crean con sensores (detectan el entorno) y operadores (comparan y combinan).

  • Práctica: Hemos creado un programa interactivo que combina un bucle, un condicional y sensores, demostrando el poder de estas estructuras básicas para crear comportamientos complejos.

¡Felicidades! Has aprendido los bloques fundamentales de la programación. Con estos conceptos, puedes empezar a crear tus propios juegos e historias interactivas en Scratch.









Bucles:

1-Un numero concreto de veces

2.-Bucle infinito

3-Hasta que se cumple una condicion





Condicionales


1.- si se cumple una condicion realiza una accion




El rombo pide un sensor o un operador














Detectando el color









Vamos hacer que el gato se mueva a un punto alazar de la pantalla





Cuando toque el color de ana



suma uno al contador cuando toca el color de ana







Toca a ana


Comentarios

Entradas más populares de este blog

1.4 - Interfaz de usuario-Xnergic TCM

1.5 - Personajes-Xnergic