Uma lista não vazia possui índices de 0 até n, e n é seu último índice válido. Em um laço, o índice i começa…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Analisar programas para detectar e remover erros, ampliando a confiança na sua correção.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Uma lista não vazia possui índices de 0 até n, e n é seu último índice válido. Em um laço, o índice i começa em 0, aumenta de 1 em 1 e o valor de n não muda. Mesmo assim, o laço termina antes de i visitar n. Qual erro é mais provável nesse algoritmo?
- A) Erro no valor de n, que deveria ser alterado durante a execução.
- B) Erro na posição inicial do índice i, que deveria começar em outro valor.
- C) Erro na quantidade de elementos da lista, que deveria ser menor.
- D) Erro na condição de parada do laço, que o encerra antes de i alcançar n.
- E) Erro no aumento do índice i, que deveria avançar mais de uma posição.
✅ Resposta correta: alternativa D
Resolução passo a passo
- Os índices válidos vão de 0 até n, então a lista tem n + 1 posições e o último índice válido é n. Passo 2: O índice i começa em 0 e aumenta de 1 em 1, portanto percorre 0, 1, 2 e assim por diante, passando por todos os valores até chegar a n. Passo 3: O enunciado diz que n não muda, e isso descarta a alteração de n como causa do problema, pois o alvo do percurso é fixo. Passo 4: Como o início (0) e o passo (+1) estão corretos para cobrir todos os índices, o único elemento que pode fazer o laço parar antes de n é a condição de parada, que encerra o laço antes de i alcançar n. Passo 5: Por isso a alternativa D é a mais provável. A alternativa A está errada porque n não muda, conforme o enunciado. A alternativa B está errada porque começar em 0 é exatamente o correto para índices que começam em 0. A alternativa C está errada porque a quantidade de elementos não determina a parada antes do último índice. A alternativa E está errada porque avançar de 1 em 1 é o que permite visitar todos os índices, então aumentar mais não corrigiria o problema.
💡 Dica: Considere os tipos de erros comuns em algoritmos.
Alternativa por alternativa
Acredita que o limite n precisa ser modificado durante a execução para que o laço funcione, ignorando que o enunciado afirma que n não muda.
Supõe que começar em 0 seria o erro, quando na verdade o índice inicial correto de uma lista com índices a partir de 0 é justamente 0.
Por que engana: O aluno pode confundir o erro de condição de parada com problemas na lista, acreditando que a lista não possui elementos suficientes.
Confunde o último índice n com a quantidade de elementos e conclui que a lista teria elementos demais, quando a lista tem n + 1 posições.
Como n é o último índice válido, o laço deveria permitir que i chegasse a n. Como i começa em 0, aumenta de 1 em 1 e n não muda, o problema está na condição de parada, provavelmente por um erro de limite, chamado de off-by-one.
Imagina que o passo de 1 em 1 faz o índice pular posições, quando na verdade esse incremento visita todos os índices consecutivos.
Raio-X da questão
erros em algoritmos
diagnostico
condições de laços em algoritmos · indexação de listas
Revisar os tipos de erros em algoritmos e suas causas.
O aluno pode confundir o erro de condição de parada com problemas na lista, acreditando que a lista não possui elementos suficientes.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em pseudocódigo, para um loop 'enquanto' que percorre índices i iniciando em 1 para acessar lista[1..n], qual condição…
- Em pseudocódigo, um algoritmo percorre um vetor V de tamanho n usando um índice i que inicia em 0; dentro do laço o…
- Joana criou um algoritmo para mostrar os números de 1 a 5 usando uma estrutura de repetição simples. Porém, ela esqueceu…
- Ao analisar um programa que utiliza uma matriz para armazenar notas de alunos, identifique um erro frequente na…
- Identifique a alternativa que apresenta um erro comum em um programa de cálculo simples que soma os números de uma…
- O que acontece se um programa tenta acessar um índice fora dos limites de uma lista?
🔎 Procurar outra questão
Procure no banco do GeraProva pelo tema ou por um trecho do enunciado. Cada questão já vem com resolução comentada e a análise de cada alternativa.
Professor: monte a prova com questões como esta, com gabarito e folha de respostas, em 30 segundos. Ver planos · Blog
