viernes, 14 de marzo de 2014

Estructura repetitiva while y do while

La estructura repetitiva (bucle)' while ' tiene una condición del bucle llamada 'expresión lógica' que controla la secuencia de repetición. ' while ' nos da la condición de 'mientras', es decir:
Sintaxis:



while (condición_bucle)

{

     cuerpo: Sentencia 1;

     Sentencia 2;

     Sentencia 3;

     .

     .

     Sentencia n ;

}


Mientras la sentencia lógica cumpla la condición del bucle entonces recién entrará en el cuerpo a cumplir cada sentencia, en caso contrario no se cumpla la condición entonces  no entrará en el cuerpo la estructura.

  • La condición del bucle puede ser controlado por contadores, como por ejemplo: Es decir que la variable que condiciona al bucle se inicializa antes de la estructura , para que así vaya a cumplir el bucle mientras va avanzando su  función hasta que ya no cumpla y el bucle lo rechace.

#include<iostream.h>
#include<conio.h>

void main()

{
     int n=0;
     while (n<=10)
    {
       n++;
       cout<<n;
    }

 getch();

}


  •  La condición del bucle puede ser controlado por centinelas. El centinela es un valor definido, es decir que no varia, es constante., ademas sirve para terminar el ciclo del bucle.
               Ejemplo: La nota ingresada por teclado debe ser diferente a -1.
    #include<iostream.h>
    #include<conio.h>
    
    void main()
                            {
    int  centinela=-1;
    float nota, cont=0, suma=0;
    cout<<"Ingrese nota: "; cin>>nota;
         while (nota!=centinela)
    {
    cont++;
    suma+=nota;
    cout<<"Ingrese la siguiente nota"; cin>>nota;
    }

    if (cont>0)
    {cout<<"media = "<<suma/cont<<endl;}

    else
    cout<<"no hay notas";

    getch();
    }



  • La condición del bucle puede ser controlado por indicadores (banderas). Son de tipo bool y se utilizan como indicadores, se inicializan con 'false' y luego se define como true. El bucle controlado por indicadores se ejecuta hasta que se cambia el indicador.

  •          Ejemplo, en este problema se declara un booleano inicializado en false, sigue en el                    bucle hasta que se  ingrese un numero y 'digito' cambia a true, ahí es donde                                termina el bucle y muestra el dígito leído.

    #include<iostream.h>
    #include<conio.h>
    
    void main()
    {
    char car;
    bool digito=false;
    
    while(!digito)
    {
       cout<<"Ingrese un digito para salir del bucle: "; cin>>car;
       digito=(('0'<=car)&& (car<='9'));
    }
    
    cout<<car<<" es el digito leido"<<endl;
    getch();
    }



                     

    •  Sentencia break en los bucles.  En esta opción podemos realizar el bucle y dentro de ello algunas condiciones y para la terminación del bucle se pueda hacer con la condición y también con la sentencia 'break' .
               Ejemplo:  Se pide un número  mayor a cero  y se evalúa si es par en el bucle, en caso                que sea impar se saldrá del bucle con la sentencia 'break'.


    #include<iostream.h>
    #include<conio.h>
    
    void main() 
    { 
    
    int n; 
    
    cout<<"Ingrese numero: "; cin>>n; 
    
    while(n>=0) 
    { 
       if(n%2==0) 
         {cout<<n<<"Numero par";} 
       else 
       break; 
    } 
    getch(); 
    }

    No hay comentarios:

    Publicar un comentario