7 Preguntas recorte-Félix Delgado Plana

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

Interacción con el Usuario - Preguntas y Respuestas

Duración estimada: 15-20 minutos
Nivel: Principiante / Intermedio
Objetivo: Aprender a usar los bloques de pregunta (preguntar ... y esperar) para obtener información del usuario, almacenar la respuesta y tomar decisiones basadas en ella usando condicionales y operadores.


1. Introducción: Más Allá del Ratón y el Teclado

Hasta ahora, la interacción con el usuario se limitaba a:

  • Clics del ratón (ej. al hacer clic en este objeto).

  • Pulsación de teclas (ej. al presionar tecla [espacio]).

Sin embargo, estas opciones no nos permitían obtener datos del usuario (como su nombre o su edad).

Con los bloques de preguntas, podemos:

  1. Formular una pregunta al usuario.

  2. Almacenar su respuesta (escrita con el teclado) en una variable especial llamada respuesta.

  3. Utilizar esa respuesta en nuestro programa para personalizar la experiencia.


2. Los Bloques de Pregunta y Respuesta

2.1. El Bloque de Pregunta

  • Ubicación: Categoría "Sensores".

  • Nombre: preguntar [¿Cómo te llamas?] y esperar.

  • Función: Muestra un cuadro de diálogo en el escenario donde el usuario puede escribir su respuesta. El programa se detiene hasta que el usuario presiona "Enter" o hace clic en la marca de verificación.

2.2. El Bloque de Respuesta

  • Ubicación: Categoría "Sensores" (aparece automáticamente al usar una pregunta).

  • Nombre: respuesta.

  • Función: Contiene el texto que el usuario ha escrito. Es como una variable especial que se actualiza cada vez que se hace una nueva pregunta.


3. Ejemplo Práctico 1: Saludando al Usuario por su Nombre

Vamos a crear un programa que, al presionar la barra espaciadora, pregunte el nombre del usuario y luego lo salude.

Paso 1: Preguntar el Nombre

  1. Ve a la categoría "Eventos" y arrastra el bloque al presionar tecla [espacio].

  2. Ve a la categoría "Sensores" y arrastra el bloque preguntar [¿Cómo te llamas?] y esperar.

Código:

text

al presionar tecla [espacio]

preguntar [¿Cómo te llamas?] y esperar

Paso 2: Responder con un Saludo Personalizado

Ahora queremos que el gato diga "Buenos días" seguido del nombre que el usuario escribió.

  1. Ve a la categoría "Apariencia" y arrastra el bloque decir [Hola] por [2] segundos.

  2. No vamos a escribir un texto fijo, sino que vamos a unir dos textos:

    • El texto fijo: "Buenos días ".

    • La variable respuesta (que contiene el nombre).

  3. Ve a la categoría "Operadores" y arrastra el bloque unir [cosa1] [cosa2].

  4. Coloca este bloque dentro del espacio de texto de decir.

  5. Escribe Buenos días en el primer espacio (deja un espacio al final para que quede bonito).

  6. Coloca el bloque respuesta (desde "Sensores") en el segundo espacio.

Código completo:

text

al presionar tecla [espacio]

preguntar [¿Cómo te llamas?] y esperar

decir (unir [Buenos días ] (respuesta)) por [2] segundos

Resultado

  • Al presionar la barra espaciadora, aparecerá la pregunta.

  • Si escribes "Juan", el gato dirá: "Buenos días Juan".


4. Ejemplo Práctico 2: Preguntar la Edad y Tomar Decisiones

Ahora vamos a añadir una segunda pregunta sobre la edad y usaremos un condicional para dar una respuesta diferente según la edad del usuario.

Estructura del Programa

  1. Preguntar el nombre.

  2. Saludar al usuario.

  3. Preguntar la edad.

  4. Si la edad es mayor de 10, pensar "Eres demasiado mayor".

  5. Si no (es menor o igual a 10), decir "Bienvenido".

