La monda mia para'

Solo disponible en BuenasTareas
  • Páginas : 7 (1632 palabras )
  • Descarga(s) : 0
  • Publicado : 6 de junio de 2011
Leer documento completo
Vista previa del texto
Estructura repetitiva mientras
En un bucle hacer...mientras, primero se ejecuta el bloque de instrucciones y, después, se evalúa la condición. En el caso de que ésta seaverdadera, se vuelve a ejecutar el bloque de instrucciones. Y así sucesivamente, hasta que, la condición sea falsa.
Por consiguiente, cuando el flujo de un algoritmo llega a un buclehacer...mientras, existen dos posibilidades:1. Se ejecuta el bloque de instrucciones y, después, si la condición se evalúa a falsa, el bloque de instrucciones no se vuelve a ejecutar, de manera que, el bucle hacer...mientras finaliza, habiendo realizado una sola iteración.
2. Se ejecuta el bloque de instrucciones y, a continuación, si la condición se evalúa a verdadera, el bloque de instrucciones se vuelve a ejecutar. Y asísucesivamente, hasta que la condición sea falsa.
El  de un bucle hacer...mientras puede ejecutarse una o más veces (iteraciones). También hay que prevenir que el bucle no sea infinito.
En resumen, una instrucción repetitiva hacer...mientras permite ejecutar repetidamente (una o más veces) un bloque de instrucciones, mientras que, una determinada condición sea verdadera.
Para que el algoritmo realice lanueva tarea encomendada, ha sido necesario realizar tres cambios en los aspectos más críticos del bucle mientras:
1. La inicialización de la variable contador (cambio 1): necesaria para que la condición pueda evaluarse correctamente cuando el flujo del algoritmo llega al bucle mientras.
2. La condición del bucle mientras (cambio 2): afecta al número de iteraciones que va a efectuar elbucle. También se le conoce como condición de salida del bucle.
3. La instrucción de asignación (cambio 3): hace variar el valor de la variable contador dentro del bloque de instrucciones. De no hacerse correctamente, el bucle podría ser infinito.
 Repetitiva para
En pseudocódigo, para escribir una instrucción repetitiva para se utiliza la sintaxis:
   para  ←  hasta 
   [ incremento  ] hacer     
   fin_para |

En una instrucción repetitiva para, siempre se utiliza una  a la que se debe asignar un . En cada iteración del bucle, al valor de la  se le suma el  y, cuando la  supera el , el bucle finaliza.
En consecuencia, cuando el flujo de un algoritmo llega a un bucle para, en primer lugar, se asigna el  a la  y, a partir de ese instante, existen dos posibilidades:
1. Si elvalor de la  es mayor que el , entonces no se ejecuta el bloque de instrucciones, y el bucle parafinaliza sin realizar ninguna iteración.
2. Si el valor de la  es menor o igual que el , entonces, se ejecuta el bloque de instrucciones y, después, se le suma el  a la , volviéndose, de nuevo, a comparar el valor de la  con el . Y así sucesivamente, hasta que, el valor de la  sea mayor que el.En resumen, una instrucción repetitiva para permite ejecutar, repetidamente, un bloque de instrucciones, en base a un valor inicial y a un valor final.
El bucle para es ideal usarlo cuando, de antemano, ya se sabe el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones.
El bucle para es una variante del bucle mientras y, al igual que éste, puede iterarcero o más veces. Sin embargo, el bucle para sólo se suele usar cuando se conoce el número exacto de veces que tiene que iterar el bucle. Éste es el caso del problema planteado en el ejemplo del apartado 10.1.1 Variable contador, en el cual, se sabe de antemano que el bucle tiene que iterar, exactamente, diez veces.
¿Cuándo usar un bulce u otro?
A la hora de elegir un bucle u otro, debemos hacernosla siguiente pregunta:
* ¿Se conoce, de antemano, el número de veces (iteraciones) que tiene que ejecutarse un determinado bloque de instrucciones?
Si la respuesta es afirmativa, habitualmente se usa un bucle para. En caso contrario, nos plantearemos la siguiente pregunta:
* ¿El bloque de instrucciones debe ejecutarse al menos una vez?
En este caso, si la respuesta es afirmativa,...
tracking img