Um programa apresenta um loop que não para. Qual é um possível erro no código?
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Construir e simular algoritmos, de forma independente ou em colaboração, que resolvam problemas simples e do cotidiano com uso de sequências, seleções condicionais e repetições de instruções.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Um programa apresenta um loop que não para. Qual é um possível erro no código?
- A) Condição de saída ausente
- B) Erro de sintaxe
- C) Variável não inicializada
- D) Valor de retorno incorreto
- E) Uso de matriz
✅ Resposta correta: alternativa A
Resolução passo a passo
- Um loop infinito ocorre quando o laço não tem nenhum momento em que sua condição se torne falsa ou em que ele seja interrompido, ou seja, quando o programa nunca alcança a saída do laço. Passo 2: O erro que causa diretamente esse comportamento é a ausência de condição de saída, como um while (verdadeiro) sem break ou um for sem critério de parada. Passo 3: Por isso a alternativa A é a correta, e o gabarito oficial está certo. Passo 4: A alternativa B está errada, pois erro de sintaxe é detectado antes da execução e impede a compilação, não gera laço que roda sem parar. Passo 5: A alternativa C pode produzir comportamento indefinido, mas não é a causa típica e direta de um laço que nunca termina, já que o problema central está na falta de saída. Passo 6: A alternativa D está errada porque valor de retorno incorreto afeta o resultado devolvido por uma função, não a parada de um laço. Passo 7: A alternativa E está errada porque o uso de matriz é apenas uma estrutura de dados e não determina se um laço termina ou não.
💡 Dica: Considere as condições de parada do loop.
Alternativa por alternativa
A ausência de uma condição de saída causa o loop infinito.
Confunde erro de sintaxe, que impede a compilação ou a interpretação do código, com erro de execução que faz o programa travar em um laço.
Acredita que a variável não inicializada é a causa principal do loop infinito, sem perceber que o problema estrutural é a falta de condição de saída.
Por que engana: Confundir erro de sintaxe ou outros problemas com a ausência da condição de saída, levando a loops infinitos.
Associa o término do laço ao valor devolvido por uma função, quando o valor de retorno só afeta o resultado entregue e não a continuidade das repetições.
Supõe que a presença de matriz, por ser uma estrutura com índices e repetições, seja responsável pelo laço que não para, sem perceber que a estrutura de dados não controla a parada.
Raio-X da questão
loops em programação
diagnostico
loops em programação · condição de parada em loops
Revisar as estruturas de controle de repetição em programação.
Confundir erro de sintaxe ou outros problemas com a ausência da condição de saída, levando a loops infinitos.
ciencia_tecnologia
pensamento_critico
cientifico
Questões parecidas com resolução
- Crie e descreva um algoritmo, em linguagem simples ou pictográfica, que ajude uma criança a decidir se deve levar um…
- Crie um algoritmo em linguagem oral ou escrita que controle a rega de um vaso por 7 dias: diariamente verificar se…
- Projete em pseudocódigo um algoritmo que reconstrua uma mensagem a partir de pacotes recebidos onde cada pacote contém…
- Elabore em pseudocódigo um algoritmo que, dado um vetor de registros 'tarefas' (descricao, duracao_horas, prioridade) e…
- Elabore em pseudocódigo um algoritmo que, dado um array de registros 'alunos' com campos (nome, notas[4]…
- Projete um algoritmo e descreva as estruturas de dados para implementar operações de desfazer/refazer (undo/redo) em um…
🔎 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
