Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
1. Conceptos preliminares.
2. Qu son los arreglos? 3. Cmo se definen? 4. Cmo almacenar y leer datos? 5. Ejercicios
Algoritmia y programacin
Universidad del Valle Slide 2
Qu es un arreglo?
Un arreglo es una lista de datos con un nmero fijo de componentes, todos del mismo tipo. Cada componente del arreglo es referenciado mediante ndices (0, 1, 2, 3, ...) o expresiones ordinales encerradas entre corchetes [ ].
Algoritmia y programacin
Universidad del Valle Slide 3
Algoritmia y programacin
Universidad del Valle Slide 4
Algoritmia y programacin
Universidad del Valle Slide 5
Algoritmia y programacin
Universidad del Valle Slide 6
ES
EF I
C IE N
TE !
Luis
Juan
Algoritmia y programacin
Universidad del Valle Slide 7
Para Recordar...
* Un arreglo se usa para almacenar elementos del mismo tipo y tiene un 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 8
Algoritmia y programacin
Universidad del Valle Slide 9
Algoritmia y programacin
Universidad del Valle Slide 10
Algoritmia y programacin
Universidad del Valle Slide 12
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 los 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 13
Algoritmia y programacin
Universidad del Valle Slide 14
Almacenamiento de Datos
Para ingresar datos en un arreglo se debe indicar el valor y la posicin del arreglo donde se va insertar:
nombreArreglo[posicin] = valor;
Nota: No importa el orden en el cual se almacenan o ingresan los datos en el arreglo.
Algoritmia y programacin
Universidad del Valle Slide 15
Almacenamiento de Datos
Almacene el nombre Sara en la posicin 1 del arreglo nombres. String nombres[] = new String [4]; Nombres[1] = Sarah;
Nota: Cuando se crea un arreglo,ste no tiene ningn valor. Cuando el arreglo es de String esto se indica con la palabra null.
Algoritmia y programacin
Universidad del Valle Slide 16
Almacenamiento de Datos
Almacene el nombre Juan en la posicin 2 del arreglo nombres. String nombres[] = new String [4]; Nombres[1] = Sarah; Nombres[2] = Juan;
Algoritmia y programacin
Universidad del Valle Slide 17
Almacenamiento de Datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; Cul debe ser el nombres[?] = Oscar; ndice?
Algoritmia y programacin
Universidad del Valle Slide 18
Almacenamiento de Datos
String nombres[] = new String [4]; nombres[1] = Sarah; nombres[2] = Juan; No importa el orden nombres[0] = Oscar; en el cual se guardan los datos en el arreglo!
Algoritmia y programacin
Universidad del Valle Slide 19
Almacenamiento de Datos
String nombres[] = new String [4]; nombres[1] = Sarah; La instruccin nombres[2] = Juan; nombres[4]=Jose; nombres[0] = Oscar; es vlida?
Algoritmia y programacin
Universidad del Valle Slide 20
Almacenamiento de Datos
int arreglo[ ] = new int [5];
Cul es el error en cada instruccin? Arreglo[0] = 21.2; Arreglo[5] = 90; arreglo[2] = arreglo [-1] + 10;
Algoritmia y programacin
Universidad del Valle Slide 21
Lectura de Datos
Para leer o recuperar los datos de un arreglo se debe indicar la posicin del arreglo que se quiere conocer:
nombreArreglo[posicin]
String nombres[ ] = {Oscar, Sara, Juan,Pepe};
Lectura de Datos
JOptionPane.showMessageDialog(null, El valor en la posicin 2 es + nombres[2]); Pepe
Algoritmia y programacin
Universidad del Valle Slide 23
Algoritmia y programacin
Universidad del Valle Slide 24
Algoritmia y programacin
Universidad del Valle Slide 25
Ejemplo 1:
Escriba un programa en Java que solicite los nombres de cada estudiante de un curso y los imprima de forma numerada al final. Use un arreglo para almacenar el nombre de cada estudiante.
Algoritmia y programacin
Universidad del Valle Slide 26
Ejemplo 1: Anlisis
Entrada: 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 de datos tipo String de tamao n. Salida: un String que contendr la lista numerada de los nombres de los estudiantes.
Algoritmia y programacin
Universidad del Valle Slide 27
Ejemplo 1: Pseudocdigo
INICIO n,i: entero salida, 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 salida=concatenar(salida,i+1, nombres[i], \n) Fin desde imprimir (salida) FIN
Algoritmia y programacin
Universidad del Valle Slide 28
Algoritmia y programacin
Universidad del Valle Slide 29
Ejemplo 2:
Escriba un programa en Java que lea una lista de n enteros y retorne el nmero mayor de la lista.
Algoritmia y programacin
Universidad del Valle Slide 31
Ejemplo 2: Anlisis
Entrada: Debemos capturar el valor de n nmeros enteros. por lo tanto es necesario primero conocer el valor de n para saber cul ser el tamao del arreglo. El arreglo ser de datos tipo int de tamao n. Salida: un String que contendr la lista de nmeros ingresados por el usuario y el del nmero mayor en la lista.
Algoritmia y programacin
Universidad del Valle Slide 32
Ejemplo 2: Pseudocdigo I
INICIO n,mayor, lista[]: entero salida: texto leer(n) //Insertamos datos en el arreglo Desde i=0 mientras i<n incrementando i en 1 Haga leer(lista[i]) Fin desde //Buscamos el numero mayor mayor = lista[0] Desde i=1 mientras i<n incrementando i en 1 Haga SI mayor < lista[i] Entonces mayor = lista[i] Fin desde
Algoritmia y programacin
Universidad del Valle Slide 33
Ejemplo 2: Pseudocdigo II
//Formamos la salida Desde i=0 mientras i<n incrementando i en 1 Haga Salida= salida + lista[i]+ \n Fin desde imprimir (salida + mayor) FIN
Algoritmia y programacin
Universidad del Valle Slide 34
Algoritmia y programacin
Universidad del Valle Slide 35
Ejercicios de Repaso
1) Escriba un programa en Java que lea una lista de n enteros, los ordene de mayor a menor y calcule el promedio de los datos ingresados. 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 37
Ejercicios de Repaso
3) La Universidad del Valle requiere un programa que le permita conocer cmo califican los estudiantes la comida de la cafetera central. Para ello defini una escala de 1 a 10 (1 denota horrible y 10 denota excelente). El programa debe ser capaz capturar la calificacin de cualquier nmero de estudiantes (no se sabe cuntos estudiantes se encuestarn, as que cuando el encuestador ingrese la calificacin de 0, se sabr que la encuesta habr concluido). El programa deber mostrar en su salida cuntos estudiantes fueron encuestados as como el resumen de la encuesta con histograma as: Estudiantes encuestados: 111 Frecuencia de las calificaciones: Calificacin nm. Estudiantes 1 3 2 2 3 10 8 9 9 15 10 7
Utilice un arreglo de enteros de 10 elementos para capturar la frecuencia con la que ocurre cada calificacin.
Algoritmia y programacin
Universidad del Valle Slide 38