Haciendo que los programas hablen

TG: Some of the sentences that the program makes are silly (like "my cat loves my cat") encourage students to enjoy that rather than trying to "fix" it. --MF, 4/17/19

En este laboratorio vas a aprender a programar dos personajes que se comuniquen.
Imagen de un escenario con dos personajes hablando. Uno dice 'mi gato es en una banda con Jake,' y el otro dice 'Oh, pero ... Mr. C ama mi gato.'

En esta página vas a experimentar con un programa existente cómo introducción al proyecto.

Explorando bloques personalizados

  1. Haz clic aquí para cargar el archivo. Luego debes guardarlo en tu cuenta de Snap!.
  2. Debes tener una sesión iniciada en tu cuenta de Snap! para guardar tu trabajo. Para revisar el procedimiento para iniciar sesión visita la página Unidad 1 Lab 1 Página 1: Primeros pasos con Snap!
  3. Realiza cada experimento (A-D), presionando cada bloque varias veces.
  4. Habla con tu compañero
    • ¿Qué despliega cada uno de los siguientes bloques reporteros?
      bloque quién bloque hace qué bloque hablar
    • ¿Qué sucede al hacer clic en el programa (etiqueta D)
      say (gossip) broadcast (your turn)
Fix picture of block version to put [] after gossip.
AAP-3.A.6
En el examen AP no hay un bloque exáctamente igual a say (gossip) o say (gossip) for (3) secs ya que no tienen personajes o globos de conversación. En su lugar, la forma correcta de presentar texto al usuario es utilizando
DISPLAY(gossip())
, en el caso que esté escrito como texto, o de la forma a white rounded rectangle containing first the word 'DISPLAY' in all caps and then a smaller white rectangle containing the word 'gossip' in lower case si está representado como un bloque.

Tú no tendrías que estar capacitado para escribir código utilizando esta notación en el examen AP. Tú solo debes ser capaz de leerlo para que puedas responder las preguntas relacionadas con dicha funcionalidad.

¿Quieres hacer los bloques más grandes?

En el menú de configuración (Settings menu gear icon), selecciona la opción "Tamaño de bloque...", y ajusta la barra de tamaño o bien escribe el tamaño en el campo de entrada.

<code> inside a takeNote has to be magenta, not purple. I hacked this one by hand but it should be addressed in the css. -bh
AAP-3.B.6, DAT-1.A.5

Abstracción es la idea fundmental en las ciencias de la computación, aunque es difícil de definir hasta que no hemos visto algunos ejemplos. La idea más básica de abstracción es la de dar un nombre a algo en un programa. Por ejemplo, en este ejercicio le hemos dado el nombre quien a la idea "selecciona un elemento de forma aleatoria desde una lista de personas (o gatos)." A esto se le conoce como abstracción de procedimientos ya que utilizamos un procedimiento (un bloque) para representar la idea. De esta forma hacemos más fácil la lectura del código. Vamos a ver otras formas de abstracción más adelante.

AAP-3.B.7

Si has tenido la idea de copiar y pegar código o bloques de un lugar a otro para reutilizarlos, es el momento de darles un nombre. Te recomendamos que les des un nombre (abre el Editor de bloques y pega allí el código), luego ya puedes ejecutar el procedimiento en ambos lugares. En el caso que descubras más adelante que necesitas arreglar algún problema o mejorar el código, lo único que debes hacer es cambiarlo en un único lugar, en lugar de buscar el código copiado en diferentes partes del programa.

Explorando con un segundo personaje 

  1. Pair Programming Swap En el área de personajes haz clic en la flecha o personaje verde titulado "Sprite(2)". Aquí es posible controlar sus programas y disfraces.
    stage-and-sprite-corral
  2. Ejecuta cada uno de los programas (A-C) haciendo clic en los bloques varias veces.
  3. Talk with Your Partner Escribe la función del código enviar mensaje.
  4. Talk with Your Partner Discute la forma en que el código who2 se diferencia de who y cómo gossip2 se diferencia de gossip.
  5. Programa el código para que el personaje Sprite(2) le diga al personaje Sprite que responda. ¿Qué sucede?
  6. Es momento de guardar tu trabajo

    El bloque enviar mensaje se encarga de comunicar un mensaje a todos los personajes. Para definir un mensaje haz clic en la flecha de opciones desplegable y selecciona "nuevo..."
    broadcast block with menu open showing two options: your turn, new...

    Para más información acerca del bloque Cuándo me llegue, haz clic derecho en el bloque (o control-clic en una Mac) y selecciona la opción "ayuda...".
    when I receive block with right-click menu open showing four options: help..., duplicate, delete, script pic...