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

No terminal de empréstimo de bicicletas de um parque urbano, cada devolução é registrada em um painel de…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF69CO02

Elaborar algoritmos que envolvam instruções sequenciais, de repetição e de seleção usando uma linguagem de programação.

Fonte: Base Nacional Comum Curricular (MEC).

Questão

No terminal de empréstimo de bicicletas de um parque urbano, cada devolução é registrada em um painel de leitura. O sistema recebe os códigos um a um até o operador digitar "fim". Para cada código, o programa verifica se a bicicleta pertence ao cadastro permitido. Se pertencer, a devolução é aceita e o total de devoluções válidas aumenta em uma unidade. Se não pertencer, a tela mostra "código inválido" e a leitura continua. Quando a entrada "fim" aparece, o painel mostra apenas o total de devoluções aceitas. Considere o funcionamento descrito e identifique o procedimento que representa corretamente essa lógica no painel.

  1. A) Ler codigo; enquanto codigo != "fim", somar 1 ao total; mostrar "codigo invalido"; ler novo codigo.
  2. B) Ler codigo; enquanto codigo == "fim", se codigo for permitido, somar 1 ao total; senao, mostrar "codigo invalido"; ler novo codigo.
  3. C) Ler codigo; enquanto codigo != "fim", se codigo for permitido, mostrar "codigo invalido"; senao, somar 1 ao total; ler novo codigo.
  4. D) Ler codigo; enquanto codigo != "fim", se codigo for permitido, somar 1 ao total; senao, mostrar "codigo invalido"; ler novo codigo.
  5. E) Ler codigo; se codigo != "fim", somar 1 ao total; mostrar "codigo invalido"; ler novo codigo.

✅ Resposta correta: alternativa D

Resolução passo a passo

  1. Identifique a estrutura de repetição. O sistema lê códigos até o operador digitar "fim", então o laço deve continuar enquanto o código for diferente de "fim". Isso exclui as alternativas B (enquanto codigo == "fim") e E (usa se, e não enquanto, então processa apenas um código).
  2. Identifique a decisão dentro do laço. Cada código é verificado: se a bicicleta pertence ao cadastro permitido, a devolução é aceita e o total aumenta em 1; se não pertence, a tela mostra "código inválido". Portanto o se deve testar se o código é permitido, com somar 1 no ramo verdadeiro e mostrar a mensagem no ramo senão.
  3. Verifique a leitura. Após cada tratamento, deve haver uma nova leitura do código, para que o laço possa continuar até "fim". A alternativa D faz exatamente isso: lê o código, repete enquanto codigo != "fim", testa se é permitido, soma 1 ou mostra "codigo invalido" e lê novo código.
  4. Por que as outras estão erradas. A: soma 1 e mostra "codigo invalido" para todo código, sem testar o cadastro. B: o laço com codigo == "fim" nunca executa corretamente para os códigos de bicicletas. C: inverte os ramos do se, mostrando inválido para códigos permitidos e contando os não permitidos. E: usa se no lugar de enquanto, então o painel processaria apenas uma leitura.
  5. Conclusão. A alternativa correta é a D, que coincide com o gabarito oficial.

💡 Dica: Analise a lógica do fluxo de controle e as condições para atualizar o total ou mostrar mensagem.

Alternativa por alternativa

A Erradaerro: Conceitual

O aluno entendeu que todo código lido deve somar ao total e mostrar a mensagem de inválido, ignorando a verificação do cadastro permitido.

B Erradaerro: Conceitual

O aluno inverteu a condição do laço, pensando que a repetição continua enquanto o código for igual a "fim", o que faria o painel encerrar imediatamente.

C Erradaerro: Interpretaçãoa que mais engana

O aluno trocou os ramos da decisão, associando a mensagem de código inválido ao caso em que a bicicleta é permitida e a contagem ao caso não permitido.

Por que engana: Confundir a condição de parada ou inverter a lógica das condições para somar ou mostrar mensagem.

D Correta

A rotina usa repeticao ate "fim", faz selecao para validar cada codigo e atualiza o total apenas nas entradas aceitas, como descrito no texto.

E Erradaerro: Procedimental

O aluno usou a estrutura se no lugar de enquanto, achando que basta testar o código uma única vez, sem repetir a leitura até o operador digitar "fim".

Raio-X da questão

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

estrutura de repetição e decisão

📌 Objetivo

avaliacao

🧱 Pré-requisitos

comandos condicionais básicos · estrutura de repetição while

📚 Reveja

estude estruturas de repetição e comandos condicionais em programação

⚠️ Erro mais comum

Confundir a condição de parada ou inverter a lógica das condições para somar ou mostrar mensagem.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programação

🔎 Resolver outra questão

Cole o enunciado e veja a resolução passo a passo, a alternativa correta e por que as outras estão erradas.

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.