Ir para conteúdo
Faça parte da equipe! (2024) ×

Comandos de Repetição


'Zyzz~
 Compartilhar

Posts Recomendados

Comandos de Repetição

 

Os comandos de repetição são um recurso que permite que um certo trecho do código de um programa seja repetido um certo número de vezes.

 

Na linguagem C existem três comandos de repetição: while, do-while e for.

 


 

Comando while

 

O comando while permite que um certo trecho de programa seja executado ENQUANTO uma certa condição for verdadeira. A forma do comando while é a seguinte:

 

while (condição)

{

// comandos a serem repetidos

// comandos a serem repetidos

}

// comandos após 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:

 

  • Não soubermos exatamente quantas vezes o laço deve ser repetido;
  • O teste deva ser feito antes de iniciar a execução de um bloco de comandos;
  • Houver casos em que o laço não deva ser repetido nenhuma vez.

 

 

Exemplos

 

 

int continua, contador;

continua = 's';

contador = 0;

 

while (continua == 's') // enquanto for igual a 's'

{

// comandos a serem repetidos

 

printf("Repentindo....\n");

 

contador = contador + 1;

 

printf("Tecle 's' se deseja continuar\n");

continua = getch();

}

 

if (contador == 0)

printf("O bloco NAO foi repetido.");

else printf("O bloco foi repetido %d vezes", contador);

 

 

 

 

// Programa que calcula a idade média de um grupo de pessoas.

// A finalização da entrada de números é dada por um -1

int soma, quantidade, idade;

 

float media;

 

soma = 0;

quantidade = 0;

idade = 0;

 

while (idade != -1)

{

// comandos a serem repetidos

 

printf("Idade da pessoa %d. (tecle -1 se quiser encerrar).\n",

quantidade+1);

scanf("%d", &idade);

 

if (idade >=0)

{

soma = soma + idade;

quantidade = quantidade + 1;

}

}

 

// Faz o calculo da media de idade

 

if (quantidade >0)

{

media = (float) soma / quantidade;

printf("A media de idade das %d pessoas eh: %5.2f", quantidade,

media);

}

else printf("Nenhum dado foi informado.");

 

Observação:

 

Tenha atenção especial com o teste do comando while. As variáveis usadas no teste devem ter sido inicializadas antes do teste.

 


 

Comando do-while

 

O comando do-while permite que um certo trecho de programa seja executado ENQUANTO uma certa condição for verdadeira. A forma do comando do-while é a seguinte:

 

do

{

// comandos a serem repetidos

// comandos a serem repetidos

} while (condição);

// comandos após o 'do-while'

 

O funcionamento é o seguinte:

 

  1. Executa os comando dentro do bloco do-while;
  2. Testa a condição;
  3. Se a condição for falsa então executa o comando que está logo após o bloco subordinado ao do-while.
  4. Se a condição for verdadeira então volta ao passo 1.

 

O comando do-while deve ser usado sempre que:

 

  • Que não soubermos exatamente quantas vezes o laço deve ser repetido;
  • O teste deva ser feito depois da execução de um bloco de comandos;
  • O bloco de comandos deve se executado pelo menos 1 vez;

 

 

Exemplos

 

 

int continua, contador;

contador = 0;

 

// nao precisamos inicializar a variável 'continua' pois o teste é feito

// depois

 

do

{

// comandos a serem repetidos

 

printf("Repentindo....\n");

 

contador = contador + 1;

 

printf("Tecle 's' se deseja continuar\n");

continua = getch();

} while (continua == 's')

 

printf("O bloco foi repetido %d vezes", contador);

 

 

// Programa que calcula a idade média de um grupo de pessoas.

// A finalização da entrada de números é dada por um -1

int soma, quantidade, idade;

 

float media;

 

soma = 0;

quantidade = 0;

 

