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
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.
- A) Ler codigo; enquanto codigo != "fim", somar 1 ao total; mostrar "codigo invalido"; ler novo codigo.
- B) Ler codigo; enquanto codigo == "fim", se codigo for permitido, somar 1 ao total; senao, mostrar "codigo invalido"; ler novo codigo.
- C) Ler codigo; enquanto codigo != "fim", se codigo for permitido, mostrar "codigo invalido"; senao, somar 1 ao total; ler novo codigo.
- D) Ler codigo; enquanto codigo != "fim", se codigo for permitido, somar 1 ao total; senao, mostrar "codigo invalido"; ler novo codigo.
- 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
- 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).
- 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.
- 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.
- 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.
- 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
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.
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.
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.
A rotina usa repeticao ate "fim", faz selecao para validar cada codigo e atualiza o total apenas nas entradas aceitas, como descrito no texto.
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
estrutura de repetição e decisão
avaliacao
comandos condicionais básicos · estrutura de repetição while
estude estruturas de repetição e comandos condicionais em programação
Confundir a condição de parada ou inverter a lógica das condições para somar ou mostrar mensagem.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Para inscrever estudantes no clube de leitura, a biblioteca da escola usa um formulário digital. O formulário solicita…
- Em uma planilha com várias turmas, uma mesma fórmula foi inserida na primeira linha e copiada para as demais para manter…
- Uma turma quer registrar em ordem as etapas para calcular a média das notas em um programa educacional. — Que recurso de…
- Em uma atividade de programação, o estudante percebe que vai repetir a mesma conta várias vezes para diferentes valores…
- Em uma frase, defina o que é um algoritmo em computação.
- Elabore e simule um algoritmo em pseudocódigo que receba uma lista de alunos (nome, nota) e, para cada aluno, imprima…
🔎 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
