Sobre bucles

Ver el tema anterior Ver el tema siguiente Ir abajo

Sobre bucles

Mensaje  real_94 el Mar Mar 02, 2010 1:24 pm

Bueno he aquí mi primera aportación al foro de programación, una pequeña lección sobre bucles con el que podreis hacer algunas monerías para ir empezando en programación. El lenguaje que yo utilizo es una especie de híbrido entre C y C++, con el fin de evitar los punteros y la programación dirigida a objetos, y el compilador el popular G++ de Linux (mas concretamente Ubuntu).

Bueno lo primero deciros que hay dos tipos de bucles: Con condición inicial y con condición final.
Los primeros evalúan la condición de permanencia en el bucle primero, y luego ejecutan las instrucciones del bucle. Cuando terminan de ejecutar el cuerpo del bucle, vuelven a evaluar la condición y si es favorable ejecutarán otra vez el bucle y si no pasarán a lo siguiente. Estos dos bucles son el bucle FOR y el bucle WHILE.
La sintaxis del bucle FOR es:
for(i=0;i<=z;i++){ //i=0, inicialización del contador del bucle
cuerpo del bucle; //i<=<, el bucle se ejecutará siempre y cuando i sea menor o igual que z
}//i++: Cuando finaliza la ejecución del bucle, el contador i incrementa en 1 su valor.

Sintaxis del bucle WHILE: /*cond=condición de permanencia en el bucle. El bucle se
while(cond){ ejecutará mientras esta condición sea true*/
cuerpo;
}
Estos dos bucles, al comprobar la condición de permanencia al principio es posible que no se lleguen a ejecutar nunca, porque la condición de permanencia sea false al principio.

Bucles con condición final:
En estos bucles, la condición de permanencia es evaluada al final de la primera iteración, es decir, que como mínimo se ejecutan una vez. Un bucle de este tipo es el bucle DO WHILE, que tiene la siguiente sintaxis:

do{ /*Aquí, primero se ejecuta el cuerpo y luego se evalúa la condición
cuerpo del bucle; de permanencia. Igual que antes, cuando la condición de permanencia
}while(cond); sea false, el compilador saldrá del bucle y pasará a lo siguiente.*/

MUCHO OJO: Un bucle infinito es un peligro al que nos enfrentamos por despiste, que puede hacer que el programa pete y en códigos complejos es un poco jodio de encontrar el fallo. Ejemplo de bucle infinito:

for(i=1;i>0;i++){
cout<<"Hola, mundo cruel e injusto"<<endl;
}
Este bucle se ejecutará infinitamente, es decir, hasta que haya un desbordamiento de memoria o hasta que pulsemos ctrl+C (Recomendado), ya que el contador i se inicializa a 0 y luego en cada iteración va aumentando en uno su valor, por lo que siempre será mayor que cero y la condición de permanencia siempre se cumplirá. Cuidado con esto.

Bueno esto es solo una pequeña introducción al tema de bucles. Me ha parecido importante postear esto ya que los bucles son muy utilizados en cualquier programa y ofrecen muchas posibilidades (Muchísimas más de las que podría poner aquí). Si alguien tiene alguna duda o sugerencia de ampliación sobre esto que me lo diga y le intentaré contestar.

Espero que esto os sirva de algo.
avatar
real_94

Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 26

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  Kudo el Mar Mar 02, 2010 3:17 pm

Bueno, cada uno tiene su pequeña idea de interpretar los bucles xD. Lo paso a C, porque esto es C#. afro
avatar
Kudo
Admin

Mensajes : 98
Fecha de inscripción : 27/01/2010

http://pcportal.superforo.net

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  real_94 el Mar Mar 02, 2010 9:29 pm

Como que interpretar los bucles? Aver jaime ke esto no es un poema ke no tiene vuelta de hoja jejeje. Lo que no se es si habra alguna discrepancia en la sintaxis ke enseñen en otros sitios lo ke no se, pero bueno asi lo se yo ke no es poco jejeje
avatar
real_94

Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 26

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  Kudo el Miér Mar 03, 2010 1:10 pm

A eso me refiero, a que cada profesor lo explica de una manera, y si quieres que se entere la gente cuanto más llano mejor xD (incluyendome a mí por supuesto)
avatar
Kudo
Admin

Mensajes : 98
Fecha de inscripción : 27/01/2010

http://pcportal.superforo.net

Volver arriba Ir abajo

Error mío

Mensaje  Kudo el Vie Mayo 07, 2010 2:51 pm

Vale perdonad mi ignorancia, por eso no lo entendía demasiado. Esto efectivamente es C++ y no C#, así que lo cambio de nuevo a C++. Vaya cachondeo esto de la programación.
avatar
Kudo
Admin

Mensajes : 98
Fecha de inscripción : 27/01/2010

http://pcportal.superforo.net

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  real_94 el Vie Mayo 07, 2010 10:56 pm

ayyy gañan ke era c++++++++++++++++
avatar
real_94

Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 26

Volver arriba Ir abajo

Bucles bucles bucles bucles bucles bucles bucles bucles.....

Mensaje  real_94 el Lun Jun 21, 2010 12:03 pm

Bueno a ver si vamos animando el foro un pokejo ke así no hay manera. Lanzo una question facililla para ver si alguien se anima. ¿Quién puede decirme cómo hacer un bucle FOR utilizando un bucle WHILE? Es muy facil y, ya que estamos, Jaime no la contestes enseguida a ver si alguien más la ve y se anima, aunque en el post de programación sólo hablamos tu y yo jejeje.

Dentro de un par de días daré la respuesta si es que nadie la ha dado ya para entonces.
avatar
real_94

Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 26

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  real_94 el Jue Jul 01, 2010 12:22 pm

Ante la avalancha de soluciones dadas al problema planteado aquí dejo la solución para que la compareís con la que, seguramente todos los que estais registrados en el foro, habreis implementado:

int i=0; //Definición e inicialización de la variable de control del bucle.

while(i<=5){//Controlador del bucle

//Cuerpo de intrucciones del bucle, que puede ser este u otro cualquiera jejeje
cout<<"Este foro no lo lee nadie, y menos el post de programación"<<endl;

i++ //aumento del valor de la variable i en 1
/*También se podriá poner

i=i+1 ó incluso i+=1
*/

}
avatar
real_94

Mensajes : 48
Fecha de inscripción : 31/01/2010
Edad : 26

Volver arriba Ir abajo

Re: Sobre bucles

Mensaje  Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.