As estruturas de repetição ou iteração nos possibilitam executar o mesmo trecho de código várias vezes seguidas, enquanto um dado critério não é satisfeito.
As estruturas de repetição ou iteração são, comumente, dadas pelas palavras while ou for.
Qualquer estrutura, seja for ou while, funciona com 1 variável que chamamos de sentinela. Essa variável irá ditar quando o programa deverá sair da repetição e geralmente tem 3 características:
1°. Qual valor esta variável irá iniciar; 2°. Como esta variável terá seu valor modificado para que chegue ao valor final; 3°. Qual valor esta variável deve atingir para que pare a repetição.
No caso, a variável de controle ou sentinela sempre deverá ter essas características ou poderá ocorrer um erro que chamamos de loop infinito. Isso ocorre por causa de erro de lógica, no qual a variável sentinela nunca chega ao seu resultado final. Para ilustrar, vamos imaginar o seguinte cenário:
Vamos criar um programa que mostre os múltiplos de três de 0 a 10 da seguinte forma: a variável sentinela iniciará em 0, para cada volta deverá ser somado o valor três à sentinela, e por fim, determinaremos que a iteração deve ser executada enquanto a variável sentinela for diferente de 10.
Se fizermos um teste simples e rápido, veremos que o programa nunca irá parar de repetir o mesmo código, porque a sentinela nunca será 10.
Repetição | Valor sentinela | Comparação | Resultado |
---|---|---|---|
1 | 0 | 0 ≠ 10 | verdadeiro |
2 | 3 | 3 ≠ 10 | verdadeiro |
3 | 6 | 6 ≠ 10 | verdadeiro |
4 | 9 | 9 ≠ 10 | verdadeiro |
5 | 12 | 12 ≠ 10 | verdadeiro |
6 | 15 | 15 ≠ 10 | verdadeiro |
Portanto, é importante prestarmos atenção na forma que usamos a comparação para determinar quando o programa deve parar de dar voltas.
Por exemplo, utilizando o mesmo cenário acima, bastaria que apenas modificássemos a forma de comparação. Ao invés de utilizarmos o sinal de diferente, usaríamos o sinal de menor. Vejamos:
Repetição | Valor Sentinela | Comparação | Resultado |
---|---|---|---|
1 | 0 | 0 < 10 | verdadeiro |
2 | 3 | 3 < 10 | verdadeiro |
3 | 6 | 6 < 10 | verdadeiro |
4 | 9 | 9 < 10 | verdadeiro |
5 | 12 | 12 < 10 | falso |
Vale ressaltar que o código da iteração (repetição) só será executado caso a comparação seja verdadeira.
FONTE: Blog Expert.net
Nenhum comentário:
Postar um comentário