Explorando movimiento

PG: We imply a promise we only sort-of keep. I'd mostly keep this page, but change the pink box. I'd also bring back the Albers algorithm (currently optional project page 5) somewhere. That one doesn't even require angle and gives a rich variety of solid-color shapes—rectangles, triangles, circles, hot-dogs—as well as opportunities for varying color. USE, MODIFY, be creative.

BH: I would eliminate all the WAIT blocks throughout. I'm saying KEEP if that's the only problem.

A continuación se presentan trabajos de los artistas Josef Albers, Maya Hayuk, Vassily Kandinsky, Atta Kwami, Kazimir Malevich, Carlos Merida, Piet Mondrian, Alma Thomas, and Theo van Doesburg. Los estilos son diferentes, pero todos ellos están basados en polígonos o círculos.

painting-by-Josef-Albers Maya Hayuk painting-by-Kandinsky Atta Kwami painting-by-Malevich Carlos Merida painting-by-Mondrian Alma Thomas painting-by-van-Doesburg

En este laboratorio vas a dibujar polígonos, para que puedas crear tu propia obra de arte: regular polygons
random colored squares on black background

En esta página vas a explorar los aspectos básicos para dibujar una forma en Snap!. Se va a utilizar el bloque repetir para iterar sobre el mismo código múltiples veces.

¿Cuál es el propósito del "pseudocódigo"? "Pseudo" significa literalmente "falso o irreal"; ¿Porqué escribir un algoritmo en nuestro lenguaje natural en lugar de uno tan preciso como Snap!? De cierto modo es importante tomar en cuenta que los detalles de lenguaje de programación no son los aspectos más relevantes en los que se debe pensar. La idea es evitar estar pensando en instrucciones y enfocarse en el comportamiento esperado para resolver un problema. Representan un pensamiento de alto nivel, no de la forma en la que lo hace la máquina. De lo contrario, se analizaría todo el tiempo pasos específicos que no son naturales, por ejemplo: "Aquí está la melodía; escribe la armonía" o "Selecciona los números ganadores para la lotería de mañana; anótalos y compra el billete de lotería."
: Algoritmos y Pseudocódigo
AAP-2.A.1, AAP-2.A.2, AAP-2.A.3

Un algoritmo es un conjunto ordenado de operaciones sistemáticas que permite hacer un cálculo y hallar la solución de un tipo de problema. Es una secuencia de pasos que usualmente ejecuta una computadora. El algoritmo no requiere estar escrito en un lenguaje de programación en particular. Puede ser escrito en nuestro lenguaje natural en la forma de una secuencia de oraciones que realiza una serie de actividades. Se conoce a un algoritmo escrito en lenguaje natural como pseudocódigo. Una vez que se tiene la idea clara de los pasos a ejecutar, el algoritmo puede escribirse en el lenguaje de programación de tu elección.

    AAP-2.A, AAP-3.A part b
  1. Work with a Partner Write Out Your Thoughts Describe qué va a hacer el personaje al seguir el algoritmo que se presenta a continuación:
    repeat (4) (move (100), turn clockwise (90))
  2. Inicia sesión en Snap! y construye el programa para probar tu hipótesis.
    1. Haz clic para ejecutar y observa que hace el personaje.
    2. Haz clic en el bloque pen down y luego haz clic en el código para ejecutarlo de nuevo.
  3. Se puede hacer clic en el bloque bajar lápiz (o en cualquier bloque) en la paleta de bloques que se encuentra al lado izquierdo del área de trabajo, o bien cualquier bloque dentro del área de trabajo para ejecutarlo. Si se hace clic dentro del código, el programa completo es ejecutado.
  4. Talk with Your Partner Analiza porqué el código hace lo que se muestra en pantalla.
  5. Talk with Another PairCompara tu trabajo con otro compañero. En el caso que tu código se comporte de forma diferente, revisa ambos.
  6. Usando pasos visibles

    Snap! cuenta con una herramienta llamada Pasos visibles que permite controlar la velocidad de ejecución de los bloques dentro del código.

    • Haz clic en el botón "pasos visibles" (Botón pasos visibles, con dos huellas), y ajusta la barra de deslizamiento para controlar la velocidad de ejecución. Al momento en el que se ejecuta el código, el personaje seguirá la velocidad ingresada y resaltará el bloque actual de ejecución en color cyan.
      BH, can you remake the video for this project? --MF, 5/14/19
    • Es posible bajar la velocidad de ejecución paso por paso, de esta forma se le dice a Snap! el momento de ejecutar el siguiente paso. Mueve la barra de deslizamiento hasta la izquierda, y luego presiona el botón the Ejecutar/Pausa (pause button with play/pause icon) para ver que sucede en cada paso del código.
      BH, can you remake the video for this project? --MF, 5/14/19

    La ejecución por pasos es de utilidad si se necesita analizar el código de alguien más ya que es posible ver la ejecución en velocidad humana en lugar de velocidad de máquina. Es una funcionalidad muy útil para la depuración (debugeo) cuando se busca identificar qué va mal en nuestro código.

  7. Pair Programming Swap Intercambia los puestos si trabajas en pareja. Luego realiza el siguiente experimento:
      Se puede colocar el personaje en el centro del escenario con el bloque go to x: (0) y: (0) y se puede restablecer la dirección a la que apunta con el bloque point in direction (90).
    1. Cambia el valor 100 por 50 en el bloque mover haciendo clic en 100 y escribiendo en su lugar 50. Luego haz clic en el código de nuevo para ejecutarlo con el nuevo valor.
    2. Haz clic en el bloque clear en la paleta de bloques: "Lápiz".
    3. Cambia el número en el bloque girar y ejecuta el programa de nuevo ..., y de nuevo, .... y de nuevo.
    4. Limpia el escenario de nuevo, ahora cambia el número en el bloque repetir. repeat (4){}
    5. Experimenta con los valores en los bloques girar y repetir. Intenta dibujar un triángulo con los tres lados iguales.
    6. Usa el bloque set pen size to () para ajustar el tamaño del lápiz a diferentes valores como 4, 10 o 50. Luego haz clic de nuevo en los bloques repetir, mover, girar.
    7. Para cambiar el tamaño del lápiz se debe hacer clic en el bloque cambiar tamaño del lápiz.
  1. Experimento: ¿Qué deja un trazo?
    1. Mueve el personaje arrastrándolo a una nueva ubicación. ¿Deja un trazo en el escenario mientras se mueve?
    2. Mueve el personaje haciendo clic en el bloque move (50) steps. ¿Deja algún trazo mientras se mueve?
    3. ¿Hacer clic en el bloque go to x:(0) y:(0) deja algún trazo?
