estructura for. 2 sentencia while //este programa realiza la suma de los 100 primeros números int...
Post on 06-Feb-2015
8 Views
Preview:
TRANSCRIPT
Estructura FOR
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?
Arreglos:Vectores en JAVA
Introducción a la Programación
IntroducciónSupongan el siguiente problema:
Se necesita construir un programa que permita determinar cuantos alumnos del curso tienen una nota en el certamen 1 mayor al promedio del curso (piensen en las instrucciones que tendrá dicho algoritmo).
IntroducciónSe necesita construir un programa que permita determinar cuantos alumnos del curso tienen una nota en el certamen 1 mayor al promedio del curso (piensen en las instrucciones que tendrá dicho algoritmo).
El programa debe permitir almacenar todas las notas ingresadas, para posteriormente comparar con el promedio obtenido. Para lo anterior se utiliza la estructura básica denominada Vector (o arreglo unidimensional). A continuación se revisarán los aspectos básicos asociados al uso de vectores en los algoritmos.
Para resolver este problema deberemos ingresar las notas de cada alumno, sumar cada nota, y al final dividir por la cantidad de notas ingresadas. Luego debemos comparar el promedio obtenido con cada nota ingresada, contando cuantas notas son mayores al promedio calculado.
Vectores
Los vectores son una colección de variables del mismo tipo, que tienen un nombre común.
También son llamados arreglos unidimensionales. Los cuales son definidos por un nombre, dimensión y tipo de dato.
Para acceder a un elemento particular de un arreglo se usa su nombre y su ubicación en el conjunto (denominado índice).
Vector
0
1
2
3
4
99
V[i]int[ ] V = new int[100]; // declaración
V[0] = 90; // asignación
V[i] = scanner.nextInt();
V[4] = V[2] + V[0]; // asignación
8
90
98
Ejemplo
import java.util.Scanner;
public class arreglo1 {public static void main(String[] args) {
// declaracionde varuiable del tipo arreglo
int[ ] notas = new int[10];
int i=0;Scanner scanner = new Scanner(System.in);// lee e ingresa notas al arreglowhile (i<5) {
System.out.print("Ingrese nota :");notas[i] = scanner.nextInt(); // ingresa al arreglo i++;}
// Muestra las notas del arreglo
i=0;while (i<5) {
System.out.println("La nota es :"+ notas[i]);i++;}
} }
EjerciciosConstruir un programa en JAVA que permita:
• Leer un vector de dimensión 50 y contar el número de elementos mayores al promedio
• Dado el vector A de dimensión 1000 imprimir el menor y el mayor valor, indicando su ubicación dentro del arreglo.
• Determine si un arreglo de dimensión NxM(elementos ya ingresados, N>0 y M>0) esta o no ordenado en forma ascendente
• Determine en un arreglo de dimensión NxN (elementos ya ingresados, N>2), los 3 valores más grandes y los 3 valores más chicos.
• Leer dos vector de dimensión 50 y determinar cual de ellos tiene el promedio mayor
• Determinar cuantas veces se repite el valor x (ingresado por teclado) en un vector A de dimensión 1000 (considere los elementos ya ingresados)
Nota: para todos los enunciados considere vectores de tipo entero
top related