Beruflich Dokumente
Kultur Dokumente
CONTENIDO
1. Los Arreglos y Java.
1.1 Definicin de arreglos
Algoritmia y programacin
Universidad del Valle Slide 2
Algoritmia y programacin
Universidad del Valle Slide 3
Qu es un arreglo?
* Un arreglo es una lista (conjunto) de datos con un nmero fijo de componentes, todos del mismo tipo, que estan referenciados bajo un mismo nombre. * Cada componente del arreglo se puede acceder mediante ndices (0, 1, 2, 3, ...) encerradas entre corchetes [ ].
Algoritmia y programacin
Universidad del Valle Slide 4
Algoritmia y programacin
Universidad del Valle Slide 5
Algoritmia y programacin
Universidad del Valle Slide 6
Algoritmia y programacin
Universidad del Valle Slide 7
Luis
Juan
Algoritmia y programacin
Universidad del Valle Slide 10
Para recordar:
* Un arreglo se usa para almacenar elementos del mismo tipo. * Un arreglo es de tamao fijo. * Cada elemento se guarda en un espacio independiente. * Cada espacio se referencia con un ndice (0,1,2,3,...,n).
Algoritmia y programacin
Universidad del Valle Slide 11
Algoritmia y programacin
Universidad del Valle Slide 12
Algoritmia y programacin
Universidad del Valle Slide 13
Algoritmia y programacin
Universidad del Valle Slide 14
Algoritmia y programacin
Universidad del Valle Slide 15
Declarando Arreglos
La declaracin de un arreglo se hace de la siguiente forma:
TipoDeDato nombre[] = new TipoDeDato [n];
Algoritmia y programacin
Universidad del Valle Slide 16
Declarando Arreglos
String nombres[] = new String [4];
Define un arreglo llamado nombres, que almacena cadenas de texto y puede contener mximo 4 elementos (con ndices 0, 1, 2 y 3).
Algoritmia y programacin
Universidad del Valle Slide 17
Declarando Arreglos
String nombres[] = new String [4];
Define un arreglo llamado nombres, que almacena cadenas de texto y puede contener mximo 4 elementos (con ndices 0, 1, 2 y 3).
Algoritmia y programacin
Universidad del Valle Slide 18
Declarando Arreglos
String nombres[] = new String [4];
Define un arreglo llamado nombres, que almacena cadenas de texto y puede contener mximo 4 elementos (con ndices 0, 1, 2 y 3).
Declarando arreglos
TipoDeDato nombre[] = new TipoDeDato [n];
Los arreglos definidos de esta forma no estn inicializados, es decir, no contienen ningn valor, lo cual se representa con null si es String o con 0 si es int o double.
Algoritmia y programacin
Universidad del Valle Slide 20
Declarando arreglos
TipoDeDato nombre[] = new TipoDeDato [n];
Los arreglos definidos de esta forma no estn inicializados, es decir, no contienen ningn valor, lo cual se representa con null si es String o con 0 si es int o double.
String nombres[] = new String [4];
Algoritmia y programacin
Universidad del Valle Slide 21
Declarando arreglos
TipoDeDato nombre[] = new TipoDeDato [n];
Los arreglos definidos de esta forma no estn inicializados, es decir, no contienen ningn valor, lo cual se representa con null si es String o con 0 si es int o double.
String nombres[] = new String [4];
Algoritmia y programacin
Universidad del Valle Slide 22
Declarando e inicializando
Declarar e inicializar un arreglo se hace de la siguiente forma: TipoDeDato nombre[] = { val1, val2, , valn}; Esto crea e inicializa un arreglo de n elementos con valores val1, val2, , valn. Ejemplos: String nombres[ ] = {Oscar, Juan, John, Carlos}; double notas[ ] = { 5.0, 4.0, 5.0}; int edadEstudiantes[ ] = {18, 21, 17};
Algoritmia y programacin
Universidad del Valle Slide 23
Algoritmia y programacin
Universidad del Valle Slide 24
Insercin de datos
Para ingresar datos en un arreglo se debe indicar la posicin(ndice) del arreglo en el que se va insertar el valor:
nombreArreglo[posicin] = valor;
Nota: No importa el orden en el cual se guardan los datos en el arreglo.
Algoritmia y programacin
Universidad del Valle Slide 25
Insercin de datos
String nombres[] = new String [4];
Cuando se crea un arreglo de cadenas de texto, ste no tiene ningn valor, lo cual se indica con la palabra null.
Algoritmia y programacin
Universidad del Valle Slide 26
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah;
Algoritmia y programacin
Universidad del Valle Slide 27
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan;
Algoritmia y programacin
Universidad del Valle Slide 28
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; nombres[?] = Oscar;
Algoritmia y programacin
Universidad del Valle Slide 29
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; nombres[0] = Oscar;
Algoritmia y programacin
Universidad del Valle Slide 30
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; nombres[0] = Oscar;
Algoritmia y programacin
Universidad del Valle Slide 31
Insercin de datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; nombres[0] = Oscar;
Algoritmia y programacin
Universidad del Valle Slide 32
Insercin de datos
Cul es el error en cada una de las lneas? int arreglo[ ] = new int [5]; arreglo[0] = 21.2;
arreglo[5] = 90;
Arreglo[2] = 10;
Algoritmia y programacin
Universidad del Valle Slide 33
Insercin de datos
double notas[]=new double[3];
notas[?]=?;
notas[?]=?; notas[?]=?;
Cules son las instrucciones necesarias para obtener el arreglo que se muestra abajo?
2.7
Algoritmia y programacin
Universidad del Valle
3.1
2.5
Slide 34
Insercin de datos
double notas[]=new double[3];
notas[0]=2.7;
notas[1]=3.1; notas[2]=2.5;
Cules son las instrucciones necesarias para obtener el arreglo que se muestra abajo?
2.7
Algoritmia y programacin
Universidad del Valle
3.1
2.5
Slide 35
Extraccin de datos
Para recuperar datos de un arreglo se debe indicar la posicin(ndice) del arreglo que se quiere conocer:
nombreArreglo[posicin]
Algoritmia y programacin
Universidad del Valle Slide 36
Extraccin de datos
JOptionPane.showMessageDialog(null, El valor en la posicin 2 es + nombres[2]);
Algoritmia y programacin
Universidad del Valle Slide 37
Extraccin de datos
int arreglo[ ] = new int [5]; arreglo[0] = 21 ; arreglo[1] = arreglo[0] + 90; arreglo[2] = 10 * arreglo[1];
Algoritmia y programacin
Universidad del Valle Slide 38
Algoritmia y programacin
Universidad del Valle Slide 39
Luego, muestre solo los nmeros almacenados en posiciones pares y, muestre los nmeros impares contenidos en el arreglo
Algoritmia y programacin
Universidad del Valle Slide 40
Algoritmia y programacin
Universidad del Valle Slide 41
numeros[99]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));
Algoritmia y programacin
Universidad del Valle Slide 42
Algoritmia y programacin
Universidad del Valle Slide 43
Algoritmia y programacin
Universidad del Valle Slide 44
for (int i=0; i<=99; i=i+1){ mensaje=mensaje + " \t " + numeros[i]; } JOptionPane.showMessageDialog(null, mensaje);
Algoritmia y programacin
Universidad del Valle Slide 45
Algoritmia y programacin
Universidad del Valle Slide 46
Algoritmia y programacin
Universidad del Valle Slide 47
Algoritmia y programacin
Universidad del Valle Slide 48
Ejemplo 1:
Escriba un programa en Java que solicite los nombres de cada estudiante de cualquier curso y los muestre todos de forma numerada al final. Use un arreglo para almacenar el nombre de cada estudiante.
Algoritmia y programacin
Universidad del Valle Slide 49
Ejemplo 1: Anlisis
* Entradas: * Salidas
Algoritmia y programacin
Universidad del Valle Slide 50
Ejemplo 1: Anlisis
* Entradas: n, nombres[] * Salidas: lista con todos los nombres enumerados.
Algoritmia y programacin
Universidad del Valle Slide 51
Ejemplo 1: Anlisis
* Debemos capturar los nombres de n estudiantes. por lo tanto requerimos primero conocer el valor de n para saber cul ser el tamao del arreglo. * El arreglo ser un arreglo de datos tipo String de tamao n. La salida del programa ser un String que contendr la lista numerada de los nombres de los estudiantes.
Algoritmia y programacin
Universidad del Valle Slide 52
Ejemplo 1: Pseudocdigo
INICIO n,i: entero lista="", nombres[]: texto
Algoritmia y programacin
Universidad del Valle Slide 53
Ejemplo 1: Pseudocdigo
INICIO n,i: entero lista="",nombres[]: texto leer(n)
Algoritmia y programacin
Universidad del Valle Slide 54
Ejemplo 1: Pseudocdigo
INICIO n,i: entero lista="", nombres[]: texto leer(n) //insertamos datos en el arreglo desde i=0 mientras i<n incrementando i en 1 Haga leer(nombres[i]) Fin desde
Algoritmia y programacin
Universidad del Valle Slide 55
Ejemplo 1: Pseudocdigo
INICIO n,i: entero lista="", nombres[]: texto leer(n) //insertamos datos en el arreglo desde i=0 mientras i<n incrementando i en 1 Haga leer(nombres[i]) Fin desde //Formamos la salida desde i=0 mientras i<n incrementando i en 1 haga lista = lista+(i+1)+nombres[i]+\n Fin desde
Algoritmia y programacin
Universidad del Valle Slide 56
Ejemplo 1: Pseudocdigo
INICIO n,i: entero lista="", nombres[]: texto leer(n) //insertamos datos en el arreglo desde i=0 mientras i<n incrementando i en 1 Haga leer(nombres[i]) Fin desde //Formamos la salida desde i=0 mientras i<n incrementando i en 1 haga lista= lista+(i+1)+nombres[i]+\n Fin desde imprimir (salida) FIN
Algoritmia y programacin
Universidad del Valle Slide 57
Algoritmia y programacin
Universidad del Valle Slide 58
Ejemplo 2
Desarrolle un programa en JAVA que permita leer el nombre de 10 productos de una tienda y su correspondiente precio. La aplicacin debe decir cuntos de ellos cuestan ms de 3000 pesos y mostrar su nombre, precio y posicin en pantalla. Utilice arreglos para almacenar los precios y nombres de productos
Algoritmia y programacin
Universidad del Valle Slide 60
Ejemplo 1: Anlisis
* Entradas: productos[], precios[] * Salidas: producto, precio, posicin.
Algoritmia y programacin
Universidad del Valle Slide 61
Algoritmia y programacin
Universidad del Valle Slide 62
Algoritmia y programacin
Universidad del Valle Slide 63
Algoritmia y programacin
Universidad del Valle Slide 64
4. Ejercicios de Repaso
Algoritmia y programacin
Universidad del Valle Slide 65
2) Escriba un programa en Java que dada una lista de enteros y un valor x por parte del usuario, diga cuntas veces x aparece en la lista. El programa como salida debe mostrar la lista ingresada por el usuario e indicar cuntas veces aparece el valor x y en cules posiciones.
Algoritmia y programacin
Universidad del Valle Slide 66
Desarrolle un programa que recorra un arreglo de enteros, evale si sus datos son mltiplos de 7 y los muestre en pantalla.
Algoritmia y programacin
Universidad del Valle Slide 67
Utilice un arreglo de enteros de 10 elementos para almacenar la frecuencia con la que ocurre cada calificacin.
Algoritmia y programacin
Universidad del Valle Slide 68