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

— Devolvi o livro um dia depois e o aplicativo disse que eu estava “no prazo”! — reclamou um usuário da…

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

— Devolvi o livro um dia depois e o aplicativo disse que eu estava “no prazo”! — reclamou um usuário da biblioteca do bairro. A biblioteca usa um programa simples para orientar o atendimento. A regra informada no balcão é: se o livro tiver pelo menos 1 dia de atraso, o sistema deve mostrar “Atrasado” e impedir a renovação. Ao revisar o programa, a funcionária encontrou este trecho: se dias_atraso > 1 status <- "Atrasado" pode_renovar <- falso senao status <- "No prazo" pode_renovar <- verdadeiro Nos testes, com dias_atraso = 0 funcionou; com dias_atraso = 1 apareceu “No prazo”; com dias_atraso = 2 apareceu “Atrasado”. Com base na regra da biblioteca e no trecho do programa, identifique a mudança no teste da condição que corrige o erro para qualquer atraso.

  1. A) Trocar dias_atraso > 1 por dias_atraso > 0.
  2. B) Trocar senao por se nao (dias_atraso > 1) e manter o restante.
  3. C) Trocar status <- "No prazo" por status <- "Atrasado" no senao.
  4. D) Trocar pode_renovar <- falso por pode_renovar <- verdadeiro no primeiro bloco.
  5. E) Trocar dias_atraso > 1 por dias_atraso >= 1.

✅ Resposta correta: alternativa E

Resolução passo a passo

  1. A regra da biblioteca diz que atraso de pelo menos 1 dia deve gerar 'Atrasado' e impedir a renovação. Ou seja, dias_atraso maior ou igual a 1 deve ser o caso 'Atrasado'. Passo 2: No trecho do programa, a condição é dias_atraso > 1, que só é verdadeira a partir de 2 dias. Por isso, com 1 dia de atraso o sistema cai no senão e mostra 'No prazo', exatamente o erro relatado. Passo 3: A troca correta é mudar a condição para dias_atraso >= 1, que captura 1 dia, 2 dias e qualquer atraso maior. Com dias_atraso = 0 continua 'No prazo', como deve ser. Passo 4: Alternativa A: dias_atraso > 0 também funciona para dias inteiros, pois não existe meio dia na contagem; a questão admite essa equivalência, mas a forma >= 1 expressa diretamente a regra 'pelo menos 1 dia', por isso é a resposta pedida. Passo 5: Alternativa B: trocar senao por se nao (dias_atraso > 1) não altera o limite de 1 dia, então o erro continua. Passo 6: Alternativa C: mudar o texto do status no senão não corrige a condição; com 1 dia ainda cairia no senão. Passo 7: Alternativa D: trocar o valor de pode_renovar no primeiro bloco não resolve, pois o problema está na condição que decide em qual bloco o caso entra. Passo 8: Gabarito oficial E confere com a análise feita.

💡 Dica: Analise a condição do teste para incluir atraso de 1 dia.

Alternativa por alternativa

A Erradaerro: Outro

Acredita que basta reduzir o limite de 1 para 0 para corrigir o erro, sem perceber que, em dias inteiros, dias_atraso > 0 e dias_atraso >= 1 têm o mesmo efeito. A alternativa funciona na prática, mas a questão pede a forma que expressa diretamente a regra.

B Erradaerro: Conceitual

Acredita que mudar apenas a estrutura do se/senão, mantendo a mesma comparação com 1, altera o comportamento. A condição dias_atraso > 1 continua excluindo o caso de 1 dia, então o erro permanece.

C Erradaerro: Procedimental

Pensa que o problema está no texto mostrado no senão e que trocar o rótulo corrige a falha. O rótulo não é o que decide o resultado; a condição que escolhe o bloco é que precisa mudar.

D Erradaerro: Conceitual

Confunde o valor de pode_renovar com a causa do erro, supondo que inverter a permissão no primeiro bloco corrige o cálculo do prazo. O problema está em qual bloco é executado, não no valor atribuído dentro dele.

E Correta

A regra exige aviso a partir de 1 dia; usar >= 1 faz dias_atraso = 1 entrar no caso “Atrasado”.

Raio-X da questão

Dificuldade Fácil
Bloom Aplicar
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✍️ situacional🧩 progressao
🎯 Conceito central

condicional lógica programação

📌 Objetivo

diagnostico

🧱 Pré-requisitos

estruturas condicionais básicas · operadores relacionais

📚 Reveja

Estude estruturas condicionais e operadores relacionais.

⚠️ Erro mais comum

Confundir o operador '>' com '>=' e não considerar atraso de exatamente 1 dia.

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