Bucles
Definición:
Un bucle o ciclo, en programación, es una sentencia que se
realiza repetidas veces a un trozo aislado de código, hasta que la condición
asignada a dicho bucle deje de cumplirse.
Generalmente, un bucle es utilizado para hacer una acción repetida sin tener
que escribir varias veces el mismo código, lo que ahorra tiempo, deja el código
más claro y facilita su modificación en el futuro.
El bucle y los condicionales representan la base de la programación
estructurada. Es una evolución del código ensamblador, donde la única
posibilidad de iterar un código era establecer una sentencia jump (que en los
lenguajes de programación fue sustituida por el "ir a" o GOTO).
Ejemplo con
un bucle:
int var=0;
//Código para el bucle
int i;
// este es el Bucle for
for(i=0;i<10;i+=2)
{
var += 2;
}
printf("el resultado es %i",
var);
Los tres bucles más utilizados en programación son el bucle while, el bucle
for y el bucle repetir.
Bucles
While
El bucle While se
utiliza cuando realmente no sabemos el número de iteraciones que se van a
realizar en el bucle, sin embargo sí sabemos que mientras se cumpla una
determinada condición debemos realizar el bucle. Cuando esa condición ya no se
cumpla entonces el bucle finalizará.
En este tipo
de bucles no existe ninguna variable que indique el número de vueltas que ha
realizado o falta por realizar. El único control que utiliza es una condición
que está al comienzo del bucle, mientras esta condición sea cierta se realizan
iteraciones y en el momento que sea falsa se finaliza el bucle.
Repre s entac ión algorítmica de l buc le While .
La es t ru ctu ra gen era l de la s en ten cia wh ile es la s igu ien te:
(1)mien t ra s (con dición )
(2) bloqu e de s en ten cia s ;
(3)fin wh ile.
don de bloque de s ent enc ias es
cu a lqu ier con ju n to de s en ten cia s C. La
es t ru ctu ra t ien e t res pa r tes :
(1) mient ras condic ión s e repres en ta
por el mismo s ímbolo qu e u n a
s en ten cia if y den t ro de él la con
dición .
(2) cada s en ten cia se repres en ta
por su s ímbolo.
(3) el fin while s e repres en ta median te u n
pu n to
Bucles For
Los bu cles for s e u t ilizan cu an do el programa s abe el n úmero de vu elta s qu e
t ien e qu e rea liza r cu an do en t ra en el bu cle. El n úmero de vu elta s s e pu ede
in dica r por u n a con s tan te (por ejemplo "5" vu elta s ) o por u n a expres ión (por
ejemplo "n " vu elta s o "n *j" vu elta s ), en es te ú lt imo ca so cu an do el maqu in is ta
llega a l in icio del bu cle la va r iable debe es ta r a s ign ada o la expres ión
ca lcu lada .
Pa ra lleva r la cu en ta del n úmero de itera cion es qu e se rea lizan en el bu cle se
u t iliza u n a va r iable en tera , de es ta forma , en todo momen to s e s abe el
n úmero de itera ción s in má s qu e obs erva r el va lor de la va r iable, es ta
va r iable también s e u t iliza pa ra s aber cu á n do s e debe a caba r el bu cle.
For en Pseudolenguaje
La principal diferencia de un
bucle PARA con respecto a los bucles MIENTRAS Y REPETIR, es que puede
determinarse al comienzo del bucle cuántas veces se iterará el mismo, lo cual
muchas veces puede redundar en una optimización del código por parte de los compiladores.
Los condicionales constituyen junto con los bucles los pilares de la programación estructurada y su uso es una evolución de una sentencia de lenguaje ensamblador que
ejecutaba la siguiente línea o no en función del valor de una condición.
El bucle PARA se ha convertido en
el bucle más ampliamente utilizado en la programación, ya que con la evolución
de los lenguajes la mayoría de las condiciones de fin
MIENTRAS NoFinDeTabla(tabla) HACER
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN MIENTRAS
Es lo mismo decir:
PARA i=0 a CantidadRegistros(tabla) - 1, PASO = 1
PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN PARA
Otro uso común es utilizar los
bucles PARA para recorrer vectores de dos o más dimensiones, en cuyo caso se
anidan estas iteraciones.
PSEUDOLENGUAJE
Vector a[3][4][2]. // Estamos indicando un vector de 3
dimensiones y 24 elementos en total.
PARA i:= 0 A 2 HACER
PARA j:= 0 A 3
HACER
PARA k:= 0 A
1 HACER
HacerAlgo(a[i][j][k])
FIN PARA
FIN PARA
FIN PARA
Bucle infinito
en programación es un error que consiste en realizar
un ciclo que se repite de forma indefinida ya
que su condición para finalizar nunca se cumple.
Por definición un bucle debe contener condiciones que establezcan cuándo
empieza y cuándo acaba, de manera que, mientras las condiciones se cumplan,
ejecute una secuencia de código de manera repetitiva. En el caso de ciclo
infinito, como la condición de finalización no se alcanza, el bucle sigue
ejecutando el segmento de código indefinidamente.
#include <stdio.h>
int main(void) {
int cont;
for (cont = 0; cont < 5; cont++) {
cont = cont%4;
printf("%d\n",cont);
}
return 0;
}
En la sentencia
"printf" se muestra en pantalla 0,1,2,3,0,1,2,3,0,.... infinitamente
y mientras no llegue a 5 no se cerrará el programa.
Y también podemos crear un
ciclo infinito con el for de
esta forma:
#include <stdio.h>
int main(void) {
for (;;)
printf("Bucle infinito\n");
return 0;
}
BUCLE FINITO
Declaración
Asignación
Leer variables (a,b)
Calculo
c = a + b
Resultado
Mostrar la Suma ( c )
Fin
No hay comentarios:
Publicar un comentario