Skip to main content

Evaluar y explicar

Icono de la caja de herramientas del profesor Caja de herramientas para maestros : presentación de la eficiencia del código

Ahora que los estudiantes han practicado la escritura de secuencias de código para realizar una tarea específica, se les pedirá que apliquen esas habilidades para leer secuencias de código y evaluarlas. En esta actividad, los estudiantes recibirán un mapa similar al de la sección Reproducir, y se les pedirá que observen 3 secuencias de códigos para elegir la solución preferida. Para cada secuencia, los estudiantes responderán 3 preguntas:

  • ¿Este código cumple con la tarea?

  • Si funciona, ¿cuáles son las ventajas de este código sobre los demás?

  • ¿Cuáles son las desventajas de este código sobre los demás?

Luego, al observar todas las secuencias, se les presentará a los estudiantes la idea de la eficiencia del código y se les preguntará cuál es su solución preferida, según la eficiencia y sus propias preferencias, y se les explicará por qué. Esto puede ser un trampolín para una discusión de toda la clase sobre la eficiencia y la precisión en la codificación.

Lectura de secuencias de código para elegir una solución preferida

A medida que su clase trabajaba en la sección Jugar, probablemente notó que había muchas soluciones diferentes para el mismo problema que se presentó. Eso es algo que sucede a menudo en el mundo de la programación. Si bien puede haber diferentes formas de hacer algo, todos tendrán un método o solución preferida, y eso podría basarse en una serie de factores. En esta actividad, tu grupo analizará 3 posibles soluciones de bloques de código para un problema, determinará si funcionan de la manera prevista, luego elegirá una solución preferida del grupo y explicará por qué la elegiste.

El problema: Crear una secuencia que, cuando el robot comience en el inicio, viajará dentro y fuera de las 3 aulas (en cualquier orden) y regresará al punto final. El robot debe navegar por las escaleras y puede atravesar las puertas marcadas por los pequeños rectángulos en la imagen del mapa.

Diseño esbozado que muestra el inicio en la esquina inferior izquierda y el final en la esquina inferior derecha. Por encima de la salida está la sala A con una puerta que da a la salida y una a la derecha, que da a las escaleras en el centro. Directamente a la derecha de las escaleras se encuentran la Sala B y la Sala C apiladas sobre el Final. Hay puertas a las habitaciones B y C que dan a las escaleras, y una que conecta las dos.

  • Para cada solución a continuación, responda estas 3 preguntas en su cuaderno de ingeniería:
    • ¿Este código cumple con la tarea? ¿Por qué sí o por qué no?
    • Si funciona, ¿cuáles son las ventajas de este código sobre los demás?
    • ¿Cuáles son las desventajas de este código sobre los demás?
  • La mayoría de las veces, la programación se evalúa en función de su eficiencia, y la solución preferida es aquella que logre el objetivo de la manera más eficiente posible.

Haga clic en las soluciones a continuación para ver una imagen más grande.

Solución de ejemplo para el desafío que consiste en 19 Drive to and Turn para bloques conectados al bloque When Started. En orden, los bloques harán que el robot gire 90 grados a la derecha, avance 10 pulgadas, gire 90 grados a la izquierda, avance 3 pulgadas, luego retroceda 6 pulgadas, luego gire 90 grados a la izquierda y avance 10 pulgadas. Luego gire a la derecha 90 grados, avance 8 pulgadas y retroceda 4 pulgadas, gire a la derecha 90 grados, avance 10 pulgadas. Luego gire 90 grados a la izquierda, avance 1 pulgada, gire 90 grados a la derecha, avance 3 pulgadas y retroceda 4, luego gire 90 grados a la derecha y avance 5 pulgadas.
Solución A (pulgadas)

