— Se a gente separar errado, perde tempo na hora de arrumar as prateleiras — reclamou uma voluntária ao…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Descrever com precisão a solução de um problema, construindo o programa que implementa a solução descrita.
Fonte: Base Nacional Comum Curricular (MEC).Questão
— Se a gente separar errado, perde tempo na hora de arrumar as prateleiras — reclamou uma voluntária ao receber caixas de livros doados. Para diminuir confusões, foi combinando usar um tablet com um programa bem simples. Para cada livro, a pessoa digita duas informações: o gênero (I para infantojuvenil, F para ficção, O para outros) e o estado (bom ou ruim). As regras são: livro em estado ruim vai direto para reciclagem, não importa o gênero. Se o livro estiver bom, ele deve ir para a prateleira do gênero (I, F ou Outros). Ao final do cadastro, o programa precisa mostrar quatro totais: quantos foram para reciclagem, quantos para Infantojuvenil, quantos para Ficção e quantos para Outros. O cadastro termina quando a pessoa digita FIM no lugar do gênero. Com base no texto, identifique a descrição de programa que implementa essas regras com precisão, separando leitura, decisão, contagem e exibição do resultado final.
- A) Rec=Inf=Fic=Ger=0; repetir: ler g,e; se g='FIM' parar; se g='I' Inf++; senao se g='F' Fic++; senao Ger++; se e='ruim' Rec++; fim;exibir totais.
- B) Rec=Inf=Fic=Ger=0; repetir: ler g,e; se g='FIM' parar; se e='ruim' Rec++; senao se g='I' Inf++; senao se g='F' Fic++; senao Ger++; fim;exibir totais.
- C) Rec=Inf=Fic=Ger=0; repetir: ler g,e; se e='FIM' parar; se e='ruim' Rec++; senao se g='I' Inf++; senao se g='F' Fic++; senao Ger++; fim;exibir totais.
- D) repetir: Rec=Inf=Fic=Ger=0; ler g,e; se g='FIM' parar; se e='ruim' Rec++; senao se g='I' Inf++; senao se g='F' Fic++; senao Ger++; fim;exibir totais.
- E) Rec=Inf=Fic=0; repetir: ler g,e; se g='FIM' parar; se e='ruim' Rec++; senao se g='I' Inf++; senao se g='F' Fic++; fim;exibir totais.
✅ Resposta correta: alternativa B
Resolução passo a passo
- Antes do laço, os quatro contadores (Rec, Inf, Fic, Ger) são zerados uma única vez, para que acumulem o total de todos os livros. Passo 2: Dentro do laço, o programa lê o gênero g e o estado e. Passo 3: A condição de parada deve testar g='FIM', pois o enunciado diz que o cadastro termina quando FIM é digitado no lugar do gênero. Passo 4: A decisão precisa dar prioridade ao estado: se e='ruim', o livro vai para reciclagem (Rec++) independentemente do gênero. Passo 5: Só se o livro estiver bom é que o gênero decide a prateleira: se g='I' soma em Inf, senão se g='F' soma em Fic, senão soma em Ger (Outros). Cada livro é contado em exatamente um total. Passo 6: Ao sair do laço (FIM), o programa exibe os quatro totais, que é a exibição pedida. A alternativa B segue exatamente essa ordem: leitura, teste de parada, decisão pelo estado, classificação pelo gênero e exibição. Por que as outras estão erradas: A conta o livro também na prateleira de gênero mesmo quando está ruim, duplicando a contagem. C testa e='FIM' em vez de g='FIM', então o cadastro nunca termina pelo gênero. D zera os contadores dentro do laço, de modo que eles são reinicializados a cada livro e os totais finais ficam errados. E não possui o contador Ger, então os livros de Outros não são contabilizados.
💡 Dica: Analise as regras e organize o programa em etapas: leitura, decisão, contagem e exibição.
Alternativa por alternativa
O aluno acredita que o gênero deve ser avaliado primeiro e que o livro ruim também entra na contagem da prateleira, ignorando que a regra de reciclagem é absoluta e exclusiva.
Para em FIM, prioriza reciclagem quando e=ruim, classifica os bons por gênero e soma contadores; só exibe ao final, como pedido.
O aluno confunde os campos, achando que a palavra FIM é digitada no lugar do estado e testando e='FIM', quando o enunciado diz que FIM substitui o gênero.
O aluno imagina que inicializar os contadores dentro do laço é equivalente a fazê-lo antes, sem perceber que cada iteração zera os totais acumulados.
O aluno esquece a quarta contagem exigida pelo enunciado, a de livros de Outros, e não percebe que o programa precisa mostrar quatro totais.
Raio-X da questão
estrutura condicional e contagem
diagnostico
estrutura condicional simples · comandos de repetição
Estude estruturas condicionais e comandos de repetição para controle de fluxo.
Confundir as condições para reciclagem e para prateleira, ou não atualizar corretamente os contadores.
pensamento_critico
cotidiano
Questões parecidas com resolução
- Em uma usina, cada estado de uma turbina é registrado com um código de dois bits: | Estado | Código | |---|---| | Parada…
- No controle de um satélite, um gráfico de barras descrito pela equipe registra: com o sistema operacional iniciado, o…
- O clube de jogos da escola vai usar um programa simples para registrar cada participante. Em cada cadastro, a pessoa…
- Na horta da escola, uma estação simples registra a temperatura informada por um sensor. O programa deve mostrar essa…
- Pesquisadores acompanham o funcionamento de um robô que cuida de seis placas solares em uma estação de pesquisa. O robô…
- Por que alguns tablets de um centro cultural aparecem como disponíveis, embora estejam guardados para conserto? Para…
🔎 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
