Comprobación de cada respuesta del cuestionario

En esta página, completarás tu aplicación de prueba usando un nuevo bloque que recorre una lista:
para cada (elemento) de(){}

Si aún no está abierto, abre tu proyecto U2L2-Prueba.

 
Los estudiantes están considerando cómo usar un tipo de datos abstractos mientras desarrollan el código para tu proyecto.
Morgan: Podemos usar nuestrospregunta de prueba: () y pregunta de prueba: () selectores para obtener la pregunta y la respuesta del elemento de prueba de nuestra lista. Pero, ¿cómo obtenemos el elemento de prueba fuera de la lista en primer lugar?
Omar: Tal vez podamos usar artículo de dentro de un bucle para y usar el índice del bucle para como el primera entrada a elemento de, así:
para (i) = (1) hasta (4) {
    pregunta (pregunta de (elemento (i) de (prueba de informática))) y esperar
}
: Composición de funciones

Utilizar el resultado de elemento como entrada para dirección de contacto se denomina composición (composition) de funciones.

Jasmine: Sí, podríamos, pero eso es un poco difícil de leer con esa variable de índice, i, y de seguirle el rastro. Y si agregamos más preguntas, tendremos que actualizar ese número 4 que nos dice cuándo terminar el ciclo. Apuesto a que podemos usar para cada para recorrer la lista.
Jasmine arrastra para cada al área de secuencias de comandos.
para cada (elemento) de 'ranura de entrada' {}
Omar: Incluso podríamos renombrar elemento a algo lógico como elemento de prueba. Luego, el código interno se ejecutará una vez para cada elemento del cuestionario de nuestra lista.
: Recorrer una lista
AAP-2.O.2

Recorrer (traversing) una lista significa mirar cada elemento de la lista. Para cada es iterativo. Es decir, es repetitivo, como para, que también puede atravesar una lista. Pero a diferencia de para, para cada recorre la lista sin usar números de índice.

  1. AAP-2.K parte a, AAP-2.O parte a
    Usa para cada para recorrer tu lista, respondiendo a cada pregunta del cuestionario, verificando cada respuesta y dejando que el usuario sepa si acierta o no en cada elemento.
  2. Realiza pruebas varias veces como lo haría un usuario y resuelve cualquier problema con el código. Luego, dale tu cuestionario a un amigo.
  1. Si el usuario está equivocado, además de decírselo, muéstrale también la respuesta correcta.
  2. Usa una variable de secuencia de comandos para realizar un seguimiento de la puntuación del jugador e informarla al final de la prueba.
  1. AAP-2.K parte b

    ¿Cuál de las siguientes secuencias producirá el siguiente comportamiento de sprite?
    sprite saying Abraham then Lincoln
    (Sin embargo, cuando ejecutas la secuencia, en realidad dice Abraham Lincoln solo una vez.)

    Elige todos los que correspondan.

    para cada (elemento) de {Abraham, Lincoln} [decir (elemento) por (1) segs]
    decir {Abraham, Lincoln} por (2) segs
    decir (elemento (1) de {Abraham Lincoln, George Washington, Barack Obama}) por (2) segs
    decir (elemento (1) de {Abraham, George, Barack} por (1) segs, entonces decir (elemento (1) de {Lincoln, Washington, Obama} por (1) segs
AAP-2.O.3
El procedimiento
irA()
no está integrado en el lenguaje del AP, por eso está escrito en minúsculas como otros procedimientos definidos por el programador.
La secuencia de comandos para cada (punto) de (mi dibujo) (ir a (punto)) se escribiría como
FOR EACH punto IN miDibujo
{
    irA(punto)
}
or FOR EACH punto IN miDibujo
{
    irA (punto)
}.

Estas preguntas son similares a las que verás en el examen AP CSP.

  1. AAP-2.O part b
    listaEntradas ← [3, -1, 2, 10, -5]
    
    FOR EACH elemento IN listaEntradas
    {
      IF(elemento > 0  AND  elemento * elemento > 4)
      {
        DISPLAY(elemento)
      }
    }
    

    ¿Qué se mostrará como resultado de ejecutar el segmento de código dado?
    9, 1, 4, 100, 25
    9, 100
    3, 2, 10
    3, 10
  2. PROCEDURE Misterio(listaNúmeros, númeroObjetivo)
    {
      contador ← 0
      FOR EACH número IN listaNúmeros
      {
        IF(número > númeroObjetivo)
        {
          contador ← contador + 1
        }
      }
      RETURN(contador)
    }
    misNotasMatemáticas ← [100, 80, 90, 80, 60, 100, 50, 100]
    Misterio(misNotasMatemáticas, 60)
    

    ¿Qué se devolverá si se ejecuta el código anterior?
    [100, 80, 90, 80, 100, 100]
    7
    6
    60
  1. Antes de decirle al usuario la respuesta correcta, dale tres intentos para hacerlo bien.
  2. Los usuarios pueden dar respuestas lo suficientemente cercanas, pero no exactamente la respuesta que esperabas. Por ejemplo, a la pregunta "¿Qué tipo de variable está disponible solo en la parte del programa donde está definida?" alguien podría responder con "una variable local", "variable local" o simplemente "local", o las mismas posibilidades para "variable de programa". Entonces, tu respuesta a la pregunta ADT podría tomar una lista de palabras clave en el segundo espacio y aceptar cualquier respuesta que incluya cualquiera de las palabras clave (entonces, en este caso, la lista sería { local, script} y aceptaría "uno local"). Use 'lista de espacios de entrada' contiene () para adaptar tu código.