[C/C++] Estrutura de Repetição - WHILE
2 participantes
- covital
Membro VIP - Idade : 27
Posts : 2107
Créditos : 0
Respeito : 18
God damn asshole
[C/C++] Estrutura de Repetição - WHILE
Qui 20 Dez 2012, 18:57
Estrutura de repetição - WHILE
Uma outra forma de iteração (repetição) em C/C++ é o WHILE.
While executa uma comparação com a variável. Se a comparação for verdadeira, ele executa o bloco de instruções ( ** ** ) ou apenas a próxima linha de código logo abaixo.
Procedemos da seguinte maneira:
WHILE (comparação)
Veja o exemplo abaixo.
Neste exemplo serão mostrados os números pares entre 0 e 100.
Algumas precauções
O WHILE muitas vezes pode nos pregar peças. Se prestarmos atenção, no exemplo acima inicializamos a variável par em 0, pois quando usamos no while uma variável sem inicializa-la pode causar comportamentos estranhos. E por que isso acontece? É simples. C/C++ não inicializa variáveis automaticamente em 0, ou seja, se você comparar uma variável não inicializada, essa variável pode ser qualquer coisa, ex.: 1557745, -9524778, 1 ou até mesmo 0.
Outro problema comum com o while é o loop infinito. O WHILE, diferentemente de FOR, não incrementa ou decrementa automaticamente uma variável, isso deve estar expressado dentro do bloco de instruções, como podemos ver na linha par+=2. Caso contrário, par sempre seria zero e nunca chegaria a 100 para o loop parar, causando o loop infinito.
O ideal é utilizar o WHILE em um loop definido pelo usuário, que a partir de uma entrada ele termine. Ou seja, enquanto o usuário não fizer determinada ação, o loop continuará a dar voltas. Como no exemplo abaixo.
No exemplo, o programa só irá parar quando o usuário digitar 0, qualquer outro número fará com que o programa continue dando loop. Perceba que a variável ainda está sendo inicializada.
Créditos: Tiexpert
Uma outra forma de iteração (repetição) em C/C++ é o WHILE.
While executa uma comparação com a variável. Se a comparação for verdadeira, ele executa o bloco de instruções ( ** ** ) ou apenas a próxima linha de código logo abaixo.
Procedemos da seguinte maneira:
WHILE (comparação)
Veja o exemplo abaixo.
#include <iostream>
#include <cstdlib>
using namespace std;
int main (void)**
int par=0;
cout <<"Os numeros pares de 0 a 100 sao:\n\n"*
while (par<=100)
**
cout <<par<<"\t"*
par+=2; //o mesmo que par=par+2
**
system ("pause")*
return 0;
**
Neste exemplo serão mostrados os números pares entre 0 e 100.
Algumas precauções
O WHILE muitas vezes pode nos pregar peças. Se prestarmos atenção, no exemplo acima inicializamos a variável par em 0, pois quando usamos no while uma variável sem inicializa-la pode causar comportamentos estranhos. E por que isso acontece? É simples. C/C++ não inicializa variáveis automaticamente em 0, ou seja, se você comparar uma variável não inicializada, essa variável pode ser qualquer coisa, ex.: 1557745, -9524778, 1 ou até mesmo 0.
Outro problema comum com o while é o loop infinito. O WHILE, diferentemente de FOR, não incrementa ou decrementa automaticamente uma variável, isso deve estar expressado dentro do bloco de instruções, como podemos ver na linha par+=2. Caso contrário, par sempre seria zero e nunca chegaria a 100 para o loop parar, causando o loop infinito.
O ideal é utilizar o WHILE em um loop definido pelo usuário, que a partir de uma entrada ele termine. Ou seja, enquanto o usuário não fizer determinada ação, o loop continuará a dar voltas. Como no exemplo abaixo.
#include <iostream>
#include <cstdlib>
using namespace std;
int main (void)**
int nr=1;
while (nr!=0) //enquanto nr for diferente de 0
**
cout <<"Digite um numero (0 para finalizar): "*
cin >> nr;
cin.ignore ()*
if (nr>0)
cout <<"Este numero e positivo\n"*
else
cout <<"Este numero e negativo\n"*
**
return 0;
**
No exemplo, o programa só irá parar quando o usuário digitar 0, qualquer outro número fará com que o programa continue dando loop. Perceba que a variável ainda está sendo inicializada.
Créditos: Tiexpert
- Koily
Coordenador - Idade : 29
Posts : 4744
Créditos : 250
Respeito : 36
Foco, força e fé.
Warning :
Re: [C/C++] Estrutura de Repetição - WHILE
Sex 21 Dez 2012, 00:16
Curto e explicativo! Bom tutorial.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|