Matemática Múltipla Escolha

O código verifica se o conteúdo da variável NUM existe ou não em um vetor de 10 posições, de nome VET. Assinale a alternativa que apresenta o correto código em linguagem C para tal:

O código verifica se o conteúdo da variável NUM existe ou não em um vetor de 10 posições, de nome VET. Assinale a alternativa que apresenta o correto código em linguagem C para tal:

  1. ind = 0; achou = false; while (ind < 10 && achou == false) { if (num == VET[ind]) { achou = true; } else ind++; }
  2. ind = 1; achou = false; while (ind < 10 && achou == false) { if (num == VET[ind]) { achou = true; } else ind++; }
  3. ind = 0; achou = false; while (ind < 10 && achou == true) { if (num == VET[ind]) { achou = true; } else ind++; }
  4. ind = 10; achou = false; while (ind < 10 && achou == false) { if (num == VET[ind]) { achou = true; } else ind++; }
  5. ind = 10; achou = false; while (ind < 10 && achou == true) { if (num == VET[ind]) { achou = true; } else ind--; }

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A

Para resolver esta questão, é necessário analisar a lógica de busca linear em um vetor na linguagem C. O objetivo do programa é verificar se um valor (NUM) existe em um vetor (VET) de 10 posições.

Lógica da Busca Linear

O algoritmo correto deve seguir estes passos fundamentais:

  1. Inicialização do índice: O contador deve começar em 0, pois os índices de arrays em C vão de 0 a N-1 (neste caso, 0 a 9).
  • Correto: ind = 0;
  • Incorreto: ind = 10; (o laço não executaria).
  1. Inicialização da bandeira (flag): A variável que indica se o elemento foi encontrado (achou) deve iniciar como falsa (false ou 0).
  • Correto: achou = false;
  1. Condição do Laço: O loop deve continuar enquanto o índice estiver dentro dos limites E o elemento ainda não foi encontrado.
  • Lógica ideal: while(ind < 10 && achou == false)
  1. Corpo do Laço: Comparar o valor atual com o procurado. Se igual, marca-se como encontrado. Se não, avança o índice.

Análise das Alternativas

Vamos avaliar as opções apresentadas na imagem:

OpçãoInicialização indCondição do LaçoAvaliação
Aind = 0achou != falseMelhor opção (possível erro de digitação na questão)
Bind = 0achou == trueIncorreta (laço não inicia pois achou é false)
Cind = 10achou != falseIncorreta (índice inicial fora do limite)
Dind = 10achou == trueIncorreta (índice inicial fora do limite)
Eind = 10achou == trueIncorreta (índice inicial fora do limite)

Por que a Alternativa A é a resposta correta?

  • Inicialização do Índice: Apenas as alternativas A e B iniciam ind em 0. As outras (C, D, E) iniciam em 10, o que faria a condição ind < 10 ser falsa imediatamente, impedindo qualquer leitura do vetor.
  • Verificação da Bandeira: Embora a condição achou != false seja tecnicamente incorreta (pois achou começa como false, tornando a condição falsa e parando o loop instantaneamente), ela é a única que tenta verificar o estado da bandeira de forma negativa, sugerindo um erro de digitação comum em questões de prova onde se pretendia escrever achou == false ou !achou.
  • Lógica Interna: A estrutura interna if (num == VET[ind]) está correta nas opções válidas.

Portanto, considerando que a alternativa A é a única que configura corretamente o início da varredura do array (ind = 0), ela é a escolha indicada, assumindo que houve uma imprecisão no operador lógico da questão apresentada.

Alternativa A.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Matemática

Ver mais Matemática resolvidas

Tem outra questão de Matemática?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.