parte 4: estructura for basada en diapositivas de prof. elizabeth vidal duarte
TRANSCRIPT
Parte 4: Estructura FORBasada 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
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
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
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
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
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
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)
9
Compare for y while
for ( Init ; Expression ; Increment )
Action
Init
while ( Expression ) {
Action
Increment
}
Si realmente odian utilizar WHILEpor alguna razon….pueden reescribirla
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;
}
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
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
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
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
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
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
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
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
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
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
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
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
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
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?
25
End of Lecture #6