1 CS1101X Programming MethodologyEstructura FOR
2 CS1101X Programming MethodologySentencia 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
3 Sintaxis para la sentencia whileCS1101X Programming Methodology Sintaxis para la sentencia while while (
4 CS1101X Programming MethodologyMas Ejemplos int sum = 0, number = 1; while ( sum <= ) { sum = sum + number; number = number + 1; } 1 Sigue sumando números 1, 2, 3, …hasta que la variable sum sea mayor a 1,000,000. int producto = 1, numero = 1, contador = 20, ultimoNumero; ultimoNumero = 2 * contador - 1; while (numero <= ultimoNumero) { producto = producto * numero; numero = numero + 2; } 2 Calcula el producto de los 20 primeros enteros
5 CS1101X Programming MethodologyLa 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
6 CS1101X Programming MethodologySintaxis do-while do
7 CS1101X Programming MethodologyLa 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). Utilizamos for cuando sabemos cuantas veces se va a realizar la repetición
8 CS1101X Programming MethodologySyntax sentencia for for (
9 CS1101X Programming MethodologyCompare for y while for ( Init ; Expression ; Increment ) Action Init while ( Expression ) { Action Increment } Si realmente odian utilizar WHILE por alguna razon…. pueden reescribirla
10 CS1101X Programming MethodologySentencia 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)CS1101X Programming Methodology Seguimiento de la ejecución (1/12) i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos");
12 Seguimiento de la ejecución(2/12)CS1101X Programming Methodology Seguimiento de la ejecución(2/12) i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos");
13 Seguimiento de la ejecución(3/12)CS1101X Programming Methodology Seguimiento de la ejecución(3/12) i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0
14 Seguimiento de la ejecución(4/12)CS1101X Programming Methodology Seguimiento de la ejecución(4/12) 1 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0
15 Seguimiento de la ejecución(5/12)CS1101X Programming Methodology Seguimiento de la ejecución(5/12) 1 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0
16 Seguimiento de la ejecución(6/12)CS1101X Programming Methodology Seguimiento de la ejecución(6/12) 1 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamo"); Output: i es 0 i es 1
17 Seguimiento de la ejecución(7/12)CS1101X Programming Methodology Seguimiento de la ejecución(7/12) 2 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1
18 Seguimiento de la ejecución(8/12)CS1101X Programming Methodology Seguimiento de la ejecución(8/12) 2 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1
19 Seguimiento de la ejecución(9/12)CS1101X Programming Methodology Seguimiento de la ejecución(9/12) 2 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1 i es 2
20 Seguimiento de la ejecución(10/12)CS1101X Programming Methodology Seguimiento de la ejecución(10/12) 3 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1 i es 2
21 Seguimiento de la ejecución(11/12)CS1101X Programming Methodology Seguimiento de la ejecución(11/12) 3 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1 i es 2
22 Seguimiento de la ejecución(12/12)CS1101X Programming Methodology Seguimiento de la ejecución(12/12) 3 i for (int i = 0; i < 3; ++i) { System.out.println("i es " + i); } System.out.println(“terminamos"); Output: i es 0 i es 1 i es 2 terminamos Utilzar siempre i dentro del loop
23 CS1101X Programming MethodologyMas ejemplos for (int i = 0; i < 100; i += 5) 1 i = 0, 5, 10, … , 95 for (int j = 2; j < 40; j *= 2) 2 j = 2, 4, 8, 16, 32 for (int k = 100; k > 0; k--) ) 3 k = 100, 99, 98, 97, ..., 1
24 CS1101X Programming MethodologyFor anidados for (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 Arreglos: Vectores en JAVAIntroducción a la Programación
26 Introducción Supongan 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).
27 Introducción 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). 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. 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.
28 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).
29 Vector int[ ] V = new int[100]; // declaración1 2 3 4 99 90 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 V[i] 98
30 Ejemplo public class arreglo1 {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 arreglo while (i<5) { System.out.print("Ingrese nota :"); notas[i] = scanner.nextInt(); // ingresa al arreglo i++; } // Muestra las notas del arreglo i=0; System.out.println("La nota es :"+ notas[i]); } } Ejemplo
31 Ejercicios Construir 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