3. Avançado

Exemplo 1

Esse exemplo foi adaptado do exercício 2 de estruturas de controle do nível avançado.

Sabendo que o triangulo abaixo é um triangulo retângulo, com ângulos agudos de 45 graus e que sua área é de 28800 unidades², crie um algoritmo para que o robô percorra o caminho 1-2-3-1, sendo que sempre que alcançar um vértice do triângulo ele deve conferir se já atingiu 2000 unidades. Quando isso ocorrer, ele deve parar.

exerc2interm

 

 1- A primeira coisa a se fazer é estabelecer os valores dos catetos e da hipotenusa do triângulo. Como seus ângulos valem 45°, sabe-se que seus catetos são iguais. Partindo da fórmula de área do triângulo (A=b.h/2), encontra-se o valor dos catetos. Depois, pelo Teorema de Pitágoras, encontra-se o valor da hipotenusa. Utilizando variáveis, evita-se contas realizadas à mão:

Img-exemplo1

2- Depois, com os valores dos lados do triângulo obtidos pelas variáveis, monta-se o caminho a seguir, sendo que ao chegar no primeiro vértice (de número 2), deve se usar uma estrutura de controle para verificar se a distancia percorrida já atingiu 2000 unidades:

Img2-exemplo1

 

A estrutura “verde” acima, faz com que o caminho 1-2-3-1 se repita enquanto a distância total for menor ou igual a 2000 unidades. Após o robô conferir, no vértice do triângulo, se já alcançou 2000 unidades, acontecerá o seguinte:

-se sim, o robô irá parar.

-se não, irá percorrer a próxima distância até o outro vértice.

Isso ocorre sucessivamente até o robô realizar o caminho 1-2-3-1:

Img3-exemplo1

Exemplo 2

Faça o robô percorrer um caminho correspondente a um “G”, ou seja, ele deve fazer um semi-círculo e depois uma reta até a metade do semi-círculo, conforme a figura abaixo:

exercicio 3

 

1- Para fazer esse exercício, temos que lembrar que, para executar um semi-círculo, o robô deverá repetir 180 vezes uma função que gira 1 grau para a esquerda e anda 1 unidade:

exerc3

 

2- O segundo passo é fazê-lo executar a reta no final. A reta corresponde ao raio da circunferência, e, através da relação C = θ x r (em que “C” é o comprimento da corda, “θ” é o ângulo, em radianos, compreendido pela corda e “r” é o raio da circunferência), temos que r = C/θ. Sabendo que a corda vale 180 unidades e que o ângulo vale 180°, ou seja, π radianos, temos que  r = 180/π:

exerc3-2

 Exercício 1

Faça o robô percorrer o triângulo vermelho indicado abaixo e, após dar duas(2) voltas no triângulo vermelho ele deve executar a mesma tarefa porém invertendo o sentido do giro, ou seja, ao invés de virar para esquerda ele virará para a direita. Depois disso ele deve girar por 2 segundos e parar. “L” vale 180 unidades.

exercicio3

 

Exercício 2

Faça um algoritmo que o robô desvie dos obstáculos sempre que estiver a 1 unidade de distância deles e faça-o alcançar o ponto de controle verde. Utilize estruturas de repetição. Dica: faça o robô girar apenas para a esquerda.

exercício 2

Exercício 3

Faça um algoritmo no qual o robô ande de 10 em 10 unidades e, sempre que se encontrar a 1 unidade de distância de um obstáculo, ele deve girar 135° graus para a esquerda e andar até o próximo obstáculo 1 unidade. Ele deve parar quando encontrar o ponto verde.

exercicio3

 Exercício 4

Faça o robô atingir qualquer um dos pontos de controle (verdes) abaixo fazendo com que ele ande até os obstáculos 1 unidade. Dentro da estrutura de repetição, só poderão ser utilizadas as funções “andar até obstáculo 1 unidade”, “girar para esquerda x graus”, “girar para a direita y graus”, em que x e y são valores previamente escolhidos para que, em algum momento, o robô alcançe algum dos três pontos. Você decide o número de vezes que essas funções irão aparecer.

OBS: Esse exercício, especialmente, poderá ser resolvido de diversas formas.

exercicio4