Lección 1: ¿Qué es un algoritmo?
En esta lección, aprenderás qué es un algoritmo y cómo el uso de algoritmos en VEXcode VR Python te permite crear proyectos con comportamientos más diversos. Los proyectos algorítmicos instruyen al robot de realidad virtual para que responda a su entorno, lo que será necesario para resolver el Dynamic Castle Crasher Challenge.
Resultados de aprendizaje
- Identifica que los algoritmos se componen de secuencia, selección e iteración (bucles).
- Identificar que los algoritmos son secuencias precisas de instrucciones, implementadas mediante lenguajes de programación, para procesos a realizar por un Robot VR.
Algoritmos
Los algoritmos son secuencias precisas de instrucciones, implementadas utilizando lenguajes de programación, como VEXcode VR Python, para que los procesos sean llevados a cabo por un robot VR.
Los elementos básicos de un algoritmo son la secuencia, la selección y la iteración.
- Secuencia : el orden en que los comportamientos y los comandos se combinan en un proyecto para producir un resultado deseado.
- Selección : el uso de declaraciones condicionales en un proyecto. Declaraciones condicionales, como si o si de lo contrario afectan el flujo del proyecto de un proyecto.
- Iteración : los algoritmos a menudo usan la repetición para ejecutar pasos un cierto número de veces, o hasta que se cumpla una determinada condición. Esto también se conoce como "bucle". La iteración puede cambiar el flujo del proyecto repitiendo un comportamiento un número específico de veces o hasta que se cumpla una condición.
Este proyecto de ejemplo del desafío de la Unidad 8 es un ejemplo de un algoritmo. Incluye una combinación de bucles, datos de sensores y comandos reunidos en una secuencia para resolver el Desafío del Desplazador de Discos.
def main():
para el valor en el rango(3):
para el valor en el rango(3):
# 1. Conduzca al disco usando Down Eye Sensor
mientras no estédown_eye.near_object ()
: drivetrain.drive(FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 2. Recoge el disco
magnet.energize(BOOST)
# 3. Conduzca hasta la meta usando el sensor
de distancia drivetrain.turn_to_heading (180, GRADOS)
mientras front_distance.get_distance (MM) > 200
: drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. Suelte el disco en
goal magnet.energize (DROP
) drivetrain.drive_for(REVERSE, 100, MM)
# 5. Gire para enfrentar el siguiente drivetrain
de disco.turn_to_heading (0, GRADOS)
espere(5, MSEC)
# 6. Gire y conduzca hasta la siguiente meta
drivetrain.turn_to_heading(90, GRADOS)
drivetrain.drive_for(ADELANTE, 800, MM)
# 7. Gire a discos
drivetrain.turn_to_heading(0, GRADOS)
espere(5, MSEC)Secuencia
La forma en que se secuencian y combinan los comandos determina el comportamiento del robot de realidad virtual. En este ejemplo, cada conjunto de comportamientos necesarios para mover un disco se ejecuta tres veces, luego el Robot VR se mueve al siguiente conjunto de discos y repite los comportamientos, hasta que todos los discos vuelven a los objetivos. 
Selección
Este proyecto también incluye una selección que determina las partes del proyecto que se ejecutan en función de las condiciones del sensor. En primer lugar, el sensor Down Eye se utiliza para determinar cuándo el robot VR está cerca de un disco, para que el disco pueda ser recogido. Luego, el sensor de distancia se utiliza para determinar cuándo el robot VR está por encima de la meta, por lo que el disco se puede dejar. 
En el primer bucle while , la selección de los comandos que se ejecutarán se basa en los valores del sensor informados por el sensor Down Eye.
- Mientras no se detecte ningún objeto, el robot VR avanzará.
- Mientras se detecta un objeto, el robot VR se detendrá.
En el segundo bucle while , la selección de qué comando se ejecutará se basa en los valores del sensor informados por el sensor de distancia.
- Si bien la distancia informada es superior a 200 milímetros (mm), el robot VR avanzará.
- Si bien la distancia informada es inferior a 50 milímetros (mm), el robot VR dejará de conducir y pasará a la siguiente parte del proyecto para energizar el electroimán.
Iteración
El proyecto utiliza la iteración, o "bucles", para repetir acciones y verificar repetidamente los valores del sensor informados. Este proyecto contiene bucles anidados: un bucle para que el robot de realidad virtual pueda recoger los tres discos de un color; y un segundo bucle para repetir ese proceso para recoger todos los discos en el patio de recreo. 
Este algoritmo está diseñado para recopilar y devolver tres discos, tres veces, para completar el Desafío del desplazador de discos. La misma lógica que se aplica para recopilar y mover discos repetidamente usando secuencia, selección e iteración también se puede aplicar a otros desafíos, como el Dynamic Castle Crasher Challenge.
Preguntas
Seleccione un enlace a continuación para acceder al cuestionario de la lección.
Google Doc / .docx / .pdf