GeraProva GeraProva Provas com IA para professores do Brasil
Computação7º anoBNCC EF07CO02Fácil⏱ medio

— Por que a bilheteria está cobrando “inteira” de crianças? — perguntou a atendente, ao testar um programinha…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF07CO02

Analisar programas para detectar e remover erros, ampliando a confiança na sua correção.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

— Por que a bilheteria está cobrando “inteira” de crianças? — perguntou a atendente, ao testar um programinha que classifica o tipo de ingresso no cinema do bairro. A regra divulgada no balcão é: pessoas com idade menor que 12 anos ou maior ou igual a 60 pagam meia. O programa foi escrito assim: ler idade se (idade < 12 e idade >= 60) então mostrar "meia" senão mostrar "inteira" Nos testes, ao digitar 10, apareceu “inteira”. Ao digitar 65, também apareceu “inteira”. Para 30, apareceu “inteira”, como esperado. A atendente quer corrigir o erro com a menor mudança possível no código, sem alterar a regra do cinema. Analise a regra e os resultados dos testes e identifique a alteração no programa que corrige o erro, ampliando a confiança de que ele classifica o ingresso corretamente.

  1. A) Trocar as mensagens mostradas nos blocos então e senão.
  2. B) Mover a linha ler idade para depois do comando se.
  3. C) Trocar o operador >= por > na condição do se.
  4. D) Trocar o operador e por ou na condição do se.
  5. E) Trocar o operador < por <= na condição do se.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. A regra do cinema dá meia para quem tem idade menor que 12 OU idade maior ou igual a 60. Basta uma das duas partes ser verdadeira para o ingresso ser meia. Passo 2: No programa, a condição usa 'e'. Nenhum valor é menor que 12 e, ao mesmo tempo, maior ou igual a 60, então a condição é sempre falsa e tudo sai como inteira. Isso explica os testes: 10 e 65 saíram como inteira. Passo 3: Trocando 'e' por 'ou', o 10 satisfaz a primeira parte (menor que 12) e sai meia; o 65 satisfaz a segunda (maior ou igual a 60) e sai meia; o 30 não satisfaz nenhuma e continua inteira, como esperado. A regra do cinema fica intacta e a mudança é mínima, de uma única palavra. Passo 4: A alternativa A está errada, porque trocar as mensagens só muda o texto exibido e não a decisão do programa, que continuaria classificando 10 e 65 como inteira. Passo 5: A alternativa B está errada, porque a ordem da leitura não corrige a condição e, se o se viesse antes da leitura, o programa não teria a idade para testar. Passo 6: A alternativa C está errada, porque trocar >= por > faria o 60 deixar de ser meia, contrariando a regra, e a condição continuaria impossível por causa do 'e'. Passo 7: A alternativa E está errada, porque trocar < por <= faria o 12 virar meia, contrariando a regra, e o 'e' continuaria tornando a condição sempre falsa.

💡 Dica: Analise a condição lógica e corrija o operador para refletir a regra dada.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que o problema está na mensagem exibida e não na lógica da condição. Não percebe que as mensagens só são mostradas depois que a decisão já foi tomada.

B Erradaerro: Conceitual

Imagina que a posição da linha de leitura altera o resultado da comparação. Não percebe que a idade precisa ser lida antes de ser testada, e que o erro está na combinação das condições.

C Erradaerro: Conceitual

Supõe que o erro está no limite de 60 e não na forma como as duas condições são combinadas. Mesmo que ajustasse esse limite, a condição com 'e' continuaria impossível.

D Correta

A meia vale para dois grupos alternativos; com e, a condição nunca é verdadeira ao mesmo tempo (<12 e >=60).

E Erradaerro: Interpretação

Lê 'menor que 12' como se fosse 'menor ou igual a 12' e acha que o problema está no limite inferior. Ignora que o operador 'e' torna a condição sempre falsa.

Raio-X da questão

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

condição lógica em programação

📌 Objetivo

diagnostico

🧱 Pré-requisitos

estruturas condicionais básicas · operadores lógicos

📚 Reveja

estude operadores lógicos e estruturas condicionais

⚠️ Erro mais comum

Confundir o operador lógico 'e' com 'ou' na condição, levando a resultados incorretos.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Análise de programas

🔎 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.