Lição 1: O que é um algoritmo?
Nesta lição, você aprenderá o que é um algoritmo e como o uso de algoritmos no VEXcode VR Python permite criar projetos com comportamentos mais diversos. Projetos algorítmicos instruem o Robô de RV a responder ao seu ambiente, o que será necessário para resolver o Desafio Dynamic Castle Crasher.
Resultados de Aprendizagem
- Identifique que os algoritmos são compostos de sequência, seleção e iteração (loops).
- Identificar que algoritmos são sequências precisas de instruções, implementadas utilizando linguagens de programação, para processos a serem realizados por um Robô de RV.
Algoritmos
Algoritmos são sequências precisas de instruções, implementadas usando linguagens de programação, como VEXcode VR Python, para processos a serem realizados por um Robô VR.
Os elementos básicos de um algoritmo são sequência, seleção e iteração.
- Sequência - a ordem em que os comportamentos e comandos são combinados em um projeto para produzir um resultado desejado.
- Seleção - o uso de declarações condicionais num projeto. Declarações condicionais, como if ou if else, afetam o fluxo do projeto de um projeto.
- Iteração - os algoritmos geralmente usam repetição para executar etapas um certo número de vezes ou até que uma determinada condição seja atendida. Isso também é conhecido como "looping". A iteração pode alterar o fluxo do projeto repetindo um comportamento um número especificado de vezes ou até que uma condição seja atendida.
Este projeto de exemplo do desafio da Unidade 8 é um exemplo de um algoritmo. Ele inclui uma combinação de loops, dados do sensor e comandos reunidos em sequência para resolver o Desafio do Movimentador de Disco.
def main():
for value in range(3):
for value in range(3):
# 1. Dirija para o disco usando o Down Eye Sensor
enquanto não estiver down_eye.near_object (
): drivetrain.drive (FORWARD)
wait(5, MSEC
) drivetrain.stop()
# 2. Pegue o disco
magnet.energize(BOOST)
# 3. Dirija para a meta usando o sensor
de distância drivetrain.turn_to_heading (180, GRAUS)
enquanto front_distance.get_distance (MM) > 200
: drivetrain.drive (FORWARD)
wait(5, MSEC)
drivetrain.stop()
# 4. Drop disk in goal
magnet.energize(DROP)
drivetrain.drive_for(REVERSE, 100, MM)
# 5. Vire para o próximo disco drivetrain.turn_to_heading
(0, DEGREES)
wait(5, MSEC)
# 6. Vire e dirija para a próxima meta
drivetrain.turn_to_heading(90, GRAUS) drivetrain.drive_for
(PARA FRENTE, 800, MM)
# 7. Gire para discos
drivetrain.turn_to_heading(0, GRAUS)
aguarde(5, MS)Sequência
A maneira como os comandos são sequenciados e combinados determina os comportamentos do Robô VR. Neste exemplo, cada conjunto de comportamentos necessários para mover um disco é executado três vezes, então o Robô de RV se move para o próximo conjunto de discos e repete os comportamentos, até que todos os discos sejam retornados às metas. 
Selecção
Este projeto também inclui a seleção que determina as partes do projeto que são executadas com base nas condições do sensor. Primeiro, o sensor Down Eye é usado para determinar quando o robô VR está perto de um disco, para que o disco possa ser captado. Em seguida, o Sensor de Distância é usado para determinar quando o Robô VR está acima da meta, para que o disco possa cair. 
No primeiro ciclo while , a seleção dos comandos que serão executados é baseada nos valores do sensor reportados pelo Down Eye Sensor.
- Enquanto nenhum objeto for detectado, o robô VR avançará.
- Enquanto um objeto é detectado, o Robô VR irá parar.
No segundo ciclo while , a seleção do comando que será executado é baseada nos valores do sensor reportados pelo Sensor de Distância.
- Embora a distância relatada seja superior a 200 milímetros (mm), o robô VR avançará.
- Enquanto a distância informada for inferior a 50 milímetros (mm), o Robô VR irá parar de dirigir e passar para a próxima parte do projeto para energizar o Eletroímã.
Iteração
O projeto usa iteração, ou "loops", para repetir ações e verificar repetidamente os valores dos sensores relatados. Este projeto contém loops aninhados – um loop para que o Robô VR possa coletar todos os três discos de uma cor; e um segundo loop para repetir esse processo para coletar todos os discos no Playground. 
Este algoritmo foi concebido para recolher e devolver três discos, três vezes, para completar o Disk Mover Challenge. A mesma lógica que é aplicada para coletar e mover discos repetidamente usando sequência, seleção e iteração também pode ser aplicada a outros desafios, como o Desafio do Destruidor de Castelo Dinâmico.
Perguntas
Selecione uma ligação abaixo para aceder ao questionário da aula.
Google Doc / .docx / .pdf