Buscar

[NEW] Resumo_Repetição

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

Resumo Repetição: 
*******************************************************************************
OBS: Essa matéria cai na P2 e P3! 
*******************************************************************************
Descrição:
Repetição é um comando que permite executar várias vezes o mesmo trecho de código.
Existem 3 comandos de repetição: for, while e do while
O 'for' é recomendado pra repetições Determinadas/Finitas: Quando sabemos exatamente quantas vezes queremos repetir algo.
O While é recomendado pra repetições Indeterminadas/Infinitas: Quando >>NÃO<< sabemos quantas vezes será preciso repetir algo. 
OBS: Em ambos criamos uma condição que é sempre verificada >>ANTES<< de executar o trecho de código e a repetição só para quando essa condição é falsa.
'Do While' é exatamente o mesmo esquema do 'While'! A diferença é que a condição que criamos só é verificada >>DEPOIS<< de executar o trecho de código. Ou seja, independente se a condição é Verdadeira ou Falsa, o 'Do While' >>SEMPRE<< executa o código pelo menos uma vez!
OBS: Apesar de cada um ter o seu uso recomendado, isso não é uma regra! Podemos criar repetições Infinitas/Finitas com ambos! 
OBS2: 'Do While' só é ensinado por alguns professores, então sem riscos de ser cobrado em prova. E além disso, nenhuma prova pede pra resolver usando um tipo ou outro, sempre deixam à critério do aluno! :)
-------------------------------------//----------------------------------------
Tipos de repetição:
Repetição determinada: For
Recomendado pra repetições determinadas/Finitas, ou seja, Quando sabemos exatamente quantas vezes queremos repetir algo.
E como se trata de uma repetição Finita, precisamos de um contador pra controlar a repetição.
Ex: Faça um programa que leia do teclado a idade e peso de 10 usuários e imprima na tela:
int main (void){
 int idade, i;
 float peso;
 for(i=0; i<10 ; i++){ 
 puts("Digite a idade e peso:");
 	scanf("%d%f", &idade, &peso); 
 	printf("Idade: %d\n Peso: %.2f", idade, peso);
 }
 return 0;
}
O comando For é composto por 3 partes separadas por >> ; << (Ponto e Vírgula)
for(i=0 ; i<10 ; i++)
A primeira parte é onde fica o contador. Lembrando que pra ser um contador precisa ser inicializado! 
Na segunda parte vem a condição. O 'For' será executado >>Enquanto<< a condição é verdadeira!
E na terceira parte é onde incrementamos ou decrementamos o contador. (Dependendo do enunciado)
OBS: Existe uma convenção que recomenda sempre usar letras pra representar contadores (i, j, k, etc) 
Sendo 'i' o mais usado de todos pra representar o contador principal. 
EX:
for(i=0 ; i<10 ; i++){
 printf("Valor: %d\n",i);
}
for(i=9; i >= 0; i--){
 printf("Valor: %d\n",i);
}
OBS: Percebe que esses dois 'For' são quase idênticos? :)
Ambos exibem os mesmos números, a única diferença é na ordem que são exibidos! Um começa em 0 até 9 (Crescente) enquanto o outro começa em 9 até 0. (Decrescente) 
Dependendo do enunciado, inverter a ordem pode ser útil!
-----------------------------------//----------------------------------------
Repetição indeterminada: While 
O recomendado é usar o while em repetições indeterminadas, ou seja, quando precisamos repetir algo infinitamente enquanto a condição de repetição é >>Verdadeira<<! 
OBS: Sempre que o enunciado >> Não << especificar a quantidade de repetições! 
EX: Faça um programa que leia a idade e o peso de pacientes e exiba a informação na tela até o usuário digitar uma idade igual a zero.
int main (void){
 int idade;
 float peso;
 puts("Digite sua idade ou zero para encerrar: ");
 scanf("%d", &idade);
 while(idade != 0){
	 puts("Digite o peso: ");
	 scanf("%f",&peso);
 printf("Idade: %d\nPeso: %.2f\n", idade, peso);
	 puts("Digite a idade ou zero para encerrar: ");
	 scanf("%d",idade);
 }
 puts("Encerrando...");
 return 0;
}
Percebe que enquanto o usuário >> NÃO << digitar uma idade igual a zero, a repetição while vai ficar repetindo para sempre? :D
Esse trecho aqui: while(idade != 0)
 
Você pode ler da seguinte forma: 
 
Enquanto a idade for diferente de zero: Executa o que tiver dentro do bloco entre chaves do while.
OBS: É importante entender que >> Antes << do final do bloco do while, precisamos perguntar a idade do próximo usuário, pois dessa forma, assim que o bloco do while terminar, ele vai voltar pro começo do While e checar a condição novamente e só vai executar o bloco do while novamente se a condição continuar sendo verdadeira.
-------------------------------------//---------------------------------------
Repetição indeterminada: do while (Opcional)
O comando 'do while' funciona exatamente da mesma forma que o while! Mesmo esquema, também é recomendado para repetições indeterminadas, ou seja, infinitas.
Vamos usar o mesmo enunciado do exemplo do 'while', só quero que você perceba o que muda usando o 'do while'.
EX: Faça um programa que leia a idade e o peso de pacientes e exiba a informação na tela até o usuário digitar uma idade igual a zero.
int main (void){
 int idade;
 float peso;
 do{ 
	puts("Digite a idade ou zero para encerrar: ");
	scanf("%d",&idade);
 if( idade != 0){
 puts("Digite o peso: ");
 scanf("%f",&peso);
 printf("Idade: %d\nPeso: %.2f\n",idade,peso);
	}
 }while(idade != 0);
 
 puts("Encerrando...");
 return 0;
}
OBS: Percebe como o programa ficou um pouco menor? :)
E além disso, não precisamos pedir pro usuário digitar a idade perto do final do bloco! Porque a grande diferença do 'do while' é que a condição só é checada no final do bloco! 
Mas cuidado! Só podemos pedir o peso se a idade >>NÃO<< for zero, por isso precisamos usar uma condição pra verificar isso manualmente. if( idade != 0)
OBS: Percebeu o ponto e vírgula no final do 'do while'? :)
}while(idade != 0);
 
É obrigatório colocar o >> ; << no fim do 'do while'! Lembrando que não se usa ponto e vírgula em nenhuma das outras repetições e nem nas condições if/else! 
OBS: Recomendo sempre usar o 'for' nas repetições em que precisamos usar um contador. O while quando é uma repetição que >> NÃO<< precisamos de contador e o 'do while' quando precisamos criar uma repetição infinita e a condição do enunciado é "Até o usuário digitar um valor X".
OBS2: Lembrando que apesar de cada um ter o seu uso recomendado, isso não é uma regra! Podemos criar repetições Infinitas/Finitas com qualquer um! :)
 
-------------------------------------//----------------------------------------

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Continue navegando