Folhas de caderno e códigos rabiscados se espalham pela mesa de Clara, estudante de informática. Ela tentou…
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
Folhas de caderno e códigos rabiscados se espalham pela mesa de Clara, estudante de informática. Ela tentou fazer um programa em pseudocódigo para calcular a média de altura de cinco colegas. Seu roteiro inicia soma=0 e contador=0, então repete cinco vezes: lê altura, soma = soma + altura, media = soma / contador, contador = contador + 1. Ao testar, o software exibiu erro de divisão por zero e, após ajustes, continuou apresentando resultado estranho. A professora pediu que Clara analisasse o roteiro para corrigir o problema. A partir do texto-base, identifique como deve ser modificada a estrutura do programa para corrigir o erro de divisão por zero e obter a média corretamente.
- A) Renomear a variável media para mediaFinal para evitar conflito de nomes
- B) Guardar somente a última altura lida na variável soma
- C) Inserir a instrução media = 0 antes de iniciar o laço de repetição
- D) Fazer o laço de repetição executar seis vezes, em vez de cinco
- E) Mover o cálculo da média para depois do fim do laço de repetição
✅ Resposta correta: alternativa E
Resolução passo a passo
- Analisando o roteiro, a instrução media = soma / contador está dentro do laço de repetição. Na primeira volta, contador ainda vale 0, pois só é incrementado no fim de cada volta. Logo, a divisão acontece por zero, que é o erro exibido. Passo 2: Mesmo que o erro fosse contornado, o cálculo dentro do laço usaria um contador defasado. Em cada volta, a média seria calculada antes do incremento, então o resultado ficaria incorreto. Passo 3: A correção é mover o cálculo da média para depois do fim do laço. Ao final das cinco repetições, soma acumula as cinco alturas e contador vale 5, então media = soma / contador dá a média correta. Passo 4: Por que as outras estão erradas: A) renomear a variável não altera a lógica nem elimina a divisão por zero; B) guardar só a última altura em soma descarta as demais e não calcula a média de cinco colegas; C) iniciar media com 0 não impede a divisão por zero, pois a linha media = soma / contador continua sendo executada dentro do laço com contador igual a 0; D) executar seis vezes lê um sexto dado inexistente e faz o contador terminar em 6, o que distorce a média. Passo 5: Conclusão: a alternativa E corrige a estrutura do programa e está de acordo com o gabarito oficial.
💡 Dica: Observe quando o contador passa a representar a quantidade total de alturas lidas.
Alternativa por alternativa
Acredita que o problema está em conflito de nomes de variáveis, e que mudar o nome de media resolveria o erro de divisão por zero.
Entende que soma deve guardar apenas a última altura lida, sem perceber que a soma precisa acumular todas as alturas para depois dividir pela quantidade.
Imagina que inicializar media com zero antes do laço evita a divisão por zero, sem perceber que a linha de divisão continua dentro do laço e ainda é executada com contador igual a 0.
Por que engana: Calcular a média dentro do laço usando o contador antes de incrementá-lo, provocando divisão por zero na primeira repetição e resultados incorretos nas seguintes.
Interpreta que o problema é o número de repetições e que mais uma volta corrigiria o cálculo, ignorando que são cinco colegas e que o erro está na posição do cálculo.
Ao final das cinco repetições, o contador vale 5 e a soma contém as cinco alturas. Dividir a soma por 5 evita a divisão por zero e calcula a média corretamente.
Raio-X da questão
Acumulação e cálculo de média
avaliacao
Laços de repetição e variáveis · Acumuladores e contadores
Revise contadores, acumuladores e a ordem das instruções em laços de repetição.
Calcular a média dentro do laço usando o contador antes de incrementá-lo, provocando divisão por zero na primeira repetição e resultados incorretos nas seguintes.
ciencia_tecnologia
tomada_decisao
cientifico
Questões parecidas com resolução
- Durante uma aula de programação, o professor apresenta uma situação onde um aluno precisa calcular a média das notas de…
- Durante um projeto de programação, um aluno fez um algoritmo para calcular a média de notas. O que pode ser melhorado…
- Em uma atividade de Computação, uma turma planeja um programa para calcular a média das notas de cinco alunos. O…
- Um algoritmo deve calcular a média de notas de estudantes. Quais instruções você utilizaria?
- Em uma plataforma de uma escola pública, um algoritmo deve calcular a média das notas de uma turma. A turma pode não ter…
- Em uma plataforma digital de servicos urbanos, um portal de cidade media calcula a media de consumo de agua por…
🔎 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
