Buenas pessoal.
Nesse primeiro post sobre programação, ao invés de abrir o software e colocar um ícone atrás do outro, gostaria de fazer um exercício que considero primordial, para qualquer atividade que envolva programar: colocar no papel o que queremos executar com o robô.
Programar, essencialmente significa planejar. Uma rápida pesquisa no Google nos retorna o seguinte resultado:
Eu, particularmente, gosto da segunda definição: “… fazer planos (uma ocasião); planejar.” Isso, por que quando vamos planejar algum evento, geralmente fazemos um check list, ou uma listagem do que deve ser feito. E isso nos orienta na execução das tarefas, e na ordem que devem ser feitas.
Por exemplo, para sair de casa pela manhã, sem perceber, seguimos o seguinte check list:
1. Acordar;
2. Levantar a cama;
3. Ir até o banheiro;
4. Se vestir;
5. Ir tomar café;
6. Pegar o material que irá levar;
7. Sair;
Algumas das tarefas, podem ser desdobradas em outras, como por exemplo, o item 3:
3. Ir até o banheiro;
3.1. Pegar a pasta de dente;
3.2. Obter a pasta do tubo/frasco;
3.3. Colocar a pasta na escova;
3.4. Executar a sequência de escovação;
Como é algo corriqueiro, não anotamos o check list em nenhum lugar. E por costume, continuamos a fazer diversas tarefas sem o mesmo, e conseguimos repetir a sequência satisfatoriamente.
Em programação, esse roteiro, ou passo a passo, é importante, pois torna o processo de desenvolver a programação mais fácil e eficiente.
Por exemplo, digamos que você tem que programar um robô, para que ele ande em linha reta, e ao chegar perto de um obstáculo, ele pare. Vamos tomar a figura abaixo, como base:
Robô, Obstáculo, e sentido de deslocamento do Robô;
O “check list” do programa, poderia ser:
1 – Ligar os motores;
2 – Manter os motores ligados durante X Rotações / Graus / Segundos;
3 – Desligar os motores;
Podemos chamar de pseudocódigo essa forma de representar a programação.
Uma outra forma comum de fazer essa representação, seria através de um FLUXOGRAMA:
Apresentação da mesma ideia do pseudocódigo, em formato de Fluxograma
Dessa forma, conseguimos organizar e sincronizar a ordem de ideias com as ações que o robô terá que fazer, além de facilitar a documentar a nossa programação, como podemos ver abaixo:
Resultado do pseudocódigo e/ou fluxograma, no software Mindstorms
Com a programação documentada, se torna muito mais simples corrigir eventuais problemas, principalmente se a programação for mais extensa, ou conter estruturas de programação mais complexas.
Se adicionarmos ao robô do nosso exemplo, um Sensor de Ultrassom, poderíamos programar o robô de outra forma.
Robô, Obstáculo, sentido de deslocamento do Robô e distancia em que o robô deve parar;
Pseudocódigo do programa, para a situação acima:
1 – Ligar os motores;
2 – Esperar que o valor do Sensor de Ultrassom ≤ 5 cm (valor menor ou igual a 5 cm);
3 – Desligar os motores;
Fluxograma:
Fluxograma do programa, com o robô usando o Sensor de Ultrassom
Programação Mindstorms:
Resultado do pseudocódigo e/ou fluxograma, no software Mindstorms
Independente da forma que você escolha para planejar sua programação seja com o pseudocódigo ou fluxograma, é uma pratica que vai auxiliar no desenvolvimento de seus programas.
Para facilitar, em um outro post, irei tratar melhor da simbologia do Fluxograma e a correspondência com as estruturas de programação do Software Mindstorms.
Adorei as dicas e estou compartilhando com técnicos e alunos do Face. Obrigada.
Obrigado por compartilhar!