Laços de Repetição

Laços de Repetição

printf("Digite um número impar:\n");
scanf("%d", &numero);

if (numero % 2 == 0) {
    return -1; // Número é par :(
}

// Continuo meu programa

Imaginem o seguinte programa:

Laços de Repetição

printf("Digite um número impar:\n");
scanf("%d", &numero);

if (numero % 2 == 0) {
    printf("Digite um número impar:\n");
    scanf("%d", &numero);

    if (numero % 2 == 0) {
        printf("Digite um número impar:\n");
        scanf("%d", &numero);

        if (numero % 2 == 0) {
            // ...
        }
    }
}

// Continuo meu programa

Laços de Repetição

E agora? Eu preciso que meu código se repita por várias vezes!

Resposta: Laços de Repetição !!

Laços de Repetição

Na linguagem C, temos 3 instruções para realizarmos laços de repetição:

 

  • WHILE

  • DO WHILE

  • FOR

Laços de Repetição

Exemplo: Criar o programa TwitterPRO

Esse programa deve ter as seguintes funcionalidades:

 

  • Logar no Twitter
  • Twittar
  • Ver meus últimos 5 tweets
  • Sair do Programa

 

Laços de Repetição

printf("1 - Logar no Twitter \n");
printf("2 - Twittar \n");
printf("3 - Ver meus últimos 5 tweets \n");
printf("0 - Sair do programa\n");

scanf("%d", &opcao);

if (opcao == 1) {
    // ....
}
else if (opcao == 2) {
    // ...
}
else if (opcao == 3) {
    // ...
}
else if (opcao == 0) {
    // ...
}

Laços de Repetição

sair = 0;

while (!sair) {
    printf("1 - Logar no Twitter \n");
    printf("2 - Twittar \n");
    printf("3 - Ver meus últimos 5 tweets \n");
    printf("0 - Sair do programa\n");
    
    scanf("%d", &opcao);
    
    if (opcao == 1) {
        // ....
    }
    else if (opcao == 2) {
        // ...
    }
    else if (opcao == 3) {
        // ...
    }
    else if (opcao == 0) {
        sair = 1;
    }
}

Laços de Repetição

do {
    printf("Digite um número impar:\n");
    scanf("%d", &numero)

} while (numero % 2 == 0)

Quando queremos ter a certeza que o código do laço de repetição irá executar pelo menos uma vez, podemos utilizar o 

DO WHILE

Laços de Repetição

Exemplo: TwitterPRO

Utilizar a função buscar_tweet(n_tweet) para buscar os últimos 5 tweets e imprir na tela.

 

Essa função recebe como parâmetro o número do tweet e retorna o texto do tweet.

 

Suponhamos que o último tweet é o número 1, o penúltimo o número 2, o antepenúltimo 3, etc ...

Laços de Repetição

numero_tweet = 1;

while (numero_tweet <= 5) {
    tweet = buscar_tweet(numero_tweet);
    printf("TWEET: %s \n", tweet);

    numero_tweet = numero_tweet + 1;
}

Laços de Repetição

numero_tweet = 1;

while (numero_tweet <= 5) {
    tweet = buscar_tweet(numero_tweet);
    printf("TWEET: %s \n", tweet);

    numero_tweet = numero_tweet + 1;
}

O meu loop while está funcionando com uma variável contadora (numero_tweet), ou seja, enquanto numero_tweet for menor ou igual a 5 é executado o código dentro do loop, e no final do loop numero_tweet é incrementado em 1. 

Laços de Repetição

Para simplificar laços de repetição que possuem essa característica, laços com contadores, podemos utilizar a instrução

FOR. 

Laços de Repetição

// INICIALIZAÇÃO
numero_tweet = 1;

// CONDIÇÃO
while (numero_tweet <= 5) {
    tweet = buscar_tweet(numero_tweet);
    printf("TWEET: %s \n", tweet);

    // INCREMENTO
    numero_tweet = numero_tweet + 1;
}

// INICIALIZAÇÃO; CONDIÇÃO; INCREMENTO
for (numero_tweet = 1; numero_tweet <= 5; numero_tweet++) {

    tweet = buscar_tweet(numero_tweet);
    printf("TWEET: %s \n", tweet);

}

7 - Laços de Repetição em C

By Gabriel Miranda Carvalho

7 - Laços de Repetição em C

  • 445