Laço de repetição while
• O comando comando while é uma estrutura de controle de fluxo que permite que um conjunto de instruções seja executado enquanto uma certa condição for verdadeira. A forma do comando while é a seguinte:
while(expr_condicional){ bloco de comandos ... } Onde: expr_condicional: testa se a condição é verdadeira.
12
Laço de Repetição - while
• O funcionamento é o seguinte:
1) Testa a condição; 2) Se a condição for falsa então pula todos os comandos do bloco subordinado ao while e passa a executar os comandos após o bloco do while; 3) Se a condição for verdadeira então executa cada um dos comandos do bloco subordinado ao while; 4) Após executar o último comando do bloco do while volta ao passo 1.
•
O comando while deve ser usado sempre que:
1) Não soubermos exatamente quantas vezes o laço deve ser repetido; 2) O teste deva ser feito antes de iniciar a execução de um bloco de comandos; 3) Houverem casos em que o laço não deva ser repetido nenhuma vez.
13
Laço de Repetição - while
Uso correto do laço de repetição while Exemplo de uso Saída do terminal
... int valor, condicao = 0; while(condicao == 0){ scanf(“%d”, &valor); printf(“%d\n”, valor); if(valor >= 0){ condicao = 1; } } printf(“Saiu do laco!\n”); ...
$ $ $ $ $ $ $ $ $ $ $
-1 -9 -29 -71 -53 -2 -13 -89 -15 4 Saiu do laco!
14
Laço de Repetição - while
Uso incorreto do laço de repetição while Exemplo de uso
... int i=0; while(i = 0){ a = a + 1; printf(“a:%d i:%d\n”, a, i); i--; } ... $ $ $ $ $ $
Saída do terminal i:0 i:0 i:0 i:0 i:0 ...
$ $ $ $ $ $
a:1 a:2 a:3 a:4 a:5 ...
i:? i:? i:? i:? i:?
15
Laço de Repetição - do-while
• Diferente do comando while, no do-while a expressão de teste está após a execução do comando, portanto o comando é executado pelo menos uma vez. A forma do comando do-while é a seguinte: do{ bloco de comandos ... }while(expr_condicional) Onde: expr_condicional: testa se a condição é verdadeira.
16
Laço de