Imagine que nós temos uma lista onde todos os elementos ímpares aparecem antes que todos os elementos pares. Por exemplo,
L
0 1 cdots
1 9 3 7 11 2 4 10 6 20 14 8
A tarefa consiste em:
Encontrar o primeiro elemento par da lista.
No exemplo acima, isso nos daria:
=> 2
Apresente um programa que realiza essa tarefa usando o while.

Passo 1

Beleza, o enunciado tá dizendo que a gente tem uma lista em que TODOS os números ímpares vêm primeiro e, só depois, todos os pares. Exemplo:
L = [1, 9, 3, 7, 11, 2, 4, 10, 6, 20, 14, 8]
A tarefa é: “achar o primeiro elemento par nessa lista”. No exemplo, a resposta é 2.
Conteúdo envolvido:
  • Estruturas de repetição (while)
  • Operador resto da divisão (módulo)
  • Condicionais (if/else)

Passo 2

Vamos definir as variáveis iniciais que precisamos:
• i = 0 (é o nosso “cursor” na lista)
• n = comprimento de L (quantos elementos tem em L)
Agora, o plano é “andar” pela lista enquanto o elemento na posição i for ímpar. Para testar se é ímpar, usamos o módulo:
L[i] bmod 2 neq 0
Isso quer dizer “o resto da divisão de L[i] por 2 é diferente de zero”, logo é ímpar.

Passo 3

Escrevendo isso em pseudocódigo com while:
i = 0
n = len(L)
while i < n and (L[i] % 2) != 0:
    i = i + 1
Explicação do que tá rolando no while:
  1. Verificamos se ainda não saímos da lista (i < n).
  2. Checamos se L[i] é ímpar ((L[i] % 2) != 0).
  3. Enquanto as duas coisas forem verdadeiras, avançamos o i (i = i + 1).

Passo 4

Quando o while terminar, ou a gente encontrou um L[i] que não é ímpar (ou seja, é par), ou acabamos a lista. Então só falta conferir:
se i < n:
    resposta = L[i]
senão:
    não existe número par na lista
No nosso caso, a lista sempre terá pelo menos um par (segundo o enunciado), então a gente cai no resposta = L[i].

Resposta

Segue o programa completo em estilo Python (mas a ideia vale pra qualquer linguagem com while e módulo):
i = 0
n = len(L)
while i < n and (L[i] % 2) != 0:
    i += 1

# ao sair do loop, i aponta pro primeiro par
if i < n:
    print("Primeiro elemento par é", L[i])
else:
    print("Não há elemento par na lista")
No exemplo dado, isso imprime:
=> 2

Exercícios relacionados