Algoritmos iterativos
Enviado por mirconer • 3 de Diciembre de 2013 • 716 Palabras (3 Páginas) • 213 Visitas
Algoritmos iterativos:
Sentencias de iteración
§1 Sinopsis
Las sentencias de iteración permiten repetir una sentencia o conjunto de ellas. Es lo que se denomina ejecutar un bucle. En C++ existen tres formas de iteraciones: los bucles while; do…while y for.
Observe que en todos los casos el bucle puede estar constituido por una sola sentencia o por varias. En cuyo caso se trata de un bloque de código delimitado por un par de corchetes { } ( 3.2.6). Si se trata de una sola sentencia, los corchetes no son necesarios.
§2 Bucle while
La sentencia while permite ejecutar repetidamente un bloque de código mientras se cumpla una determinada condición que es chequeada antes de cada iteración.
§2.1 Sintaxis
while ( <condicion> ) <sentencia> ;
§2.2 Descripción
La sentencia while ejecuta iterativamente el bucle definido por el bloque de código <sentencia> siempre que el valor devuelto por la expresión <condición> (que debe estar entre paréntesis) sea cierto.
Nota: recordemos que cierto (true) equivale numéricamente a distinto de cero ( 3.2.1b), mientras que falso (false) equivale al valor cero.
Puesto que la condición se evalúa antes que cada ejecución del bucle, si al comienzo <condicion> devuelve falso, <sentencia> no se ejecuta ninguna vez, y el control pasa a la siguiente sentencia. Si <condición> devuelve cierto se ejecuta el bucle <sentencia>, y a continuación se vuelve a evaluar <condicion> con lo que se repite el ciclo.
§2.3 Ejemplos
while (*p == ' ') p++;
while ( i <= j) i++;
La sentencia puede estar vacía, realizándose entonces toda la computación requerida en la cláusula <condición>. Ejemplo:
while ( getchar() != 'Z' );
Aunque lo normal es que la <sentencia> sea un bloque de código entre corchetes:
while (i < n) {
cout << i << endl;
++i;
}
Intente por sí mismo la explicación de las salidas del programa adjunto antes de leer el comentario final (esta disposición es muy utilizada en bucles que deben repetirse un número n de veces).
#include <iostream>
using namespace std;
int main() { // ==========
int x = 5, y = 5;
while ( x-- ) {
cout << "x = " << x << endl;
}
while ( --y ) {
cout << " y = " << y << endl;
}
cout << "Terminado!!" << endl;
}
Salida:
x = 4
x = 3
x = 2
x = 1
x = 0
y = 4
y = 3
y = 2
y = 1
Terminado!!
Comentario
En ambas iteraciones, la condición
...