Un ejemplo de solución con 11 Drive for and Turn para bloques conectados a un bloque When started. Para que los bloques hagan que el robot avance 10 pulgadas, gire 90 grados a la izquierda, avance 1 pulgada, gire 90 grados a la izquierda, avance 1 pulgada, gire 90 grados a la derecha, avance 10 pulgadas, gire 90 grados a la derecha, luego invierta 5 pulgadas, gire 90 grados a la derecha y avance 10 pulgadas.
Solución B (pulgadas)
Un ejemplo de solución con 10 Drive for and Turn para bloques conectados al bloque When started. En orden, los bloques harán que el robot avance 8 pulgadas y luego 4 pulgadas, gire 90 grados a la derecha, avance 13 pulgadas, gire 90 grados a la izquierda, avance 8 pulgadas, gire 90 grados a la izquierda, avance 4 pulgadas, gire 90 grados a la derecha y retroceda 5 pulgadas.
Solución C (pulgadas)
Solución de ejemplo para el desafío que consiste en 19 Drive to and Turn para bloques conectados al bloque When Started. En orden, los bloques harán que el robot gire a la derecha 90 grados, avance 254 mm, gire a la izquierda 90 grados, avance 76 mm, luego retroceda 152 mm, luego gire a la izquierda 90 grados y avance 254 mm. Luego gire a la derecha 90 grados, avance 203 mm y retroceda 101 mm, gire a la derecha 90 grados, avance 254 mm. Luego gire 90 grados a la izquierda, avance 25 mm, gire 90 grados a la derecha, avance 76 mm y retroceda 101 mm, luego gire 90 grados a la derecha y avance 127 mm.
Solución A (métrica)
Un ejemplo de solución con 11 Drive for and Turn para bloques conectados a un bloque When started. Para que los bloques hagan que el robot avance 254 mm, gire 90 grados a la izquierda, avance 25 mm, gire 90 grados a la izquierda, avance 25 mm, gire 90 grados a la derecha, avance 254 mm, gire 90 grados a la derecha, luego retroceda 127 mm, gire 90 grados a la derecha y avance 254 mm.
Solución B (métrica)
Un ejemplo de solución con 10 Drive for and Turn para bloques conectados al bloque When started. En orden, los bloques harán que el robot avance 203 mm y luego 101 mm, gire a la derecha 90 grados, avance 330 mm, gire a la izquierda 90 grados, avance 203 mm, gire a la izquierda 90 grados, avance 10 mm, gire a la derecha 90 grados y retroceda 127 mm.
Solución C (métrica)

¿Qué es la eficiencia del código?

Si necesitaras obtener 3 cosas de tu cocina, probablemente irías a buscar las 3 cosas en un solo viaje, en lugar de hacer 3 viajes por separado. ¿Por qué? Porque sería más eficiente. Eficiente significa "lograr la máxima productividad con el mínimo esfuerzo o gasto desperdiciado". Entonces, ¿cómo se conecta eso con la programación? La eficiencia

del código significa que un programa está escrito para funcionar bien y rápidamente, utilizando la menor cantidad de trabajo o pasos, correctamente, mientras sigue haciendo su trabajo. Es importante porque reduce el riesgo de que un programa no funcione bien y, a su vez, causa problemas para otras partes de un programa que se están ejecutando a su alrededor. La eficiencia de un código puede ser una medida de calidad, y cuando escribimos proyectos en el bloque VEXcode IQ, a menudo buscamos el proyecto más "eficiente" como la solución preferida.

Básicamente, la eficiencia del código es un principio que significa que desea escribir un código que logre su objetivo utilizando la menor cantidad de comandos o bloques posibles.

En su Cuaderno de Ingeniería, responda las siguientes preguntas:

  • Teniendo en cuenta la eficiencia del código, ¿cuál es su solución preferida y por qué?
  • ¿Crees que es la mejor solución, por qué o por qué no?

Icono de la caja de herramientas del profesor Caja de herramientas para maestros - Respuestas

Las respuestas pueden variar ya que las dimensiones no específicas se dieron anteriormente para crear una secuencia para navegar alrededor de tres habitaciones.
Haga clic aquí para obtener un posible ejemplo de solución.

Icono Motivar discusión Motivar la discusión

Si bien la eficiencia es útil, a menudo tenemos otras consideraciones sobre cómo o por qué hacemos las cosas de cierta manera. Haga que los estudiantes compartan sus respuestas en su Cuaderno de Ingeniería y/o use esta pregunta para enmarcar una discusión sobre el equilibrio entre la eficiencia y las acciones.
P: En programación, la eficiencia suele ser la metodología preferida; ¿puedes pensar en una razón por la que este es el caso?
R: Las respuestas variarán, pero algunas incluyen:

  • Editar proyectos para que sean más eficientes ayuda a aquellos en el futuro que posiblemente podrían estar trabajando con el mismo proyecto. Por ejemplo, si trabajas en un proyecto y luego, unos días más tarde, le pides a tu amigo que actualice el proyecto y agregue algunos elementos más para aumentar la funcionalidad, será más fácil para tu amigo leer y trabajar si el proyecto está escrito de manera eficiente.

  • Los proyectos siempre son susceptibles a errores. Cuanto más eficiente se escriba un proyecto, menos probabilidades habrá de que se cometa un error.

  • Las personas que utilizan la programación para maniobrar robots industriales confían en que esos proyectos sean eficientes para ahorrar tiempo, energía y recursos a la empresa.