Loop com for no CO comando ‘for‘ é a primeira estrutura de um conjunto de três estruturas para trabalhar com loops de repetição. As outras duas estruturas são o ‘while‘ e o ‘do‘. As três estruturas compõem a segunda família de comandos de controle de fluxo. Podemos pensar nesta família como a família das estruturas de repetição controlada.

[clearboth]

[toggle title=”Forma geral do comando For”]

Como já foi dito num tutorial anterior, o loop ‘for‘ é utilizado para repetir um comando, ou um bloco de comandos, várias vezes, de forma a que se possa ter um bom controle sobre o loop. A forma geral do comando ‘for’ é a seguinte:

for(inicialização;condição;incremento){
declaração;
}

[/toggle]
[toggle title=”Como funciona o comando For?”]

A melhor forma de entender o loop ‘for‘ é visualizar a forma de como ele funciona “por dentro”. O loop ‘for’ é equivalente ao seguinte:

inicialização;
if (condição)
{
declaração;
incremento;
"Volte para o comando if"
}

Podemos então concluir, que o comando ‘for’ executa a inicialização incondicionalmente e testa a condição. Se a condição for falsa o comando’for’ não faz mais nada. Se a condição for verdadeira o ‘for’ executa a declaração, faz o incremento e volta a testar a condição. O comando ‘for’ repete esta operação até que a condição seja falsa. Uma questão que devo destacar é que podemos omitar qualquer um dos elementos do comando ‘for‘, com isto eu quero dizer que se não quisermos uma inicialização poderemos omiti-la.

[/toggle]
[toggle title=”Primeiro programa com o comando For”]

Abaixo encontramos um programa que coloca os primeiros 100 números naturais no seu ecrã:

#include 
main (){
int count;
for(count=1;count<=100;count++){
printf ("%d ",count);
}
system("pause");
}

Programa 17 no C 

Todas as linguagens de programação têm algo parecido com o comando ‘for’ do C. Mas, o comando ‘for’ na linguagem C é muito mais flexível e poderoso. Temos acesso à inicialização, a condição e ao incremento. Isto permite-nos fazer o que quisermos. Este é o poder do C.

[/toggle]
[toggle title=”Loop infinito”]

O loop infinito é um loop em que se omite a inicialização, a condição e o incremeto e tem a seguinte forma:

for (;;) declaração;

Este loop chama-se loop infinito porque será executado para sempre, a não ser que ele seja interrompido. Para interromper um loop como este utilizamos o comando ‘break’. O comando ‘break‘ vai quebrar o loop infinito e o programa continuará a ser executado normalmente.

[/toggle]
[toggle title=”Primeiro programa com loop infinito”]

Abaixo vamos ver um programa que faz a leitura de uma tecla e a imprime no ecrã, até que o usuario aperte uma tecla especial com o nome de ‘FLAG’. No nosso caso a tecla ‘FLAG’ será a letra ‘X’. Atenção a tecla ‘FLAG’ é a tecla ‘X’ não a tecla ‘x’ ou seja a letra ‘X’ tem de ser escrita em letra maiuscula.

#include 
main (){
int Count;
char ch;
for (Count=1;;Count++){
fflush(NULL);
scanf("%c",&ch);
if (ch == 'X'){
break;
}
printf("nTecla: %cn",ch);
}
}

Programa 18 no C

Atenção ao comando ‘fflush(NULL)‘. A função deste comando é limpar o buffer do teclado para que outros caracteres armazenados no buffer do computador sejam liberados. Desta forma a leitura de caracter que acontece logo após a sua execução não ficará prejudicada.

[/toggle]
[toggle title=”Loop sem conteúdo”]

Loop sem conteúdo é um loop no qual se omite a declaração. A forma geral do loop sem conteúdo é a seguinte:

for (inicialização;condição;incremento);

Uma das aplicações desta estrutura é criar tempos de espera. O programa abaixo irá imprimir uma frase no ecrã e depois irá realizar 600 milhões de interações no loop e só depois irá imprimir outra frase no ecrã. Você vai reparar que o computador irá demorar algum tempo a processar o loop, no meu computador demorou cerca de 2 segundos.

#include 
main ()
{
long int i;
printf("Inicio do Loopnn");
for (i=0; i<600000000; i++){
} /* Espera 600.000.000 de iteracoes*/
printf("Fim do Loopnn"); /* Imprime outro caracter de alerta */
system("pause");
}

Programa 19 no C

[/toggle]

Gostou do tutorial? Então deixe um comentário abaixo!

Anúncios