Introdução ao comando de repetição while

Nas seções sobre variáveis e sobre comando de seleção, pudemos perceber os conceitos básicos da computação que nos permite construir sistemas sofisticados. Com variáveis é possível armazenar e trocar valores e com a seleção (if) pode-se desviar o fluxo de execução de acordo com valores que as variáveis assumem.

Entretanto, falta um conceito essencial para permitir computação significativa, que é a repetição condicionada de comandos. Quer dizer, é possível repetir um bloco de comandos enquanto uma condição é verdadeira. Depois examinaremos outras formas, como repetir até determinanda condição se verificar ou repetir um número de vezes. com os dois conceitos

A estrutura básica do comando de repetição com condição de entrada é formado por 3 partes, uma marca indicando o comando (while), seguido de uma expressão lógica (EXPL) depois o bloco de comandos subordinados. Assim, se tiver apenas um comando subordinado a sintaxe C e Python são:

C Python
while (EXPL) // em C e' obrigatorio os '(' e ')'
   comando1;
while (EXPL): # note que em Python '(' e ')' sao opcionais
   comando1

O significado (semântica) do código acima, durante sua execução, é:

1. Verifica-se a condição EXPL, se o seu resultado for verdadeiro executa-se o passo 2, senao vai para passo 3 (final do comando)
2. Executa-se o comando "comando1", depois volta-se a executar o passo 1.
3. Final do bloco de repetição!

Se houver necessidade de vários comandos subordinados ao comando de repetição, então em C deve-se usar as marcas '{' e '}' para anotar o início e o fim do bloco. Em Python não é necessário devido à indentação ser obrigatória e por ser capaz de identificar todos os comandos subordinados. Assim, vejamos um trecho de código que gerar e imprimir os naturais entre 1 e N:

C Python
i = 0; // variavel para "contar"
while (i < N) {
   i = i+1; // leia-se como: i recebe o valor de i acrescido de 1
   printf("i=%d\n", i);
   } // final do bloco
printf("Final!");
i = 0 # variavel para "contar" 
while (i < N) :
   i = i+1 # a indentacao indica esta linha
   print("i=", i) # e a proxima linha como sobordinadas 'a repeticao
   # para indicar final do bloco basta a proxima linha estar alinhada com o "while"
print("Final!")

Para estudar um pouco mais:

  1. em C siga este apontador;
  2. em Python siga este apontador.

Leônidas de Oliveira Brandão
http://line.ime.usp.br