parte 4: estructura for basada en diapositivas de prof. elizabeth vidal duarte

25
Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

Upload: camila-uriarte

Post on 23-Jan-2016

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

Parte 4: Estructura FORBasada en diapositivas de Prof. Elizabeth Vidal Duarte

Page 2: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

2

Sentencia while //este programa realiza la suma de los 100 primeros números

int sum = 0, number = 1;

while ( number <= 100 ) {

sum = sum + number;

number = number + 1;

}

System.out.print(“La Suma es: “ + suma);

Estas sentencias son ejecutadas mientras que la variable number sea menor o igual que 100

Estas sentencias son ejecutadas mientras que la variable number sea menor o igual que 100

Page 3: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

3

Sintaxis para la sentencia while while ( <expresión booleana> ) {

<sentencia 1><sentencia 1><sentencia n> }

while ( number <= 100 ) {

sum = sum + number;

number = number + 1;

}

Sentencias(loop body)

Sentencias(loop body)

Expresión Booleana Expresión Booleana

Page 4: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

4

Mas EjemplosSigue sumando números 1, 2, 3, …hasta que la variable sum sea mayor a 1,000,000.

Sigue sumando números 1, 2, 3, …hasta que la variable sum sea mayor a 1,000,000.

Calcula el producto de los 20 primeros enteros

Calcula el producto de los 20 primeros enteros

int sum = 0, number = 1;

while ( sum <= 1000000 ) {

sum = sum + number;

number = number + 1;

}

11

int producto = 1, numero = 1, contador = 20, ultimoNumero;

ultimoNumero = 2 * contador - 1;

while (numero <= ultimoNumero) {

producto = producto * numero;

numero = numero + 2;

}

22

Page 5: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

5

La sentencia do-while

int sum = 0, number = 1;

do {

sum = sum + number;

number++;

} while ( sum <= 100 );

Estas sentencias son ejecutadas hasta que la variable sum sea menor o igual que 100

Estas sentencias son ejecutadas hasta que la variable sum sea menor o igual que 100

Page 6: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

6

Sintaxis do-while

do {

sum = sum + number;

number++;

} while ( sum <= 100 );

do

<sentencias>

while ( <expresion booleana> ) ;

Sentencias(loop body)

Sentencias(loop body)

Expresion booleanaExpresion booleana

Page 7: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

7

La sentencia for

int i, sum = 0, number;

for (i = 0; i < 20; i++) {

number = scanner.nextInt( );

sum = sum + number;

}Estas sentencias son ejecutadas 20 veces ( i = 0, 1, 2, … , 19).

Estas sentencias son ejecutadas 20 veces ( i = 0, 1, 2, … , 19).

Utilizamos for cuando sabemos cuantas veces se va a realizar la repetición

Page 8: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

8

Syntax sentencia for

for ( i = 0 ; i < 20 ; i++ ) {

number = scanner.nextInt();

sum = sum + number;

}

for ( <inicializacion>; <expresion booleana>; <incremento> ){

<sentencias>

}

InicializacionInicializacion Expresión Booleana

Expresión Booleana IncrementoIncremento

Sentencias(loop body)

Sentencias(loop body)

Page 9: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

9

Compare for y while

for ( Init ; Expression ; Increment )

Action

Init

while ( Expression ) {

Action

Increment

}

Si realmente odian utilizar WHILEpor alguna razon….pueden reescribirla

Page 10: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

10

Sentencia while

//este programa realiza la suma de los 100 primeros numeros

int sum = 0, number = 1;

while ( number <= 100 ) {

sum = sum + number;

number = number + 1;

}

Page 11: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

11

Seguimiento de la ejecución (1/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

0i

Page 12: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

12

Seguimiento de la ejecución(2/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

0i

Page 13: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

13

Seguimiento de la ejecución(3/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

0i

Output:

i es 0

Page 14: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

14

Seguimiento de la ejecución(4/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

1i

Output:

i es 0

Page 15: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

15

Seguimiento de la ejecución(5/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

1i

Output:

i es 0

Page 16: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

16

Seguimiento de la ejecución(6/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamo");

1i

Output:

i es 0i es 1

Page 17: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

17

Seguimiento de la ejecución(7/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

2i

Output:

i es 0i es 1

Page 18: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

18

Seguimiento de la ejecución(8/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

2i

Output:

i es 0i es 1

Page 19: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

19

Seguimiento de la ejecución(9/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

2i

Output:

i es 0i es 1i es 2

Page 20: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

20

Seguimiento de la ejecución(10/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

3i

Output:

i es 0i es 1i es 2

Page 21: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

21

Seguimiento de la ejecución(11/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

3i

Output:

i es 0i es 1i es 2

Page 22: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

22

Seguimiento de la ejecución(12/12)

for (int i = 0; i < 3; ++i) {System.out.println("i es " + i);

}

System.out.println(“terminamos");

3i

Output:

i es 0i es 1i es 2terminamos

Utilzar siempre i dentro del loop

Page 23: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

23

Mas ejemplos

for (int i = 0; i < 100; i += 5)11

i = 0, 5, 10, … , 95 i = 0, 5, 10, … , 95

for (int j = 2; j < 40; j *= 2)22

j = 2, 4, 8, 16, 32 j = 2, 4, 8, 16, 32

for (int k = 100; k > 0; k--) )33

k = 100, 99, 98, 97, ..., 1k = 100, 99, 98, 97, ..., 1

Page 24: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

24

For anidadosfor (int i = 0; i < 3; ++i) {

System.out.println("i is " + i);

for (int j = 0; j < i; ++j) {

System.out.println(" j is " + j);

}

}

Cual es la salida?

Page 25: Parte 4: Estructura FOR Basada en diapositivas de Prof. Elizabeth Vidal Duarte

25

End of Lecture #6