Programação
 › Algoritmo  › C/C++  › Java
Web
 › HTML/XHTML  › JavaScript  › PHP
Sistema Operacional
 › Comandos de DOS  › Windows  › Linux  › Mac/BSD
Office
 › Word / Writer  › Excel / Calc
Áreas do Site
 › Download  › Fórum  › Blog
Recomendamos
Computadores e Informática em Lisboa
TI Expert » Programação » C/C++ » Estrutura de Repetição - WHILE

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.

#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.

Creative Commons License
Autor: Denys William Xavier
Este artigo está sob Licença Creative Commons.

Faça o download da versão em PDF Indique nosso site Gostou?
Indique nosso site!
Este artigo foi
lido 116896 vezes
Bookmark e Compartilhe

Páginas Relacionadas

Enquete
O Google Chrome OS irá desbancar o Microsoft Windows 7?
» ProgramaçãoAlgorítmo | C/C++ | Java

» WebHTML/XHTML | JavaScript | PHP

» Sistema OperacionalComandos de DOS | Windows | Linux | Mac/BSD

» OfficeWord/Wirter | Excel/Calc

» Áreas do SiteDownloads | Fórum | Blog