Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Curso C++: 6.- Estructuras cíclicas, while, do while y for
#1
Continuamos con los tutos mientras miro el mundial jejeje, Argentina vs Bosnia, 1-0, en fin, donde nos quedamos? variables, operadores, mostrar mensajes, solicitar datos, if else y switch, ya con esto tenemos un buen conocimiento del lenguaje, pero aun hay mas que aprender, ahora toca las estructuras cíclicas, necesarias para poder hacer programas.

while

While, lo podemos traducir algo así, mientras que.... pero que hace este comando, ejecuta una una acción o serie de acciones durante una cierta cantidad de veces, esto se realiza mientras se cumpla o no una condición, la sintaxis básica de esta estructura es la siguiente:

Código:
while(condición){

        //Aquí van las instrucciones a realizarse n veces.

}

Es una sintaxis sencilla, pero para comprender mejor vamos a hacer un ejemplo, recordaran que en nuestros primeros años de estudio, aprendimos a multiplicar y en algunos casos aprendimos las tablas de multiplicar, entonces, por medio de while, vamos a generar una tabla de multiplicar.

Código:
#include <iostream>
#include <cstdlib>

using namespace std;

//Variables
//Vamos a usar 3 variables
//n, para que el usuario indique la tabla de que numero quiere
//contador, para mostrar la fila del 1 al 10
//producto para almacenar el resultado de cada multiplicación
int n=0, contador=1, producto=0;

int main(){

    //Indicamos aqui lo que hace el programa
    cout << "\n\n\n\t\tTablas de multiplicar";
    //Solicitamos el ingreso de n, para saber que tabla generar
    cout << "\n\n\t\tEscribe el numero de la tabla que quieres: ";
    cin >> n;

    //Indicamos el numero que se multiplica en la tabla
    cout << "\n\n\t\tTabla de multiplicar del " << n << "\n\n";
    //las 4 lineas anteriores, van fuera del while porque no deben repetirse

    while(contador < 11){

        //Realizamos la multiplicación de la fila que corresponde, iniciando en 1
        producto = n*contador;
        //construimos la tabla, generando una fila en cada vuelta
        //como pueden ver, muestra, el numero de la tabla, el contador, de 1 a 10 y el producto
        cout << "\t\t\t" << n << " X " << contador << " = " << producto << endl;

        //Pero aun falta algo, contador vale 1 y para que pase a 2,3,... 10 falta sumarle 1 en cada vuelta
        contador++;

    }

system("PAUSE");
return 0;

}

Muy bien, los animo a que guarden en un archivo el código y lo corran, podrán ver en funcionamiento esta estructura cíclica, como pueden observar la condición es (contador < 11), que significa, mientras que la variable contador valga menos de 11, multiplicar n por contador, asignar el resultado a la variable producto, luego hay una instrucción que muestra una fila, con el valor de n una X, el valor de contador un igual y el valor de producto, luego le suma 1 a contador y se inicia de nuevo el ciclo evaluando contador, ahora contador vale 2 pero sigue siendo menor que 11, entonces repite el ciclo y así, hasta que contador valga 11, en ese momento ya no se ejecuta el ciclo.

do...while

Continuemos aprendiendo, esta otra estructura cíclica, difiere de while en que primero ejecuta la acción o acciones y después evalúa la condición, dicho en otras palabras, si en while la condición no se cumple, no se ejecuta la acción, pero en do...while, primero se ejecuta la acción aunque la condición no se cumpla.

La sintaxis de esta estructura cíclica es la siguiente:

Código:
do{

    //aquí van las acciones a ejecutarse

}while();

Eso es todo con este ciclo, casi igual que while, muy útil para hacer menús, igual while, pero una vez eso me dijo mi profesor de programación, ya sin mas explicaciones un ejemplo.

Código:
#include <iostream>
#include <cstdlib>

using namespace std;

//Variables
//Esta variable, sirve para elegir una opcion del menu
//Las acciones de cada opcion se ejecutan con un switch
//esta misma variable se usa como condicion de while
int op=0;