These images (and those inside the TIF) need alt/title tags. --MF, 11/18/19
                    
  1. Rectángulos sólidos. Prepara y ejecuta el siguiente código:

    El bloque celeste titulado set se encuentra en la paleta "Sensores", se encuentra de la siguiente forma . Se debe hacer clic en el espacio en forma de hexágono para definir el valor como "Verdadero" (aparece con un cheque verde). Para estar seguro de la diferencia que hace la acción "flat line ends", intenta hacer clic en el espacio en forma de hexágono de nuevo para ejecutar el código con la opción con el valor "Falso". Por supuesto, se puede cambiar los distintos valores, o bien hacer que el programa los defina de forma aleatoria.
  2. Familia de colores. Haz clic en el ícono de archivo en el menú y luego selecciona la opción "Bibliotecas..." Luego busca la biblioteca titulada "Paleta de 100 colores preseleccionados" y haz clic en "Importar."
          
    En la paleta "Lápiz" se puede encontrar ahora el bloque set pen to crayon. Las computadoras pueden desplegar millones de colores, pero al menos que sea necesario hacer coincidir exáctamente con un color en específico, es posible evitar la frustración de tratar de coincidir al menos que tengas la combinación correcta. La biblioteca de colores fuciona como una caja de crayones, brinda una selección de los colores más utilizados y se encuentran clasificados en familias. De esta forma si deseas incluir una variedad de elementos en color "Café", se puede seleccionar un número entre 30 y 39.
  3. painting-by-Malevich
  4. En el lado derecho se presenta una pintura del artista Kazimir Malevich. Los elementos en la pintura son rectángulos, y se presentan en diferentes ángulos, tanto de forma horizontal, y una variación más o menos de 45 grados de inclinación. Se pueden posicionar los rectángulos de forma aleatoria. El resultado de tu trabajo no necesariamente se debe ver así. ¡Eres un artista, inténtalo!
    Alphie: Si se despliegan rectángulos de forma aleatoria, los cuadrados pequeños van a ser cubiertos por los más grandes. Se deberían desplegar los rectángulos grandes de primero y al final los pequeños.
    Gamal: Sé que nuestro trabajo no parece a la versión original, pero me gusta la forma en que aparece el rectángulo grande en color negro. Pienso que le proporciona a la pintura una estructura, con una parte superior y una parte inferior. Me gustaría incluir uno igual en mi trabajo.
    Betty: Me gusta la idea de dibujar líneas realmente gruesas sin usar el bloque flat line ends y obtener resultados interesantes como aparecen a continuación:
  5. painting-by-van-Doesburg
  6. Hacia el lado derecho se presenta una pintura de Theo van Doesburg. Se pueden apreciar detalles en común con la pintura de Malevich, principalmente al usar rectángulos como elementos de diseño. Sin embargo no tiene rectángulos inclinados, en su lugar se necesita que los rectángulos no estén encima unos de otros por lo que deben ser reducidos para evitar colisiones. Se puede usar el bloque para identificar si el fondo detrás del elemento es negro y no el color de otro objeto.