La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Control de flujo: Bucles

Presentaciones similares


Presentación del tema: "Control de flujo: Bucles"— Transcripción de la presentación:

1 Control de flujo: Bucles
Fundamentos de programación/ Programación I

2 Repetición A menudo queremos ejecutar una misma operación más que una vez Ejemplos: Escribir ¡Hola Mundo! en la pantalla 10 o 100 o 1000 veces Escribir todas las letras del abecedario en la pantalla Sumar los gastos anuales del Ayuntamiento de Barcelona En cada caso, podemos escribir las instrucciones individualmente en secuencia (muy ineficaz) En cambio podemos usar bucles (estructuras de repetición)

3 Estructuras de repetición
while do-while for

4 Bucle while Sintaxis: while (<expresión-boolean>)
<bloque-o-instrucción> expresión-boolean true false bloque-o-instrucción

5 Condición de while La condición (expresión boolean) de un while sirve para determinar cuando el bucle se debe terminar ¡Si la condición siempre está true, el bucle while nunca termina! En consecuencia, algo en la condición tiene que cambiar Cada bucle necesita una variable de bucle que aparece en la condición y cuyo valor cambia Hay que inicializar el valor de la variable de bucle y actualizar su valor dentro del bucle

6 Ejemplo 1 int contador = 1; // inicialización
while (contador < 6) { // condición System.out.println(contador); contador++; // actualización }

7 Ejemplo 2 int contador = 1; // inicialización
while (contador < 0) { // condición System.out.println(contador); contador--; // actualización } El bucle nunca se ejecuta porque la condición está false desde el principio

8 Ejemplo 3 int contador = 1; // inicialización
while (contador != 10) {// condición System.out.println(contador); contador += 2; // actualización } El bucle nunca termina porque la condición nunca llega a estar false

9 Ejemplo 4 int contador = 1; // inicialización
while (contador < 6) // condición System.out.println(contador); contador++; // actualización El bucle nunca termina porque el valor de la variable de bucle no se actualiza dentro del bucle

10 Ejercicio Escribir ¡Hola Mundo! en la pantalla 10 veces

11 Ejercicio Escribir todas las letras del abecedario en la pantalla

12 Ejercicio ¿Cuál es el valor de la variable x después de ejecutar el siguiente bucle? int x = 1; int i = 1; while (i <= 4) { x = x + 2*i; i++; }

13 Ejercicio El factorial de un número entero n, que se escribe n!, es el producto de todos los enteros que preceden a n. Por ejemplo, 4! = 1*2*3*4 = 24. Calcular el valor de 30!

14 Bucle do-while Sintaxis: do <bloque-o-instrucción>
while (<expresión-boolean>); bloque-o-instrucción true expresión-boolean false

15 Bucle do-while La única diferencia entre un bucle while y un bucle do-while es que el bloque del do-while siempre se ejecuta por lo menos una vez La condición se prueba al final del bucle Siempre se puede convertir en un while, pero hay casos cuando el do-while es más compacto

16 Ejercicio Pedir al usuario un número entero entre 0 y 10
Mientras que el número esté fuera del rango indicado, pedir un número de nuevo

17 Bucle for Sintaxis: inicialización condición false true
for (<inicialización>;<condición>;<actualización>) <bloque-o-instrucción> inicialización condición false true bloque-o-instrucción actualización

18 Bucle for Siempre equivalente a un bucle while
Como en el caso de do-while, muchas veces un bucle for es más compacto que un while

19 Comparición entre while y for
int i = 0; while (i < 10) { System.out.println(“¡Hola Mundo!”); i++; } for (int i = 0; i < 10; i++) System.out.println (“¡Hola Mundo!”);

20 Bucles encadenadas Ejemplo: escribir las letras del abecedario 10 veces for (int i = 0; i < 10; i++) { for (char c = 97; c <= 122; c++) System.out.print(c); System.out.println(); }

21 Ejercicio ¿Qué número entero entre 1 y 1000 tiene más divisores?

22 break y continue • Dos instrucciones para cambiar el control de flujo dentro de un bucle • break: terminar el bucle • continue: continuar el bucle sin ejecutar las demás instrucciones • Ambos se deben usar con cuidado

23 Ejemplo int a = 5; for (int i = 1; i <= 10; i++) { if (i % 2 == 0)
continue; a = a + i; if (a > 20) break; }

24 Métodos de String A una variable de tipo String se puede aplicar varios métodos: String s = “¡Hola Mundo!”; int longitud = s.length(); // longitud 12 char c = s.charAt(1); // carácter H La longitud se puede usar para recorrer los caracteres de la cadena

25 Recorrer un String String s = “¡Hola Mundo!”; int i = 0;
while (i < s.length()) { System.out.println(s.charAt(i)); i++; } ¿Qué pasa si inicializamos i = 1 y cambiamos la condición del bucle por i <= s.length()?

26 Ejercicio Recorrer una cadena, y para cada carácter, determinar si es un dígito

27 Palabras reservadas class inicio de programa
public, static, void método ‘main’ byte, short, int, long enteros float, double reales char caracteres boolean, true, false tipo Boolean if, else, switch estructura condicional case, default parte de switch while, do, for estructura de repetición break, continue cambiar control de flujo


Descargar ppt "Control de flujo: Bucles"

Presentaciones similares


Anuncios Google