do {

printf("Idade da pessoa %d. (tecle -1 se quiser encerrar).\n",

quantidade+1);

scanf("%d", &idade);

 

if (idade >=0)

{

soma = soma + idade;

quantidade = quantidade + 1;

}

} while (idade != -1);

 

// Faz o calculo da media de idade

 

if (quantidade > 0)

{

media = (float) soma / quantidade;

printf("A media de idade das %d pessoas eh: %5.2f", quantidade,

media);

}

else printf("Nenhum dado foi informado.");

 


 

Comando for

 

O comando for permite que um certo trecho de programa seja executado um determinado número de vezes.

A forma do comando for é a seguinte:

 

for (comandos de inicialização;condição de teste;incremento/decremento)

{

// comandos a serem repetidos

// comandos a serem repetidos

}

// comandos após o 'for'

 

O funcionamento é o seguinte:

 

  1. Executa os comandos de inicialização;
  2. Testa a condição;
  3. Se a condição for falsa então executa o comando que está logo após o bloco subordinado ao for;
  4. Se a condição for verdadeira então executa os comandos que estão subordinados ao for;
  5. Executa os comandos de incremento/decremento;
  6. Volta ao passo 2.

 

 

O comando for deve ser usado sempre que:

 

  • Soubermos exatamente quantas vezes o laço deve ser repetido;
  • O teste deva ser feito antes da execução de um bloco de comandos;
  • Houver casos em que o laço não deva ser repetido nenhuma vez.

 

Exemplos

 

int contador;

for (contador = 0; contador < 10; contador = contador+1)

{

printf("Contador : %d\n",contador);

}

 

printf("Valor do Contador após o laço: %d\n",contador);

 

int contador;

for (contador = 10; contador > 0; contador = contador-1)

{

printf("Valor do Contador após o laço: %d\n",contador);

}

 

printf("Valor do Contador após o laço: %d\n",contador);

 

Observações:

 

  1. Os comandos de inicialização executados apenas 1 vez;
  2. O contador é incrementado/decrementado sempre ao final da execução do bloco;
  3. O teste é feito sempre antes do início da execução do bloco de comandos.

 


 

Comandos de Desvios

 

Os laços em C possuem dois comandos de desvios: break e continue. Estes comandos funcionam com todos os comandos de repetição.

 

O comando break encerra o laço no ponto em que for executado.

 

// Este programa le NO MAXIMO 3 números positivos

// Caso um número negativo seja digitado no meio da seqüência o laço é

// encerrado de imediato

#include <stdio.h>

#include <conio.h>

 

void main()

{

int contador, numero;

for (contador = 1; contador <= 3; contador = contador+1)

{

scanf("%d",&numero);

if (numero < 0)

break; // encerra o laço neste ponto !!!

}

printf ("Foram digitados %d numeros validos", contador-1);

getch();

}

 

O comando continue desvia o fluxo para o início do laço.

 

#include <stdio.h>

#include <conio.h>

void main()

{

int contador, numero;

 

clrscr();

for (contador = 1; contador <= 5; contador = contador+1)

{

printf("Inicio do laco. Passo %d\n", contador);

 

if ((contador % 2) == 0)

{

printf("Terminado antes do tempo....\n");

continue;

}

printf ("Final do Laco. Passo %d\n", contador);

}

getch();

}

 

 

 

RESULTADO:

 

Inicio do laco. Passo 1

Final do Laco. Passo 1

Inicio do laco. Passo 2

Terminado antes do tempo....

Inicio do laco. Passo 3

Final do Laco. Passo 3

Inicio do laco. Passo 4

Terminado antes do tempo....

Inicio do laco. Passo 5

Final do Laco. Passo 5

 

Créditos:

 

 

Alunos de informatica da PUCRS - Conteúdo

' Zyzz~ - Formatação

Seguindo o caminho em meio a escuridão

Eu só paro quando for cumprida minha missão

Prazer, sou um infante e não tenho coração

Trago a morte, o desespero e a total destruição

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.