ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Estructuras de control Repetitivas/iterativas


Enviado por   •  7 de Agosto de 2018  •  Apuntes  •  1.466 Palabras (6 Páginas)  •  148 Visitas

Página 1 de 6

 

[pic 1]

[pic 2]

[pic 3]

[pic 4]

[pic 5]

[pic 6]

[pic 7]

[pic 8]

[pic 9]

[pic 10]

[pic 11]

[pic 12]

[pic 13]

[pic 14]

[pic 15]

[pic 16]

[pic 17]

[pic 18]

[pic 19]

[pic 20]

[pic 21]

[pic 22]

[pic 23]

[pic 24]

[pic 25]

[pic 26]

[pic 27]

[pic 28]

[pic 29]

[pic 30]

[pic 31]

[pic 32]

[pic 33]

[pic 34]

[pic 35]

[pic 36]

[pic 37]

[pic 38]

[pic 39]

[pic 40]

[pic 41]

[pic 42]

A menudo es necesario ejecutar una instrucción o un bloque de instrucciones más de una vez.

Ejemplo

Implementar un programa que calcule la suma de N números leídos desde teclado.

Podríamos escribir un programa en el que apareciese repetido el código que deseamos que se ejecute varias veces, pero…

ß Nuestro programa podría ser demasiado largo.

ß Gran parte del código del programa estaría duplicado, lo que dificultaría su mantenimiento en caso de que tuviésemos que hacer cualquier cambio, por trivial que fuese éste.

ß Una vez escrito el programa para un número determinado de repeticiones (p.ej. sumar matrices 3x3), el mismo programa no podríamos reutilizarlo si necesitásemos realizar un número distinto de operaciones (p.ej. sumar matrices 4x4).

Las estructuras de control repetitivas o iterativas, también conocidas como “bucles”, nos permiten resolver de forma elegante este tipo de problemas. Algunas podemos usarlas cuando conocemos el número de veces que deben repetirse las operaciones. Otras nos permiten repetir un conjunto de operaciones mientras se cumpla una condición.

Iteración: Cada repetición de las instrucciones de un bucle.


El bucle while

Permite repetir la ejecución de un conjunto de sentencias mientras se cumpla una condición:

while (condición) sentencia;

while (condición){ bloque

}

[pic 43]

El bucle while terminará su ejecución cuando deje de verificarse la condición que controla su ejecución.

Si, inicialmente, no se cumple la condición, el cuerpo del bucle no llegará a ejecutarse.

MUY IMPORTANTE

En el cuerpo del bucle debe existir algo que haga variar el valor asociado a la condición que gobierna la ejecución del bucle.


Ejemplo

Tabla de multiplicar de un número

public class While1

{ public static void main( String args[] ) {

int n; // Número int i; // Contador

n = Integer.parseInt( args[0] ); i = 0;

while (i<=10){ System.out.println (n+" x "+i+" = "+(n*i)); i++;

}

} }

Ejemplo

Divisores de un número

public class While2

{ public static void main( String args[] ) {

int n; int divisor;

n = Integer.parseInt( args[0] );

System.out.println("Los divisores son:");

divisor = n;

while (divisor>0){

if ((n%divisor) == 0) System.out.println(divisor);

divisor--;

}

} }


En los ejemplos anteriores, se conoce de antemano el número de iteraciones que han de realizarse (cuántas veces se debe ejecutar el bucle):

La expresión del while se convierte en una simple comprobación del valor de una variable contador.

El contador es una variable que se incrementa o decrementa en cada iteración y nos permite saber la iteración en la que nos encontramos en cada momento.

En el cuerpo del bucle, siempre se incluye una sentencia

contador++;

o bien

contador--;

para que, eventualmente, la condición del while deje de cumplirse.

En otras ocasiones, puede que no conozcamos de antemano cuántas iteraciones se han de realizar.

La condición del while puede que tenga un aspecto diferente pero, en el cuerpo del bucle, deberá seguir existiendo algo que modifique el resultado de evaluar la condición.


Ejemplo

Sumar una serie de números hasta que el usuario introduzca un cero

import javax.swing.JOptionPane;

public class While3

{ public static void main( String args[] ) {

float valor; float suma;

suma = 0; valor = leerValor();

while (valor!=0){ suma += valor; valor = leerValor();

}

mostrarValor("Suma de los datos", suma); System.exit(0); }

private static float leerValor () { String entrada;

entrada = JOptionPane.showInputDialog ( "Introduzca un dato:" );

return Float.parseFloat(entrada); }

private static void mostrarValor (String mensaje, float valor) { JOptionPane.showMessageDialog ( null, valor, mensaje, JOptionPane.INFORMATION_MESSAGE ); } }

El valor introducido determina en cada iteración si se termina o no la ejecución del bucle.


El bucle for

Se suele emplear en sustitución del bucle while cuando se conoce el número de iteraciones que hay que realizar.

Sintaxis

for (expr1; expr2; expr3) { bloque; }

[pic 44]


Equivalencia entre fory while

Un fragmento de código como el que aparecía antes con un bucle while:

i = 0;

while (i<=10){ System.out.println (n+" x "+i+" = "+(n*i)); i++;

}

puede abreviarse si utilizamos un bucle for:

for (i=0; i<=10; i++){ System.out.println (n+" x "+i+" = "+(n*i));

}

Como este tipo de estructuras de control es muy común, el lenguaje nos ofrece una forma más compacta de representar un bucle cuando sabemos cuántas veces ha de ejecutarse el cuerpo del bucle.

...

Descargar como (para miembros actualizados)  txt (9.7 Kb)   pdf (209.3 Kb)   docx (32.9 Kb)  
Leer 5 páginas más »
Disponible sólo en Clubensayos.com