Dev-C++, clase8 – ciclo: mientras que..

Hola a todos/as,

En ésta clase veremos un nuevo bucle ( secuencia repetitiva ):

DOWHILE.

Que en español podria ser traducida como:

hacer éstomiestras que ésto pase.

Esta nueva » instrucción repetitiva » la usaremos para hacer repeticiones de algo un numero indeterminado de veces. Por ejemplo el caso de que solo se desee ingresar un numero que sea menor a 10 entonces no podemos dejar que el usuario ingrese cualquier digito, para eso esta el ciclo mientras, ya que diriamos nosotros..

mientras que el numero ingresado sea mayor a 10

entonces.. pida de nuevo el numero hasta que ingrese un numero menor a 10

Ese es un caso normal para el uso de la instrucción repetitiva: DO – WHILE

Pero vamos  a profundisar más con un ejemplo sencillo para que quede claro como funciona y como es su sintaxis, vamos a ello:

10.-) Hacer un programa que pida un numero mayor a 100 y lo muestre en pantalla con la forma: *** numero ***

Por favor antes de ver ésta entrada recomiendo ver la entrada:

Uso de la aplicacion

Bien como podemos observar, el ejercicio solo nos pide que ingresemos un numero pero con una condicion, de que el numero ingresado sea mayor a 100, si no cumple esa funcion pues no vale el programa porque la finalidad es que el usuario ingrese un numero unicamente mayor a 100.

Para ésto vamos a poner en practica lo que ya hemos aprendido en las clases anteriores, siendo la más reciente la clase sobre la instrucción selectiva doble: if / else [ clase6 ]

Desglosando un poco lo que vamos a hacer, pues necesitamos unicamente de un numero, por lo tanto vamos a usar una variable unicamente, le asignare el nombre de num porque va a ser el numero que ingrese el usuario/a.

De ésta manera pediremos el numero al usuario, el usuario ingresará un numero y ese numero se almacenara en la variable num

Ahora que la variable num tiene el numero ingresado procederiamos a analizarla a ver si es que el numero que ingresó el usuario/a es mayor a 100, si es asi lo mostramos directamente, pero si no es asi; entonces ahi aplicamos el ciclo mientras..

Diriamos lo siguiente:

Hacer: ingresar un numero ———> DO

Hasta que: el numero ingresado sea mayor a 100 ———> WHILE

Entonces el usuario/a, ingresará una y otra vez un numero hasta que el numero que ingrese sea mayor a 100, si no; el bucle se repetirá infinitamente.

Una vez que haya ingresado el numero mayor a 100, debemos hacer que el programa lo muestre en pantalla con el formato: *** num ***

ATENCION: en las clases anteriores he explicado las lineas y que hace cada una, entonces les sugiero que vean las entradas anteriores para entender las lineas de las que no voy a hacer mucha enfasis.

Las lineas que ya hayamos visto, les colocaré ” *** “  al final para que sepan que ya lo hemos visto con anterioridad ( entiendase como “anterioridad” a la/las clases anteriores ademas de sus correspondientes entradas en la seccion “General” del mapa de sitio ).

#include <iostream.h>
main ()

{

int num;
cout<<» \t \n Ingrese un numero mayor a 100 \n \n»;
cin>>num;

if ( num <= 100 )
{

do
{
cout<<» \t \n Ingrese un numero mayor a 100 \n \n»;
cin>>num;
}
while ( num <= 100 );

}

cout<<» \n \n El numero fue: «<<«*** «<<num<<» ***»<<«\n \n»;

system(«pause»);

}

– linea 1: la cabecera y libreria ***

– linea 2: funcion principal ***

– linea 3 – 18 : inicio y fin del programa ***

– linea 4: declaramos variables ***

– linea 5: recurso ” cout ” ***

– linea 6: recurso ” cin ” ***

– linea 7 – 15: instrucción selectiva simple: » if » ***

– linea 9 – 14: instrucción repetitiva: ” do – while ”

Como podemos ver aqui estamos aplicando la nueva instrucción repetitiva, osea DO – WHILE, como toda instrucción\función\prototipo\ lleva su forma de escritura, es decir su sintaxis para que funcione debe estar convocada de la manera en que se creó para que funcione bien, asi como hemos visto las sintaxis o formas de escritura para varias instrucciones como la de if – else , recuerdan que era:

if ( algo pasa ) ———> si algo pasa

