Em uma plataforma digital de servicos urbanos, um portal de cidade media calcula a media de consumo de agua…
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
Em uma plataforma digital de servicos urbanos, um portal de cidade media calcula a media de consumo de agua por residencia utilizando o seguinte algoritmo descrito em pseudocodigo: soma = 0; para cada leitura na lista: soma = soma + leitura; media = soma / numero de leituras. Durante testes iniciais, o sistema retornou medias corretas para residencias com leituras diarias registradas. Contudo, ao processar casas sem nenhum registro de medicao, o programa travou com a mensagem 'divisao por zero'. Os estudantes passaram a elaborar diversos casos de teste para reproduzir o erro e validar a correcao no codigo. Identifique o caso de teste que melhor expõe o erro de divisao por zero no programa.
- A) Usar lista de leituras [100, -10, 50]
- B) Usar lista de leituras [0, 0, 0]
- C) Usar lista de leituras [30]
- D) Usar lista de leituras []
- E) Usar lista de leituras [15, 20, 25]
✅ Resposta correta: alternativa D
Resolução passo a passo
- O algoritmo calcula a media dividindo a soma pelo numero de leituras. A divisao por zero ocorre somente quando o numero de leituras e zero, ou seja, quando a lista esta vazia.
- Analisando os casos de teste, a lista vazia [] e a unica que tem zero leituras. Nela, a soma permanece 0 e o calculo fica 0 / 0, que provoca a divisao por zero.
- As demais alternativas tem pelo menos uma leitura, portanto o divisor nunca e zero. A alternativa A tem tres leituras, com valor negativo que nao gera divisao por zero. A alternativa B tem tres leituras iguais a zero, e a soma zero e dividida por 3, sem erro. A alternativa C tem uma leitura, e a media e 30. A alternativa E tem tres leituras validas, com media 20.
- Logo, o caso que melhor expoe o erro e a lista vazia, que reproduz exatamente a situacao de casas sem nenhum registro de medicao. Concluo que a resposta correta e D, em concordancia com o gabarito oficial.
💡 Dica: Analise o comportamento do algoritmo para diferentes listas de leituras, especialmente listas vazias.
Alternativa por alternativa
O aluno pode achar que valores negativos ou inconsistentes, como -10, causam a divisao por zero, confundindo erro de dado com erro de calculo.
O aluno pode acreditar que, por a soma ser zero, a divisao resulta em zero ou em erro, esquecendo que o divisor e o numero de leituras, que e 3.
Por que engana: O aluno pode nao perceber que a divisao por zero ocorre quando a lista de leituras esta vazia, e nao quando ha valores zero na lista.
O aluno pode pensar que uma lista com apenas um elemento ja e um caso especial que causa erro, sem perceber que o divisor 1 e valido.
Lista vazia gera numero de leituras = 0, causando divisao por zero conforme descrito no texto-base.
O aluno pode entender que qualquer lista com valores positivos e normal, mas nao reconhece que o problema depende apenas do numero de leituras e nao dos valores.
Raio-X da questão
divisao por zero em algoritmo
diagnostico
media aritmetica simples · estrutura de repeticao para soma
Estude como evitar divisao por zero em calculos de media.
O aluno pode nao perceber que a divisao por zero ocorre quando a lista de leituras esta vazia, e nao quando ha valores zero na lista.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Na horta da escola, um painel deve avisar enquanto a umidade do solo estiver abaixo de 50. O programa usado no painel é…
- Em uma apresentação escolar, o programa de luzes deve ativar efeitos nas cinco cenas, numeradas de 1 a 5. O trecho usado…
- Quando o rio se aproxima das casas, a Defesa Civil de um município usa um programa para avisar os moradores pelo…
- Por que o painel de alerta do rio não envia aviso mesmo quando o nível sobe em duas medições seguidas? Em uma simulação…
- — O painel marcou 80%, mas o caminhão não recebeu o aviso de retirada — observou a responsável pelo ponto de coleta de…
- — A última peça nunca aparece no painel — disse a monitora do centro cultural, ao conferir o inventário digital de…
🔎 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
