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
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.
- A) Descrever fluxograma completo de interface grafica sem detalhar chamadas de funcao ou estrutura de codigo
- B) Escrever diretamente linhas SQL de insercao em tabela de reservas sem passar pela camada de autenticacao
- C) Definir funcao principal que chama autenticarUsuario(), checa disponibilidade, registra reserva e envia confirmacao
- D) Iniciar declarando variaveis data, hora e esporte seguidas de loop infinito sem modularizacao
- 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
- 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.
- 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.
- 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.
- 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
Acredita que refinar requisitos significa desenhar a interface visual do aplicativo, confundindo levantamento de interface com pseudocódigo.
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.
Refina do requisito geral ao pseudocódigo, usando módulos e funções conforme níveis de abstração descritos.
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.
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
refinamento de requisitos em pseudocódigo
avaliacao
conceitos básicos de programação · estrutura de funções e modularização
estude como transformar requisitos em pseudocódigo modular
Escolher alternativas que ignoram a modularização ou a sequência lógica das funções no pseudocódigo.
ciencia_tecnologia
pensamento_critico
cotidiano
Questões parecidas com resolução
- Pesquisadores de um município implementaram um sistema móvel para que cidadãos registrem ocorrências de buracos nas vias…
- — Eu quero um app simples para o grupo de caminhada — disse Marina, enquanto anotava informacoes no celular. O app deve…
- Projete um algoritmo que organize os dados de um centro esportivo escolar: atletas, modalidades, horários, resultados de…
- Durante o estágio em uma startup de tecnologia, Felipe acompanhou as fases de criação de um sistema de agendamento de…
- Por que apps de reuniões online ainda geram conflitos de horário mesmo com calendários sincronizados? Uma equipe de…
- No fim de semana da feira de ciências do bairro, a equipe de organização percebeu um problema repetido: dezenas 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
