Escolar Documentos
Profissional Documentos
Cultura Documentos
Uma sequncia de aes repetida por um nmero especfico de vezes, at que uma condio seja satisfeita. Enquanto a condio for verdadeira, as instrues sero executadas. O lao de repetio tambm pode ser chamado de loop.
Exemplo 1:
Durante uma semana, um ms, etc, vc pode realizar a mesma seqncia de aes, como no exemplo: 1 Dia Acordar levantar tomar caf pegar o nibus Ou pegar o carro 2 Dia Acordar levantar tomar caf pegar o nibus Ou pegar o carro chegar ao destino chegar ao destino
. . .
N simo Dia Acordar levantar tomar caf pegar o nibus Ou pegar o carro chegar ao destino
Como as aes se repetem durante um perodo ou at que um evento ocorra (chegar ao fim de semana) , pode-se melhorar escrita da sequncia do exemplo acima, como:
23
Captulo 1
Exemplo 2:
Enquanto ( no chegar ao fim de semana) faa Acordar levantar tomar caf pegar o nibus Ou pegar o carro chegar ao destino
Exemplo 3:
Enquanto ( dia < N) faa Acordar levantar tomar caf pegar o nibus Ou pegar o carro chegar ao destino
Ento, pode-se observar que as construes dos exemplos 2 e 3, representam as N repeties do exemplo 1. Em termos prticos da programao, a forma dos exemplos 2 e 3, de escrever aes que se repetem, so corretas. A forma de escrever as aes do exemplo 1 que se repetem incorreta, apesar de levar o mesmo resultado, pois imagine reescrever as mesmas aes para 365 dias, ou mais...
Em portugol, escreve-se o comando enquanto / faa, da forma apresentada abaixo. Note que se forma um bloco de comandos, delimitado ente o incio e o fim do loop. Veja o exemplo: A condio se refere a um critrio de parada do loop, ou seja, at quando o loop vai ser executado. Um ou mais comandos que sero executados enquanto a condio for verdadeira.
24
Captulo 1
Suponha os algoritmos abaixo que calculam o valor de x10 , sendo x fornecido pelo usurio. Em termos de programao, pode-se ver a diferena na escrita dos programas a seguir, com e sem o uso de um lao de repetio (loop):
Exemplos: a) O problema do loop infinito: Teste de Mesa inicio I=0 1 iterao I=0 2 iterao I=0 3 iterao I=0 ... ... infinitas iteraes I=0
Obs: O programa ficar travado, pois a condio de sada do loop nunca ser satisfeita
inicio inteiro I <- 0; enquanto (I < 5) faa escreva (I); fim enquanto I;
fim
25