GeraProva GeraProva Provas com IA para professores do Brasil
Computação8º anoBNCC EF08CO03Difícil⏱ medio

Ao testar um algoritmo que soma elementos de um vetor usando um índice, quais casos de teste detectam erros de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF08CO03

Utilizar algoritmos clássicos de manipulação sobre listas.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

Ao testar um algoritmo que soma elementos de um vetor usando um índice, quais casos de teste detectam erros de índice fora dos limites (off-by-one)?

  1. A) Testar vetor vazio, vetor com 1 elemento e vetores com acesso aos índices limite (0 e n-1)
  2. B) Não testar vetores; supor que o algoritmo está correto.
  3. C) Utilizar somente índices negativos para verificar falhas.
  4. D) Testar apenas vetores com mais de um elemento.
  5. E) Testar apenas o índice n-2 como limite.

✅ Resposta correta: alternativa A

Resolução passo a passo

  1. Um erro de off-by-one ocorre quando o algoritmo percorre um índice a mais ou a menos do que deveria, por exemplo usando o laço até n em vez de n-1, ou lendo a posição -1 ou n. Para detectar esse tipo de falha, o teste precisa exercitar exatamente as fronteiras do vetor.
  2. Analisando as alternativas, a opção A cobre as situações de fronteira: o vetor vazio (n = 0), em que o laço não deve executar nenhuma vez; o vetor com 1 elemento, em que início e fim coincidem; e os acessos nos índices limite 0 e n-1, que são os extremos válidos. Esses casos expõem tanto acessos além do fim quanto acessos antes do início.
  3. Por que as outras estão erradas:
  4. B) Não testar contraria o objetivo de detectar falhas, pois supor que o código está correto é justamente o que o teste deve verificar.
  5. C) Índices negativos são apenas uma parte do problema; sem testar o limite superior (n-1 e o acesso a n) o erro de fim de vetor passa despercebido.
  6. D) Excluir vetores de tamanho 0 e 1 deixa de fora justamente os casos de fronteira mais sensíveis a erros de índice.
  7. E) Testar somente n-2 não exercita o último índice válido nem os extremos, então não cobre os erros típicos de off-by-one.
  8. Conclusão: a alternativa correta é a A, que coincide com o gabarito oficial.

💡 Dica: Considere os limites do vetor ao formular os casos de teste.

Alternativa por alternativa

A Correta

Vetor vazio e único elemento expõem underflow/overflow; testar posição 0 e n-1 verifica se o laço inclui/exclui corretamente limites, revelando off-by-one.

B Erradaerro: Conceituala que mais engana

O aluno acredita que o algoritmo já está correto e que testes são desnecessários, confundindo a ausência de erro conhecido com a ausência de erro real.

Por que engana: O aluno pode achar que testar apenas um vetor com um elemento é suficiente, ignorando a necessidade de testar casos de limite e o vetor vazio.

C Erradaerro: Conceitual

O aluno imagina que erros de índice acontecem principalmente com índices negativos, esquecendo que o estouro pelo lado direito (acessar n ou além) é um erro igualmente comum.

D Erradaerro: Senso comum

O aluno supõe que casos com zero ou um elemento são triviais e não precisam ser testados, quando justamente as fronteiras do laço costumam falhar nesses tamanhos.

E Erradaerro: Conceitual

O aluno entende que basta testar um índice próximo ao limite, sem perceber que o índice n-1 (último válido) e o início do vetor precisam ser verificados diretamente.

Raio-X da questão

Dificuldade Difícil
Bloom Avaliar
Leitura medio
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade dupla
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

erros de índice em vetores

📌 Objetivo

diagnostico

🧱 Pré-requisitos

erros de índice em vetores · testes de software

📚 Reveja

Revisar a manipulação de índices em estruturas de dados como vetores.

⚠️ Erro mais comum

O aluno pode achar que testar apenas um vetor com um elemento é suficiente, ignorando a necessidade de testar casos de limite e o vetor vazio.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Algoritmos clássicos

🔎 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

Ocorreu um erro inesperado. Recarregar X

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.