Teacher feedback from 2017-2018: one teacher: "Pg 4. Some students really needed to be prodded to get to see how it becomes an asterisk or polygon. Maybe a hint button might help." --MF, 3/6/19
AC: They’ve experimented with the “second move” on the previous page. What’s new here is making the experiment programmatic by adding inputs. With a little surround, we could move directly to # 5. And is there a new idea in # 5?
AC: # 8 is repeated on the next page. Delete it here or there.
PG: Simplify. Al is right. The orange box feels like way too much, and too early.
pinwheel
con el objetivo de usarlo para dibujar una gran variedad de formas.Recuerda la forma en la que generalizaste el programa original de molinillo: agregaste un campo de entrada llamado número de ramas, él cuál controlaba el ángulo de rotación del cursor. Si agregamos más campos de entrada, es posible generalizar otros aspectos del programa.
move
que se encuentra en el código de pinwheel
. A continuación se muestra una toma de pantalla del lugar específico.pinwheel
, haz clic en el signo "+" que se encuentra al final y agrega un parámetro (elige la etiqueta "Texto"). Escribe backup:
como se muestra más abajo y haz clic en "Aceptar".pinwheel
. Luego presiona en "Aceptar" o "Aplicar."pinwheel
. Revisa que se obtenga el resultado experado. Depura cualquier problema de ser necesario.pinwheel
para que el campo de entrada backup acepte únicamente valores positivos (entre 0 y 100).
La definición del comando personalizado pinwheel
que se muestra a continuación
se escribe con la siguiente notación
turn_clockwise()no forma parte del lenguaje AP, por lo que está escrito en minúsculas, de la misma forma que otros procedimientos definidos por el programador.
PROCEDURE pinwheel(numberOfBranches) { REPEAT numberOfBranches TIMES { MOVE_FORWARD(100) MOVE_FORWARD(-37) turn_clockwise(360 / numberOfBranches) } }
Una buena práctica para evitar errores en el programa es, prioritariamente, mantener el código organizado al borrar todos los bloques que no se utilizan. Normalmente arrastramos bloques para hacer pruebas, pero se pueden quedar en el espacio de trabajo sin uso. Se puede usar la opción ordenar haciendo clic-derecho (o control-clic en Mac) en el área de trabajo para organizar los bloques. Se puede eliminar o remover un bloque o código arrastrándolo hacia afuera del área de trabajo hacia la paleta de funciones al lado izquierdo, o bien seleccionando la opción "eliminar" en el menú emergente al hacer clic-derecho. Click here for a video. (Toma nota que es una funcionalidad diferente a la opción "eliminar definición de bloque..." la cuál borra permanentemente un bloque personalizado y todas sus instancias en todo el proyecto.)
move
.pinwheel
...Pinwheel(6, 80, 20)or
Posiblemente has escuchado que algunas personas utilizan el término "pseudocódigo" para referirse a este pseudo-lenguaje usado en el examen de principios AP CS, pero esto no es pseudocódigo. El pseudocódigo no es un lenguaje de programación, se usa cómo un lenguaje humano natural para describir un algoritmo.
pinwheel
que hagan una figura en forma de círculo.(Guarda tu proyecto; vas a necesitar el bloque pinwheel
más adelante.)
No debe verse igual al de la foto. Pero cada rama del molinillo tiene esencialmente dos triángulos. Puedes encontrar útil para este ejercicio el bloque .