Questão
Durante uma simulação de resgate, um robô percorre uma trilha com sensores de cor. Cada cor representa um tipo de ação:
- "branco": seguir em frente
- "preto": curva leve à esquerda
- "azul": curva leve à direita
- "vermelho": ponto de atenção crítica
- "amarelo": obstáculo
O código abaixo mostra como o robô processa essas informações ao longo do percurso:
leituras = [
"branco", "preto", "preto", "vermelho", "vermelho",
"azul", "branco", "amarelo", "branco", "vermelho",
"vermelho", "vermelho", "preto", "azul"
]
resgates_detectados = 0
parado = False
i = 0
while i < len(leituras):
if parado:
parado = False
i += 1
continue
atual = leituras[i]
prox = leituras[i+1] if i+1 < len(leituras) else None
if atual == "amarelo":
parado = True
if atual == "vermelho" and prox == "vermelho":
resgates_detectados += 1
i += 2 # pula a próxima leitura, já considerada
else:
i += 1
print("Resgates detectados:", resgates_detectados)
Assinale a alternativa correta: A) Ao encontrar uma cor vermelha é detectado um resgate. B) O robô só detecta resgate se houver três vermelhos consecutivos. C) Ao encontrar um obstáculo (amarelo), o robô ignora a leitura seguinte. D) O robô detectou exatamente quatro resgates durante o percurso. E) O robô detecta resgates em todas as ocorrências de cor vermelha.
D
Para determinar a quantidade de resgates detectados, analisamos o código fornecido. O robô detecta um resgate quando encontra duas cores vermelhas consecutivas. Ao analisar a lista de leituras:
- "vermelho", "vermelho" (índices 3 e 4) - 1 resgate
- "vermelho", "vermelho" (índices 9 e 10) - 1 resgate
- "vermelho", "vermelho" (índices 10 e 11) - 1 resgate
O código pula a leitura seguinte após detectar um resgate, mas como há três vermelhos consecutivos nos índices 9, 10 e 11, o robô detecta dois resgates nessa sequência. Portanto, o total de resgates detectados é 4.
A alternativa D está correta, pois o robô detectou exatamente quatro resgates durante o percurso.