
Robótica: sensores, atuadores e lógica de controle
Atividade 10 questões 50 min
(EM13CO03) Identificar o comportamento dos algoritmos no que diz respeito ao consumo de recursos como tempo de execução, espaço de memória e energia, entre outros.
Uma função de ordenação genérica recebe uma lista e uma segunda função, chamada chave, que diz qual informação de cada item deve ser comparada:
função idade(p):
devolva p.idade
alunos ← [(Ana, 17), (Bia, 15), (Caio, 16)]
escreva ordenar(alunos, chave = idade)
A lista escrita e a vantagem desse tipo de função são
Para verificar se há nomes repetidos em uma lista de n nomes, um algoritmo compara cada nome com todos os que vêm depois dele:
para i de 1 até n − 1 faça
para j de i + 1 até n faça
se nome[i] = nome[j] então
escreva "há repetição"
Para uma lista com 1 000 nomes, o número de comparações feitas e o comportamento do tempo de execução quando a lista dobra de tamanho são
Uma equipe quer programar um robô para sair de um labirinto usando a regra da mão direita: o robô mantém sempre uma parede do seu lado direito.
a) Escreva, em pseudocódigo, um algoritmo para essa regra, usando as ações avançar, virar à direita e virar à esquerda e as condições "há parede à direita?" e "há parede à frente?".
b) Essa regra funciona em labirintos cujas paredes estão todas ligadas entre si. Explique por que o robô pode ficar andando em círculos para sempre em um labirinto com uma "ilha" (um bloco de paredes solto no meio), dependendo do ponto de partida.
c) Que informação extra o robô poderia guardar para perceber que está andando em círculos?
Um robô autônomo toma decisões sem seguir nenhum algoritmo, pois "pensa sozinho" a partir do que seus sensores captam.
( ) Verdadeiro ( ) Falso
Fonte: Base Nacional Comum Curricular (MEC). Base de dados: bncc.dev, mantido pela Profy, licença CC BY 4.0.