No jogo, um programa procura a menor pontuação. Ele começa com min = 0 e compara os outros números. As…
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
No jogo, um programa procura a menor pontuação. Ele começa com min = 0 e compara os outros números. As pontuações podem ser negativas. O que deve ser feito?
- A) Zero funciona; use o primeiro número.
- B) Zero falha; some os números.
- C) Zero falha; use o primeiro número.
- D) Zero falha; use o segundo número.
- E) Zero falha; escolha o maior número.
✅ Resposta correta: alternativa C
Resolução passo a passo
- O programa procura a menor pontuação. Começar com min = 0 só funciona se todas as pontuações forem positivas ou nulas. Como as pontuações podem ser negativas, o zero pode 'ganhar' indevidamente como mínimo, e isso é um erro de inicialização. Passo 2: Ao resolver por conta própria, percebo o problema: se todos os números forem negativos, por exemplo -3, -5 e -1, o valor min ficaria em 0 e nenhuma comparação o substituiria, produzindo uma resposta errada. Passo 3: A solução padrão é inicializar min com o primeiro número da lista (ou seja, o primeiro elemento válido) e então comparar cada um dos demais com esse valor, trocando min sempre que encontrar um número menor. Isso garante que o valor inicial pertença à própria lista e funcione com qualquer sinal. Passo 4: Portanto, a alternativa C ('Zero falha; use o primeiro número') está correta, coincidindo com o gabarito oficial. Passo 5: Por que as outras estão erradas: A afirma que zero funciona, o que é falso pelo exemplo com números negativos; B sugere somar os números, o que não encontra o mínimo; D propõe usar o segundo número, que não resolve o problema, pois o próprio segundo número pode ser maior que todos; E propõe escolher o maior número, o que encontra o máximo e não o mínimo.
💡 Dica: Considere o valor inicial da variável 'min' em relação aos possíveis valores do vetor.
Alternativa por alternativa
Acredita que o zero, como valor inicial, não causa problema porque é o menor número natural. Esquece que a lista pode conter apenas números negativos, quando o zero seria maior que todos.
Por que engana: O aluno pode confundir a inicialização de 'min' com um valor fixo, não considerando que o vetor pode conter números negativos.
Confunde a ideia de encontrar o mínimo com a de somar os valores, como se a menor pontuação fosse obtida por uma operação de soma em vez de comparação.
Se todas as pontuações forem negativas, 0 não será a menor. O programa deve começar com o primeiro número e comparar os demais.
Imagina que basta começar a comparação a partir do segundo número, mantendo o zero como referência. O primeiro elemento continua fora da base de comparação e o zero ainda pode ser indevidamente escolhido.
Confunde mínimo com máximo, trocando a palavra 'menor' pela ideia de 'maior' ao buscar a extremidade da lista.
Raio-X da questão
algoritmo de busca
diagnostico
vetores e arrays · pseudocódigo
Revisar a inicialização de variáveis em algoritmos que lidam com números negativos.
O aluno pode confundir a inicialização de 'min' com um valor fixo, não considerando que o vetor pode conter números negativos.
ciencia_tecnologia
pensamento_critico
abstrato
Questões parecidas com resolução
- Em um jogo, você tem uma lista de pontuações. Qual é a melhor forma de organizar essas pontuações por ordem decrescente?
- Desenvolva um algoritmo que resolva o problema de encontrar o menor número em uma lista. Utilize variáveis adequadas e…
- Um programador está desenvolvendo um jogo e precisa criar uma variável que armazene a pontuação do jogador. Qual é a…
- Um estudante de computação decidiu criar um jogo. Ele precisa desenvolver a lógica de pontuação. Quais variáveis ele…
- Você está programando um jogo. Quais são as entradas que você deve considerar para a pontuação e qual seria a saída…
- Ao programar um jogo que envolve pontuação, como você aplicaria a decomposição para otimizar o código?
🔎 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