Paso 1: Preguntar la Edad

  1. Después del saludo, añade otro bloque preguntar [¿Cuántos años tienes?] y esperar (desde "Sensores").

Código hasta ahora:

text

al presionar tecla [espacio]

preguntar [¿Cómo te llamas?] y esperar

decir (unir [Buenos días ] (respuesta)) por [2] segundos

preguntar [¿Cuántos años tienes?] y esperar

Paso 2: Crear la Condicional

  1. Ve a la categoría "Control" y arrastra el bloque si ... entonces, si no.

  2. Ve a la categoría "Operadores" y arrastra el bloque [ ] > [ ] (mayor que). Lo usaremos como condición.

  3. Compara la respuesta con el número 10.

    • Coloca respuesta en el primer espacio.

    • Escribe 10 en el segundo espacio.

  4. Dentro del si, coloca un bloque pensar [Hmmm...] por [2] segundos (desde "Apariencia").

    • Escribe: Hmmm... eres demasiado mayor.

  5. Dentro del si no, coloca un bloque decir [Bienvenido] por [2] segundos.

Código completo:

text

al presionar tecla [espacio]

preguntar [¿Cómo te llamas?] y esperar

decir (unir [Buenos días ] (respuesta)) por [2] segundos

preguntar [¿Cuántos años tienes?] y esperar

si (respuesta) > (10) entonces

    pensar [Hmmm... eres demasiado mayor] por [2] segundos

si no

    decir [Bienvenido] por [2] segundos


5. Prueba del Programa

Caso 1: Usuario Menor de Edad

  1. Presionamos la barra espaciadora.

  2. Pregunta: "¿Cómo te llamas?" → Respondemos: "Ana".

  3. El gato dice: "Buenos días Ana".

  4. Pregunta: "¿Cuántos años tienes?" → Respondemos: "12".

  5. Como 12 > 10 es verdadero, el gato piensa: "Hmmm... eres demasiado mayor".

Caso 2: Usuario Mayor de Edad

  1. Presionamos la barra espaciadora.

  2. Pregunta: "¿Cómo te llamas?" → Respondemos: "Juan".

  3. El gato dice: "Buenos días Juan".

  4. Pregunta: "¿Cuántos años tienes?" → Respondemos: "21".

  5. Como 21 > 10 es falso, el gato dice: "Bienvenido".


6. Resumen de Bloques Utilizados

Categoría

Bloque

Función

Eventos

al presionar tecla [espacio]

Inicia el programa al presionar la barra espaciadora.

Sensores

preguntar [texto] y esperar

Muestra la pregunta y espera la respuesta del usuario.

Sensores

respuesta

Almacena el texto que el usuario ha escrito.

Operadores

unir [texto1] [texto2]

Une dos textos en uno solo.

Operadores

[ ] > [ ]

Compara si un número es mayor que otro.

Control

si ... entonces, si no

Ejecuta un código u otro según se cumpla una condición.

Apariencia

decir [texto] por [n] segundos

Muestra un globo de diálogo con el texto.

Apariencia

pensar [texto] por [n] segundos

Muestra un globo de pensamiento (con burbujas).


7. Ejercicio Propuesto

Amplía el programa para que:

  1. Pregunte también la ciudad del usuario.

  2. Al final, diga: "Bienvenido [nombre], de [ciudad]".

  3. Si la edad es mayor de 18, añada: "Eres mayor de edad".


8. Conclusión

  • Los bloques de pregunta y respuesta son la herramienta fundamental para obtener información del usuario en Scratch.

  • La variable respuesta es especial porque se actualiza automáticamente con la última entrada del usuario.

  • Combinando preguntas con condicionales (si ... entonces, si no), podemos crear programas que tomen decisiones basadas en la información proporcionada, haciendo que la experiencia sea interactiva y personalizada.

Comentarios

Entradas más populares de este blog

1.4 - Interfaz de usuario-Xnergic TCM

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

1.5 - Personajes-Xnergic