GeraProva GeraProva Provas com IA para professores do Brasil
Computação6º anoBNCC EF06CO02Média⏱ medio

Considere um algoritmo em pseudocódigo que busca o menor valor em um vetor. Qual invariante de laço adequada…

Publicado por Alexandre Lombardi dos Santos, fundador do GeraProva

Habilidade BNCC EF06CO02

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

Considere um algoritmo em pseudocódigo que busca o menor valor em um vetor. Qual invariante de laço adequada para a variável 'min' garante a corretude do algoritmo?

  1. A) 'min' é o maior valor encontrado
  2. B) 'min' é o primeiro elemento do vetor
  3. C) A cada iteração, 'min' contém o menor valor encontrado até a posição atual.
  4. D) 'min' é o número de elementos do vetor
  5. E) 'min' é sempre zero

✅ Resposta correta: alternativa C

Resolução passo a passo

  1. A questão pede a invariante de laço que garante que o algoritmo de busca do menor valor em um vetor está correto. Uma invariante é uma propriedade que é verdadeira antes do laço começar, continua verdadeira após cada iteração e, ao final, permite concluir que o algoritmo atingiu o objetivo.
  2. No algoritmo típico, min começa com o primeiro elemento do vetor e, em cada iteração, compara-se min com o próximo elemento, atualizando min quando encontra um valor menor. Portanto, a propriedade que se mantém em todas as iterações é: min contém o menor valor já examinado, isto é, o menor valor entre as posições já percorridas até a posição atual.
  3. Essa é exatamente a alternativa C. Verificando a invariante: antes do laço, com apenas o primeiro elemento considerado, min é o menor valor visto até então (vale). Em cada iteração, a atualização preserva a propriedade. Ao término, como o laço percorreu todo o vetor, min é o menor valor de todo o vetor.
  4. Por que as outras estão erradas: A) min guardar o maior valor encontrado é o oposto do que o algoritmo precisa, pois a tarefa é achar o menor. B) min ser sempre o primeiro elemento não vale ao longo do laço, pois min muda quando surge um valor menor; essa afirmação é apenas a condição inicial. D) min como número de elementos é uma confusão entre o valor buscado e o tamanho do vetor, que é outra variável. E) min sempre igual a zero não corresponde ao menor valor do vetor, que pode ser qualquer número.
  5. Conclusão: a alternativa correta é a C, coincidindo com o gabarito oficial.

💡 Dica: Analise as condições que garantem a escolha do menor valor.

Alternativa por alternativa

A Erradaerro: Interpretação

O aluno confundiu a busca pelo menor valor com a busca pelo maior, invertendo o objetivo do algoritmo.

B Erradaerro: Conceituala que mais engana

O aluno tomou a condição inicial do algoritmo (min começa com o primeiro elemento) como se fosse a invariante que vale durante todo o laço, sem perceber que min é atualizado.

Por que engana: Confundir a definição de invariante de laço, escolhendo uma alternativa que não reflete a condição correta para encontrar o menor valor.

C Correta

Manter essa invariante e atualizar 'min' ao comparar com cada elemento assegura que, ao finalizar o percurso do vetor, 'min' será o menor elemento de todo o vetor.

D Erradaerro: Conceitual

O aluno confundiu a variável min, que guarda um valor do vetor, com a variável que armazena o tamanho do vetor (n).

E Erradaerro: Senso comum

O aluno supôs que min deve ser inicializado com zero por intuição, sem considerar que o menor valor do vetor pode ser qualquer número, inclusive positivo.

Raio-X da questão

Dificuldade Média
Leitura alto
Discriminação alto
Peso pedagógico alto
Autonomia do enunciado completo
Cobertura da habilidade unica
🧪 Simulado🩺 Diagnóstico🧮 Exige cálculo🏠 Cotidiano🔗 Interdisciplinar⭐ Representativa✍️ interpretativa🧩 desafio
🎯 Conceito central

invariante de laço

📌 Objetivo

avaliacao

🧱 Pré-requisitos

lógica de programação · vetores e arrays

📚 Reveja

Revisar conceitos de algoritmos e invariantes de laço.

⚠️ Erro mais comum

Confundir a definição de invariante de laço, escolhendo uma alternativa que não reflete a condição correta para encontrar o menor valor.

🌎 Tema transversal

ciencia_tecnologia

🤝 Socioemocional

pensamento_critico

🏫 Contexto

abstrato

Questões parecidas com resolução

Todas as questões de Programação - Linguagem de programação

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