Por que um sistema automatizado de empréstimo de livros precisa manter coerência entre sua especificação…
Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva
Explorar e construir a solução de problemas por meio de refinamentos, utilizando diversos níveis de abstração desde a especificação até a implementação.
Fonte: Base Nacional Comum Curricular (MEC).Questão
Por que um sistema automatizado de empréstimo de livros precisa manter coerência entre sua especificação, fluxograma e pseudocódigo? Considere o caso de uma biblioteca que desenvolve um programa com quatro etapas principais: 1) identificar o título solicitado pelo usuário, 2) pesquisar o título no cadastro, 3) verificar se o exemplar está disponível e 4) enviar a resposta ao usuário. No fluxograma essas etapas aparecem como getInput(), searchCatalog(), checkStock() e displayResult(). No pseudocódigo, as quatro linhas seguintes ilustram sua implementação: 1. title = getInput() 2. index = searchCatalog(title) 3. if catalog[index].available > 0 then available = true else available = false 4. displayResult(available) Analise o texto-base e identifique qual trecho de pseudocódigo corresponde corretamente ao passo 3 “verificar se o exemplar está disponível” na especificação.
- A) if catalog[index].available > 0 then available = true else available = false
- B) displayResult(available)
- C) index = searchCatalog(title)
- D) closeConnection() if available then showMessage("Disponível") else showMessage("Indisponível")
- E) title = getInput()
✅ Resposta correta: alternativa A
Resolução passo a passo
- Identifique a etapa pedida: o passo 3 da especificação é 'verificar se o exemplar está disponível', que no fluxograma corresponde a checkStock().
- Procure, entre as alternativas, a linha de pseudocódigo que de fato faz essa verificação. A alternativa A testa se catalog[index].available é maior que zero, que é exatamente a condição de disponibilidade do exemplar, e grava o resultado em available como true ou false.
- Confira as demais alternativas. B (displayResult(available)) corresponde ao passo 4, que apenas envia a resposta ao usuário. C (index = searchCatalog(title)) corresponde ao passo 2, a pesquisa no cadastro. E (title = getInput()) corresponde ao passo 1, a identificação do título. D trata de fechar a conexão e exibir mensagens, o que não é a verificação de disponibilidade; a própria exibição de mensagem já pertence ao passo 4.
- Conclusão: a alternativa correta é A, pois é a única linha que implementa a verificação de disponibilidade descrita no passo 3 e que corresponde a checkStock() no fluxograma. O gabarito oficial está correto.
💡 Dica: Analise o pseudocódigo e relacione com a etapa da especificação.
Alternativa por alternativa
Esse trecho testa a existência de cópias disponíveis, correspondendo exatamente ao passo de verificação de disponibilidade.
O aluno associa a verificação à última linha do pseudocódigo, talvez por ser a que usa a variável available, sem perceber que ela apenas apresenta o resultado já calculado.
O aluno considera que, por ser a linha que define índice do exemplar no catálogo, ela já verifica disponibilidade, sem distinguir localizar o título de checar seu estoque.
O aluno pensa que a etapa de verificação é a de finalização do processo, confundindo o encerramento da operação e a mensagem de resposta com a checagem do exemplar, que não aparece no pseudocódigo.
Por que engana: Confundir etapas do pseudocódigo e associar linhas erradas à especificação.
O aluno acredita que a primeira linha, por ser a primeira ação do programa, já abrange a checagem, confundindo a leitura da entrada com a verificação de disponibilidade.
Raio-X da questão
coerência entre especificação e pseudocódigo
diagnostico
conceitos básicos de pseudocódigo · entendimento de fluxogramas
Estude como relacionar fluxogramas e pseudocódigos com especificações.
Confundir etapas do pseudocódigo e associar linhas erradas à especificação.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Quando o totem de uma biblioteca comunitária é ativado, ele pede o cartão do leitor e lê o número cadastrado. Em…
- Por que procedimentos simples em bibliotecas parecem complexos? Em uma biblioteca municipal digital, o sistema realiza…
- "Bicicletario automatizado reduz filas no terminal", dizia o aviso afixado ao lado dos armarios. Para registrar o…
- Funcionários da biblioteca escolar criaram um procedimento para processar livros devolvidos pelos alunos. Primeiro, cada…
- "— Quando um usuário atrasa a devolução de um livro, ele paga uma multa de R$ 0,50 por dia de atraso", explicou a…
- Durante a criação de um sistema para venda de ingressos de um teatro municipal, a equipe registrou o procedimento de…
🔎 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
