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
- Num ponto de bicicletas compartilhadas perto da orla, o sistema precisa registrar cada devolução sem gerar erro. Quando…
- Quando o totem de uma biblioteca comunitária é ativado, ele pede o cartão do leitor e lê o número cadastrado. Em…
- "Bicicletario automatizado reduz filas no terminal", dizia o aviso afixado ao lado dos armarios. Para registrar o…
- No terminal de bicicletas compartilhadas de uma praça, o painel funciona de modo automático. Quando o usuário aproxima o…
- Ao fim de cada tarde, uma oficina de robótica comunitária registra o uso de oito kits de ferramentas. Para organizar a…
- Na oficina de robótica do bairro, um pequeno programa foi criado para separar cartões de acesso esquecidos pelos alunos…
🔎 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
