GeraProva GeraProva Provas com IA para professores do Brasil
Computação1ª sérieBNCC EM13CO02Difícil⏱ medio

Dados ilustrativos: um grupo de voluntários criou requisitos para um app de reserva de quadras em espaço…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EM13CO02

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

Dados ilustrativos: um grupo de voluntários criou requisitos para um app de reserva de quadras em espaço comunitário. Primeiro especificaram: “o usuário informa data, hora e modalidade esportiva para reservar”. Depois definiram módulos: Autenticação, Disponibilidade, Reserva e Notificação. Em seguida detalharam funções: autenticarUsuario(), checarDisponibilidade(), registrarReserva(), enviarConfirmacao(). Para implementar, devem refinar os requisitos em pseudocódigo que traduza cada nível de abstração. Com base no texto-base, construa o refinamento em pseudocódigo que transita corretamente da especificação até a implementação.

  1. A) Descrever fluxograma completo de interface grafica sem detalhar chamadas de funcao ou estrutura de codigo
  2. B) Escrever diretamente linhas SQL de insercao em tabela de reservas sem passar pela camada de autenticacao
  3. C) Definir funcao principal que chama autenticarUsuario(), checa disponibilidade, registra reserva e envia confirmacao
  4. D) Iniciar declarando variaveis data, hora e esporte seguidas de loop infinito sem modularizacao
  5. E) Listar apenas os nomes das funções sem mostrar como elas se relacionam ou são chamadas

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. Resolvi a questão sem olhar o gabarito. O enunciado pede um refinamento em pseudocódigo que vá da especificação (o usuário informa data, hora e modalidade) até a implementação, passando pelos módulos (Autenticação, Disponibilidade, Reserva, Notificação) e pelas funções detalhadas. Ou seja, o pseudocódigo deve reconhecer cada nível de abstração e conectá-los em uma sequência coerente.
  2. A alternativa C atende exatamente a isso. Ela define uma função principal que chama, em ordem lógica, autenticarUsuario(), a checagem de disponibilidade, o registro da reserva e o envio da confirmação. Isso traduz a especificação em um fluxo executável, mantendo a correspondência com os módulos e funções já definidos no texto-base.
  3. As demais alternativas estão erradas: A descreve uma interface gráfica, que não é pseudocódigo nem traz chamadas de função; B pula a autenticação, quebrando o requisito de que o usuário seja identificado antes de reservar; D usa um loop infinito sem modularização, contrário ao refinamento por módulos; E lista apenas os nomes das funções, sem mostrar a relação entre elas, o que não constitui refinamento.
  4. Conclusão: a alternativa C é a única que mantém a sequência da especificação, respeita a modularização e produz uma implementação coerente, por isso confirmo o gabarito oficial.

💡 Dica: Analise a sequência lógica das funções para montar o pseudocódigo correto.

Alternativa por alternativa

A Erradaerro: Conceitual

Acredita que refinar requisitos significa desenhar a interface visual do aplicativo, confundindo levantamento de interface com pseudocódigo.

B Erradaerro: Interpretaçãoa que mais engana

Pensa que a reserva pode ser gravada diretamente no banco, ignorando que o requisito exige identificação do usuário antes da operação.

Por que engana: Escolher alternativas que ignoram a modularização ou a sequência lógica das funções no pseudocódigo.

C Correta

Refina do requisito geral ao pseudocódigo, usando módulos e funções conforme níveis de abstração descritos.

D Erradaerro: Procedimental

Entende que começar pelas variáveis e por um loop basta para implementar, sem perceber que o texto-base pede estrutura modular com funções separadas por módulo.

E Erradaerro: Conceitual

Acha que listar os nomes das funções já constitui o refinamento, sem compreender que é preciso mostrar a ordem de chamada e a relação entre elas.

Raio-X da questão

Dificuldade Difícil
Bloom Criar
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

refinamento de requisitos em pseudocódigo

📌 Objetivo

avaliacao

🧱 Pré-requisitos

conceitos básicos de programação · estrutura de funções e modularização

📚 Reveja

estude como transformar requisitos em pseudocódigo modular

⚠️ Erro mais comum

Escolher alternativas que ignoram a modularização ou a sequência lógica das funções no pseudocódigo.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

cotidiano

Questões parecidas com resolução

Todas as questões de [CONFERIR] Construir soluções baseadas no uso de algoritmos e conceitos da Computação para resolver problemas, avaliando suas qualidades e melhorando-as.

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