int main(){

    //Vamos a hacer un pequeño menu para ejemplificar el funcionamiento de do...while
    do{
        //Limpiamos pantalla para mostrar el menu correctamente
        system("clear");
        //Escribimos el menu a mostrar
        cout << "\n\n\n\t\t\t\tMenu principal";
        cout << "\n\n\t\t\t\t1.- Ingreso de datos";
        cout << "\n\t\t\t\t2.- Listado de datos";
        cout << "\n\t\t\t\t3.- Busqueda de datos";
        cout << "\n\t\t\t\t4.- Salir";
        cout << "\n\n\t\t\t\tEscribe tu opcion: ";
        cin >> op;

        //Como vimos en el tuto 5, switch se utiliza para hacer hacer funcionar un menu
        //La misma variable op usamos como condicional en el switch
        switch(op){
            case 1:{
                //Limpiamos pantalla
                system("cls");
                cout << "Has elegido la opcion 1";
                //pausa para que permanezca en esta pantalla
                //Al presionar enter, vuelve al menu
                system("pause");
            }
            break;
            case 2:{
                system("cls");
                cout << "Has elegido la opcion 2";
                system("pause");
            }
            break;
            case 3:{
                system("cls");
                cout << "Has elegido la opcion 3";
                system("pause");
            }
            break;
            default:{
            /*Recordando, la opcion default del switch, muestra un mensaje
            si no se elige una opcion de las permitidas
            pero tenemos un problema, hay una cuarta opcion en el menu, que no
            esta en switch, que es la opcion salir, entonces antes de salir nos va
            a mostrar el mensaje de error, para evitar eso, podemos usar un if, si no
            es 4, muestra error*/

                if(op != 4){
                    system("cls");
                    cout << "La opcion que has elegido, no es correcta...\n\n";
                    system("pause");
                }
            }

        }

    }while(op != 4);
    //En la condicion de while, usamos otro operador, != que significa no
    //Este ciclo dice entonces, hacer .... mientras que op no sea igual a 4

return 0;

}

Excelente no? me gusta un programa con menú, se ve, como un programa ya de un nivel aceptable, y ya va ganando Argentina 2 - 0, que buen gool de Messi....

Ciclo for

Finalizando con los ciclos, tenemos el for, también muy útil, su funcionamiento es igual a while y do...while, se puede utilizar cuando necesitamos ejecutar acciones una cantidad definida de veces, principalmente cuando se trata de un conteo, es cuando se hace ideal la utilización de este ciclo. Su sintaxis, es la siguiente:

Código:
for(lista de inicializacion; expresion; lista de alteracion){

         //Aquí van las instrucciones

}

En este ciclo es muy diferente la forma en que trabaja, debe tener tres partes, la primera inicializa la variable de control, luego con esa variable se indica la expresión que debe cumplirse para salir del ciclo y la ultima parte altera a la variable de control hasta que se cumple la expresión y termina el ciclo. Para ejemplificarlo vamos a hacer el mismo ejercicio de las tablas de multiplicar que hicimos con el while.

Código:
#include <iostream>
#include <cstdlib>

using namespace std;

//Variables
int n=0, producto=0;

int main(){

    cout << "\n\n\n\t\tTablas de multiplicar";
    cout << "\n\n\t\tQue tabla quieres? ";
    cin >> n;

    cout << "\n\n\t\tTabla de multiplicar del " << n << "\n\n";

    /*La varible de control, se puede declarar al
    inicio del programa o dentro del for mismo*/
    for(int i=1; i < 11; i++){

        //Realizamos la multiplicacion
        producto = n*i;
        //Imprimimos en pantalla, linea por linea
        cout << "\t\t\t" << n << " X " << i << " = " << producto << endl;

    }

system("pause");
return 0;

}

Con esto terminamos los ciclos, imprescindibles en programación, como pueden ver son fáciles de implementar, aunque se pueden utilizar de una forma mas avanzada, hasta aquí por el momento, espero les guste.
Enfadado


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  [Tutorial] Curso de PSD a HTML a WP habacuc78 14 870 31-08-2016, 09:33 PM
Último mensaje: ServiRemate
  Curso básico de introducción a la programación Posits 1 408 04-08-2016, 02:48 AM
Último mensaje: antony_tj
  [Aporte] Curso básico de Javascript habacuc78 22 1,222 05-07-2016, 03:53 PM
Último mensaje: escuelasegura
  [Aporte] Curso completo Bootstrap habacuc78 10 721 06-02-2016, 04:50 AM
Último mensaje: habacuc78
  Curso C++: Ejemplo 1 Samo30 2 593 27-06-2014, 01:42 AM
Último mensaje: Samo30
  Curso C++: Ejemplo 2 Samo30 0 2,032 19-06-2014, 06:07 AM
Último mensaje: Samo30
  Curso C++: 5.- Estructuras de selección if y switch Samo30 5 651 11-06-2014, 08:48 PM
Último mensaje: MPH
  Curso C++: 4.- Operadores Samo30 0 426 19-05-2014, 03:35 AM
Último mensaje: Samo30
  Curso C++: 1.- Introduccion Samo30 8 773 18-05-2014, 05:38 AM
Último mensaje: Samo30
  Curso C++: 3.- Variables, declaración e inicialización Samo30 1 455 15-05-2014, 03:20 PM
Último mensaje: darklion93



Usuarios navegando en este tema: 1 invitado(s)