Nesta subseção há diversos problemas envolvendo os conceitos expostos anteriormente, e para um bom aproveitamento, os exemplos devem ser feitos pelo professor para que o aluno acompanhe a resolução, e os exercícios devem ser feitos pelos alunos após a explicação conceitual e apresentação dos exemplos.
Obs.: para as imagens que contém o carrinho, considere a frente como sendo o lado que possui o circulo branco.
Exemplo 1
Faça um algoritmo em que o carrinho irá passar por todos os pontos de controle (pontos verdes) da figura abaixo, mantendo-se à pelo menos 10 unidades de distancia de cada obstáculo (paredes e caixas), e ao final ele deve girar por 5 segundos para a esquerda. Obs.: segue anexo o mapa utilizado.
Solução:
Para resolver esse exercício é necessário ter em mente que haverão 4 etapas: chegar ao primeiro ponto, chegar ao segundo, chegar ao terceiro, e por fim girar. Posto isso serão necessárias 4 condicionais. Existe um comando que conta quantas vezes o carrinho passou em um ponto de controle até o momento em que esse comando foi chamado, então antes de cada condicional ele precisa ser invocado novamente para atualizar seu valor. O programa deverá ser similar ao seguinte:
Segue o mapa e a resolução do exemplo para download. Dica: não se deve usar estruturas de condições aninhadas, pois a condição é a mesma para todos os casos.
Exemplo 2
Faça um algoritmo em que o carrinho ande de 120 em 120 unidades até passar por 3 pontos, e depois disso, caso a distância percorrida pelo carrinho seja menor que 500 ele deverá voltar a posição inicial, do contrario girará por 3 segundos.
Solução:
Esse exercício propicia o uso de estruturas de condição aninhadas, ou seja, uma condicional dentro de outra condicional. O programa deve ser dividido em 3 partes básicas: andar, contar quantos pontos passou e medir a distancia percorrida. O carrinho só deverá andar se ainda não tiver passado pelos 3 pontos, então em cada condicional deve-se fazer com que ele conte por quantos pontos já passou, e na condicional seguinte use esse valor como parâmetro para andar ou não. Também vale lembrar que ao final do ultimo movimento o programa deve ler os dados da distancia, para que assim possa voltar à posição inicial ou girar por 3 segundos. Para isso Basta seguir o algoritmo abaixo:
Segue mapa e solução para download.
A partir daqui os exercícios deverão ser feitos pelos próprios alunos.
Exercício 1 – Teórico
a) Monte um algoritmo, apenas com palavras, contendo uma condicional para pelo menos 3 fatos comuns do cotidiano, (como por exemplo, fechar a cortina, SE estiver claro E com sol, ENTÃO feche a cortina, SENÃO, deixe-a aberta.), destacando-se as expressões da condicional.
b) Monte uma condicional aninhada para uma situação similar às anteriores.
c) Verifique se os parâmetros da sua condicional aninhada não estão entrando em conflito entre-si, pois somente a primeira condicional verdadeira será executada, ou seja, se dois de seus parâmetros forem verdadeiros, apenas o que vem primeiro será válido.
Exercício 2 – Prático
O quadrado indicado de vermelho na figura abaixo possui lados de 240 unidades. O robô recebeu a tarefa de passar pelos pontos de controle 1-2-3 e retornar à origem. Crie um algoritmo para realizar essa ação. Execute tal tarefa utilizando apenas estruturas de controle.
Segue o mapa e a solução do exercício.
Exercício 3
Crie um algoritmo para que o robô percorra a rota indicada em vermelho. Atenção, quando o robô chegar ao ponto 2, se a distancia percorrida for maior que 1000 unidades, o robô deve voltar ao ponto inicial, pelo mesmo caminho percorrido para chegar ao ponto 2. Se for menor, o robô deve continuar até o ponto 3.
Considere que a distancia total percorrida na horizontal é de 540 unidades e que a distancia total do trajeto é de 1260 unidades. Considere também que a distancia no trecho horizontal é igualmente dividida entre os três trechos. A distancia no trecho vertical também é igualmente dividida entre os três trechos.
O aluno poderá utilizar variáveis para resolver esse problema.
Exercício 4
Na figura abaixo, cada retângulo possui perímetro de 960 unidades, e lados medindo x e x/3. Crie um algoritmo para que o robô percorra o caminho indicado em amarelo e ao chegar ao fim, gire para a direita por dois segundos, se tiver passado por mais de cinco pontos de controle, ou gire 90 graus para a esquerda e ande 120 unidades se não tiver passado por mais de cinco pontos de controle. Considere como ponto de controle os quadrados listrados de preto e verde. Importante: Observe que o robô se encontra inicialmente 180° na direção oposta ao caminho que tem que ser executado.
Mapa e solução para download.