(1) Considere a implementação do algoritmo Busca Sequencial apresentada na aula. Faça uma versão deste algoritmo, trocando a estrutura de repetição for por while.
Para os testes leve em consideração o vetor: [1,5,9,7,12,3,17]
Exemplo de entrada:
Digite qual valor deseja procurar: 7
Valor encontrado!
Digite qual valor deseja procurar: 4
Valor não encontrado!

Passo 1

Beleza, vamos lá! O enunciado quer que a gente pegue o algoritmo de Busca Sequencial (linear search) que normalmente usa um for pra percorrer o vetor e, em vez disso, faça a mesma coisa com um while.
Conteúdo da matéria:
  • Estrutura de dados: vetor (array)
  • Estruturas de repetição: while
  • Operadores lógicos e de comparação
    O que precisamos pra resolver:
  1. Um vetor fixo: [1,5,9,7,12,3,17]
  2. Uma variável que guarde o valor buscado
  3. Um índice i que começa em 0
  4. Uma flag encontrado (verdadeiro/falso)
  5. Um loop while que pare quando achar ou chegar ao fim

Passo 2

Primeiro, o que é Busca Sequencial? É só comparar, um por um, cada elemento do vetor com o valor que o usuário quer achar. A gente mantém um índice i e faz:
Enquanto i for menor que o tamanho do vetor e a gente ainda não tiver achado, verifica se vetor[i] == valor. Se for igual, marcamos encontrado = True. Senão, somamos 1 em i e repetimos.
Em pseudocódigo, a condição de continuação do while fica:
i < tamanho do vetor land lnot encontrado
Isso garante que a gente pare se sair do vetor ou achar o valor.

Passo 3

Agora, o esqueleto em código (estilo Python/pseudocódigo). Vou comentar cada linha com calma:
# Vetor fixo que vamos pesquisar
vetor = [1, 5, 9, 7, 12, 3, 17]

# Entrada do usuário
valor = int(input("Digite qual valor deseja procurar: "))

# Inicialização
i = 0                     # índice que vai de 0 até len(vetor)-1
encontrado = False        # flag que indica se achamos o valor

# Laço while: continua enquanto não acabar o vetor e não achar o valor
while i < len(vetor) and not encontrado:
    if vetor[i] == valor:
        encontrado = True   # achou, marca como True
    else:
        i += 1               # senão, avança pro próximo índice

# Depois do loop, checamos a flag
if encontrado:
    print("Valor encontrado!")
else:
    print("Valor não encontrado!")
Explicando o que cada parte faz:
  1. i = 0: começamos pelo primeiro elemento.
  2. while i < len(vetor) and not encontrado: garantia de não ultrapassar o vetor e parar se achar.
  3. Dentro, comparamos vetor[i] == valor.
  4. Se não achou, fazemos i += 1 pra passar pro próximo.
  5. Fora do laço, usamos a flag encontrado pra dizer se achou ou não.

Resposta

Segue a versão final do algoritmo de Busca Sequencial usando while:
vetor = [1, 5, 9, 7, 12, 3, 17]
valor = int(input("Digite qual valor deseja procurar: "))
i = 0
encontrado = False

while i < len(vetor) and not encontrado:
    if vetor[i] == valor:
        encontrado = True
    else:
        i += 1

if encontrado:
    print("Valor encontrado!")
else:
    print("Valor não encontrado!")

Exercícios relacionados