
Bucles o Ciclos en C++
For, While, Do while

Introduccion
Los ciclos o también conocidos como bucles, son una estructura de control esencial al momento de programar. Tanto C como C++ y la mayoría de los lenguajes utilizados actualmente, nos permiten hacer uso de estas estructuras. Un ciclo o bucle permite repetir una o varias instrucciones cuantas veces lo necesitemos, por ejemplo, si quisiéramos escribir los números del uno al cien no tendría sentido escribir cien líneas mostrando un numero en cada una, para esto y para muchísimas cosas más, es útil un ciclo, permitiéndonos hacer una misma tarea en una cantidad de líneas muy pequeña y de forma prácticamente automática.Existen diferentes tipos de ciclos o bucles, cada uno tiene una utilidad para casos específicos y depende de nuestra habilidad y conocimientos poder determinar en qué momento es bueno usar alguno de ellos.
Ciclo For
En este Ciclo de manera directa, el programador ya sabe cuantas veces se repetira la sentencia deseada, pues este tipo de ciclo se caracteriza por colocar el valor de la variable inicializandola, colocando el valor en que terminara el ciclo, y el incremento de la variable al principio de la setencia como en el siguiente ejemplo:
Programa que obtiene e imprime la raiz cuadrada de 10 numeros consecutivos.
#include <stdio.h>
#include <math.h>
int main(int argc, const char * argv[])
{
//CICLOS FOR EN C
int y;
for( int x=0 ;x<10 ; x++) // INCICIALIZANDO VARIABLE DE CONTROL "x", COLOCANDO LIMITE DE CICLO , E INCREMENTO
{
y = pow(x,2)+3;
printf("El resultado de Y vale: %d\n",y);
}
return 0;
}
En el ejemplo anterior observamos de manera basica como es que funciona el ciclo for, se trata de un programa que imprime 10 veces el valor de Y, que a su vez es igual al cuadrado de X mas 3, comenzando X en cero, ¿Porque 10 veces y no mas?, como mencionamos anteriormente, este ciclo es recomendable usarlo cuando se sabe cuantas maneras se tiene que repetir la sentencia en cuestion.
2010 - present
2010 - present
Ciclo While
La definicion en español de este ciclo nos indica mucho pues while significa: "mientras que".
La estructura del ciclo es distinta a la de FOR, pues en este caso primero se inicializa la variable antes de entrar al ciclo, despues se elabora la condicion, finalmente se coloca el incremento.
Este ciclo se caracteriza por repetirse mientras una condicion no sea cumplida, pues en el momento que se cumpla, el bucle terminara y pasara a la siguiente sentencia en nuestro codigo como se muestra a coninuacion:
Estructura:
i=0; <---- Inicializar variable de control
while(condicion)
{
Sentencia a repetir;
i++; <----- incremento de variable de control o Contador
}
EJEMPLO:
#include <stdio.h> //PROGRAMA QUE ACUMULA LA SUMA DE LOS NUMEROS QUE EL USUARIO INGRESE
#include <stdlib.h>
int main(){
float m,x,z,i,w;
x=0;
i=0; <----------------- INICIALIZACION DE VARIABLE QUE CONTROLA EL CICLO
printf("Cuantos numerors quieres sumar \n");
scanf("%f",&m);
while(i<=m){ <-------------- CONDICION DEL CICLO
printf("inserta un numero\n");
scanf("%f",&z);
x=x+z; <---------------- ACUMULADOR
w=x/m;
i++; <------------------- INCREMENTO DE LA VARIABLE DE CONTROL
}
printf("\nesta es la suma de tus numeros %.2f",z);
printf("\nesta e la media aritmetica de tus numeros %.2f",w);
system("pause");return (0);
}
Para este ejercicio el programa solicita al usuario una cantidad de numeros a sumar, posteriormente esa cantidad se guarda en la variable "m" que servira para que la condicion sea cumplida; La variable "i" nos sirve como variable de control y ayudara a determinar al cilo cuando es que tiene que acabar, a este tipo de variables se les llama tambien "Contador".
En el momento que "i" llega a ser igual que "n" el ciclo termina pues la condicion se cumple y pasa a la siguiente linea que es imprimir la suma y el promedio de dicha suma.
Ciclo Do While
El ciclo "do while" es mucho muy parecido a su hermano "while", en cuestiion de estructura, sin embargo la diferencia esta en que "do while" primero ejecuta la sentencia dentro y despues revisa si la condicion se cumple.
Imaginemos un ejemplo en que 2 hermanos se pelean, el papa primero los corrige y despues pregunta cual fue la razon de la pelea, asi funciona "do while", primero ejecuta la accion o sentencia y despues rectifica la condicion.
La estructura del ciclo es primero colocar la palabra "Do" seguido de la apertura del ciclo"{", posteriormente despues de programar la sentencia que deseamos repetir, colocamos la condicion el el corcrete de cierre seguido de la palabra while con la condicion y punto coma "}while(condicion);":
Estructura:
Do{
Sentencia a repetir;
incremento; (++)
}while(condicion);
EJEMPLO:
Programa que suma 10 numeros y obtiene promedios de pares e impares.
#include <stdio.h>
#include <stdlib.h>
int main(){
int m,x,i;
float y;x=0;i=1;y=0;
do{ <------------------INICIO DE CICLO DO
printf("ingresa un numero \n");
scanf("%f",&m);
if(m%2 == 0)
{
x=(x+m)/10 ;
i++; <-------- INCREMENTO CUANDO ES PAR
}
else
{
y=(y+m)/10;
i++;<------------ INCREMENTO CUANDO ES IMPAR
}
}while(i<=10); <--------------- FINAL DE CICLO Y CONDICION WHILE "CUANDO "i" ES IGUAL A 10 EL CICLO TERMINA
printf("\neste es el promeio de los numeros impares %.2f",y);
printf("\neste es el promedio de los numeros pares %d",x);
system("pause"); return(0);
}
En este ejemplo el ciclo se inicia sin rectificar ninguna condicion para despues comprobarla, cuando el contador llega al limite que en este caso es 10, dentro del ciclo tenemos la condicion "IF" que comprueban si el numero ingresado es par gracias a la ayuda del "modulo(%)" que nos indica el residuo y si es cero entonces es par y si no se pasa al else, notese que en ambos, el if y el else, tienen dentro el contador que incrementa, de manea que cuando la variable de control "i" llega a 10 se termina el ciclo y el programa procede a imprimir los resultados de las operaciones que se hayan dentro del ciclo.