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

Na porta de um centro cultural, um programa simples decide se o visitante paga ingresso ou entra de graça. A…

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

Na porta de um centro cultural, um programa simples decide se o visitante paga ingresso ou entra de graça. A regra foi escrita assim: visitantes com 12 anos ou menos entram gratuitamente; também entram de graça os professores com carteirinha válida. O código testado foi: leia idade leia carteirinha se (idade <= 12) e (carteirinha = "sim") entao escreva "Entrada gratuita" senao escreva "Ingresso pago" fimse Durante a verificação, crianças sem carteirinha passaram a ser cobradas, embora a regra dissesse o contrário. A equipe percebeu que o problema estava na condição do teste. Analise o trecho e identifique a alteração que corrige o programa para atender à regra descrita no texto-base.

  1. A) Substituir o operador <= por < na comparação da idade.
  2. B) Substituir o operador e por ou na condição do teste.
  3. C) Retirar o bloco senao para que todos recebam entrada gratuita.
  4. D) Trocar a ordem das linhas de escrita para corrigir a condição.
  5. E) Substituir o valor "sim" por "nao" na leitura da carteirinha.

✅ Resposta correta: alternativa B

Resolução passo a passo

  1. Identifique a regra do texto. Visitantes com 12 anos ou menos entram de graça, e professores com carteirinha válida também entram de graça. São duas condições alternativas: basta satisfazer uma delas para não pagar. Isso corresponde ao conectivo ou.
  2. Analise a condição do código: (idade <= 12) e (carteirinha = sim). O conectivo e exige que as duas partes sejam verdadeiras ao mesmo tempo. Por isso uma criança de 8 anos sem carteirinha é avaliada como falsa, cai no senao e paga ingresso, exatamente o erro relatado.
  3. Teste a correção. Trocando e por ou, a expressão (idade <= 12) ou (carteirinha = sim) é verdadeira para a criança de 8 anos, que entra de graça, e também para o professor de 40 anos com carteirinha, que continua entrando de graça. Adulto sem carteirinha continua pagando, como a regra pede. Logo a alteração B corrige o programa.
  4. Por que as outras estão erradas. A: trocar <= por < excluiria crianças de 12 anos e não resolveria a cobrança indevida das crianças sem carteirinha. C: retirar o senao faria todos entrarem de graça, contrariando a regra de que adultos sem carteirinha pagam. D: a ordem dos comandos de escrita não altera a condição avaliada, então o resultado seria o mesmo. E: trocar sim por nao inverteria a verificação do professor e não corrigiria a lógica da criança sem carteirinha.
  5. Gabarito oficial: B, correto. Conferido por resolução própria.

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

Alternativa por alternativa

A Erradaerro: Interpretaçãoa que mais engana

Acredita que o problema está no limite de idade e que a comparação com 12 está incluindo crianças indevidamente. Não percebe que a falha é a exigência simultânea da carteirinha.

Por que engana: Confundir o operador lógico 'e' com 'ou', levando a condições incorretas na decisão do programa.

B Correta

A regra aceita quem tem 12 anos ou menos, ou quem apresenta carteirinha; por isso, a condição precisa usar ou.

C Erradaerro: Conceitual

Entende que o bloco senao é o responsável pela cobrança e que removê-lo resolveria o problema. Não percebe que o senao apenas executa o caso falso da condição.

D Erradaerro: Conceitual

Supõe que a ordem dos comandos de escrita define quando a condição é verdadeira. A ordem das saídas não altera a avaliação lógica da condição.

E Erradaerro: Conceitual

Imagina que inverter o valor da carteirinha corrige a regra, sem perceber que a exigência de carteirinha para crianças não faz sentido na regra. O erro está no conectivo, não no valor comparado.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
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

avaliacao

🧱 Pré-requisitos

operadores lógicos básicos · estruturas condicionais simples

📚 Reveja

Estude operadores lógicos e estruturas condicionais em programação.

⚠️ Erro mais comum

Confundir o operador lógico 'e' com 'ou', levando a condições incorretas na decisão do programa.

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