{

entonces.. hago ésto, muestro ésto,etc..

}

Bien para el caso de DO – WHILE es lo mismo, vamos con la sintaxis de:

do ———> hacer lo que esta en llaves..

{

ésta operacion

}

while ( ésto pase ) ———> mientras pase lo que está en parentesis

Eso es lo que estamos diciendo y aplicando con la sintaxis que mostré arriba, pues supongamos que el usuario ingreso el numero: 60 ( en la linea 6 ).

Bien, claramente vemos que el numero 6 NO es mayor que 100, por lo tanto NO lo deberia mostrar si no más bien pedir de nuevo el numero HASTA que el usuario/a ingrese un numero mayor a 100 por ejemplo 106

Entonces ahi es donde entra en juego el DO – WHILE, vemos que dice:

Hacer lo siguiente

{

Pedimos al usuario que ingrese un numero mayor a 100

}

Mientras que ( el numero que ingrese no sea mayor a 100 )

Perfecto, lo que tenemos es que si en el primer intento el usuario/a ingresó una cantidad menor a 100, se meterá en el ciclo DO – WHILE, obligandolo en cada intento a que ingrese un numero mayor a 100, caso contrario el ciclo no acabará. Pero si en el primer intento ingresó una cantidad mayor a 100, no entrará al ciclo DO – WHILE si no que directamente lo mostrará. Porque vemos que para entrar al ciclo DO – WHILE primero debe cumplir la condicion if que dice:

if ( num <= 100 )

Si el numero es menor o igual a 100 … entre al ciclo DO – WHILE

Entonces asi vemos como funciona el ciclo mientras – que 😉

– linea 16: recurso ” cout ” ***

– linea 17: pausando el programa ***

Saludos, y cualquier duda comenten con toda confianza 😉

10 respuestas

  1. deberian de poner mas ejemplos en este sitio para que nosotros los que estamos estudiando aprendamos mas a programar

    • Hola Edwin, bienvenido al blog 😀
      Cuando tengas alguna duda que se encuentre entre los temas que estoy explicando en el blog, con mucho gusto te puedo atender tanto para la resolucion de algun programa o para darte una idea de como proceder, siempre y cuando se encuentre en el rango de cosas vistas en el blog. Saludos!

      • // Mostrar la cantidad de dígitos de un número
        entero ND= num d digitos , N = numero

        int main()
        {
        int N, ND;
        cout <>N;
        ND=0;

        while( N!=0 )
        { ND=ND+1 ;
        N=N/10 ; }
        cout << "La cantidad de digitos es " << ND;
        system("PAUSE");
        return 0;
        }

        MI PREGUNTA ES: COMO SE ASOCIA "ND" o como lo usa al contar digitos en el programa y por q N se divide entre 10 definitivamente no entiendooooooo!!! ayudame explicame para entender graciassss

  2. hola te saludo desde Ecuador, gracias por compartir tus conocimientos,quisiera saber si me puedes ayudar por favor con algo de seudocodigos.
    SALUDOS CORDIALES
    ATENTAMENTE
    JORGE R.

    • Hola Jorge que tal un gusto, claro te puedo dar una mano siempre y cuando este a mi alcance; disculpa la tardanza en responder pero he estado complicado. Saludos cordiales Jorge 😉

  3. vale eddy me sirvio de mucho me sacaste de una gran duda

  4. que vago eddy como dice un comentario pon mas ejercicios jiji y ya no digo mas porq despues te hago quedar mal, y sino lo hago es porq me sirvio de algo lo de tu pagina thanks ajjaja

    • Jajajaja, hola lola! que tal, pues si ese comentario no lo termine entendiendo porque yo hago miscelaneas de ejercicios pero cuando termino de hacer el capitulo seria muy desordenado poner mas ejercicios si no se ha entendido la materia.. Pero bueno comentarios asi vienen y van.. Sobre lo otro ya veo que viniste a revisar lo de los ciclos jajaja, asi es Lola practica y verás que entenderas mejor los procesos repetitivos, ademas ya sabes cualquier cosa estamos en contacto, gracias por el comentario, besos!

  5. hola eddy muxas gracias encerio por cada una de tus tutoria q nos brindas antemano todos mis amigos y yo los que vemos tus tutorias estamos muy agradecidos de encontrar un blog como el tuyo y solo un pregunta por q if no lleva ; y while si la lleva
    ejemplo
    if(gq);
    gracias eddy

Deja un comentario