Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
UNIDIMENSIONALES
CONTENIDO
Algoritmia y programacin
Universidad del Valle Slide 2
Definiendo los arreglos unidimensionales.
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.
Algoritmia y programacin
Universidad del Valle Slide 4
Para qu sirven los arreglos?
Los arreglos permiten manejar de forma sencilla y directa
conjuntos de datos del mismo tipo, de los cuales
conocemos su cantidad y con los cuales se realizarn
operaciones similares.
Algoritmia y programacin
Universidad del Valle Slide 5
Para qu sirven los arreglos?
Ejemplo1: Escriba un programa en Java que solicite los
nombres de cada estudiante del curso y los muestre todos
al final.
Algoritmia y programacin
Universidad del Valle Slide 6
Para qu sirven los arreglos?
Ejemplo1: Escriba un programa en Java que solicite los
nombres de cada estudiante del curso y los muestre todos
al final.
Algoritmia y programacin
Universidad del Valle Slide 7
Para qu sirven los arreglos?
Ejemplo2: Escriba un programa en Java que solicite los
nombres de cada estudiante de cualquier curso y los
muestre todos al final.
Sin arreglos tendramos que declarar un nmero
arbitrariamente grande de variables de tipo String (100?,
200?) de tal forma que nunca hubiera ms estudiantes
que variables del programa.
Algoritmia y programacin
Universidad del Valle Slide 8
Para qu sirven los arreglos?
Ejemplo2: Escriba un programa en Java que solicite los
nombres de cada estudiante de cualquier curso y los
muestre todos al final.
Sin arreglos tendramos que declarar un nmero
arbitrariamente grande de variables de tipo String (100?,
200?) de tal forma que nunca hubiera ms estudiantes
que variables del programa.
Algoritmia y programacin
Universidad del Valle Slide 9
Arreglos: Espacios ordenados
Un arreglo se puede ver como un conjunto de espacios
finitos donde se almacenan elementos (todos del mismo
tipo).
Un arreglo tambin puede verse como cajas ordenadas en
fila y numeradas, donde en cada caja se almacena un solo
elemento u objeto.
0 1 2
ndice del arreglo
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
Cules son arreglos?
Algoritmia y programacin
Universidad del Valle Slide 12
Cules son arreglos?
Algoritmia y programacin
Universidad del Valle Slide 13
Cules son arreglos?
Algoritmia y programacin
Universidad del Valle Slide 14
2. Los Arreglos y Java
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];
Ejemplos:
String nombres[ ] = new String [4];
double notas[ ] = new double [5];
int edadEstudiantes[ ] = new int [3];
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).
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.
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.
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:
Algoritmia y programacin
Universidad del Valle Slide 24
Insercin de datos
nombreArreglo[posicin] = valor;
Algoritmia y programacin
Universidad del Valle Slide 25
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 26
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 27
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 28
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 29
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 30
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 31
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 32
Insercin de datos
Algoritmia y programacin
Universidad del Valle Slide 33
Insercin de datos
0 1 2
Algoritmia y programacin
Universidad del Valle Slide 34
Insercin de datos
0 1 2
Algoritmia y programacin
Universidad del Valle 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
Algoritmia y programacin
Universidad del Valle Slide 38
3. Trabajando con arreglos
Algoritmia y programacin
Universidad del Valle Slide 39
3. Trabajando con arreglos
Presente el conjunto de instrucciones Java para
crear un arreglo de enteros de tamao 100
Adicione las instrucciones que necesite para solicitar
al usuario cada uno de los 100 nmeros
despus, muestre todos los nmeros en un solo
mensaje
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
3. Trabajando con arreglos
Presente el conjunto de instrucciones Java para
crear un arreglo de enteros de tamao 100
Adicione las instrucciones que necesite para solicitar
al usuario cada uno de los 100 nmeros
Algoritmia y programacin
Universidad del Valle Slide 41
3. Trabajando con arreglos
numeros[0]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));
numeros[1]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));
...
numeros[99]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));
Algoritmia y programacin
Universidad del Valle Slide 42
3. Trabajando con arreglos
Algoritmia y programacin
Universidad del Valle Slide 43
3. Trabajando con arreglos
Presente el conjunto de instrucciones Java para
crear un arreglo de enteros de tamao 100
Adicione las instrucciones que necesite para solicitar
al usuario cada uno de los 100 nmeros
despus, muestre todos los nmeros en un solo
mensaje
Algoritmia y programacin
Universidad del Valle Slide 44
3. Trabajando con arreglos
Presente el conjunto de instrucciones Java para
crear un arreglo de enteros de tamao 100
Adicione las instrucciones que necesite para solicitar
al usuario cada uno de los 100 nmeros
despus, muestre todos los nmeros en un solo
mensaje
String mensaje= "";
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
Los arreglos y el ciclo for
Un arreglo se procesa generalmente usando un ciclo for:
Algoritmia y programacin
Universidad del Valle Slide 46
Los arreglos y el ciclo for
Un arreglo se procesa generalmente usando un ciclo for:
Algoritmia y programacin
Universidad del Valle Slide 47
Los arreglos y el ciclo for
b.length indica la cantidad de elementos del
arreglo.
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[]
Algoritmia y programacin
Universidad del Valle Slide 51
Ejemplo 1: Anlisis
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
Ejemplo 1: Programa en Java
import javax.swing.*;
n =Integer.parseInt(JOptionPane.showInputDialog(
"Ingrese el nmero de estudiantes del curso: "));
Algoritmia y programacin
Universidad del Valle Slide 58
Ejemplo 1: Programa en Java
// Ingreso de los nombres de los estudiantes
for (i=0; i < nombres.length; i++){
nombres [i] = JoptionPane.showInputDialog(
"Ingrese el nombre del estudiante "
+ (i+1) + ": ");
}
JOptionPane.showMessageDialog(null, lista);
}// fin mtodo main
} // Fin clase
Algoritmia y programacin
Universidad del Valle Slide 59
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.
Algoritmia y programacin
Universidad del Valle Slide 60
Ejemplo 1: Anlisis
Algoritmia y programacin
Universidad del Valle Slide 61
Ejemplo 2: Programa en Java
import javax.swing.JOptionPane;
Algoritmia y programacin
Universidad del Valle Slide 62
Ejemplo 2: Programa en Java
import javax.swing.JOptionPane;
//ingresarProductos
for (int i=0 ; i<10; i++){
productos[i] = JOptionPane.showInputDialog("Ingrese el
articulo "+i);
precios[i]=Integer.parseInt(JOptionPane.showInputDialog
( Ingrese precio"+i));
}
Algoritmia y programacin
Universidad del Valle Slide 63
Ejemplo 2: Programa en Java
//calcularMayores
salida="Los siguientes artculos cuestan mas de $3000 \n";
//mostrarDatos
JOptionPane.showMessageDialog(null,salida);
Algoritmia y programacin
Universidad del Valle Slide 64
4. Ejercicios de Repaso
Algoritmia y programacin
Universidad del Valle Slide 65
Ejercicios a realizar con arreglos
Algoritmia y programacin
Universidad del Valle Slide 66
Ejercicios a realizar con arreglos
Ejercicios adicionales:
En una competencia de natacin se desea implementar una
aplicacin para almacenar el tiempo por cada competidor y
adems determinar con base en todos los tiempos de los
competidores cual es el ganador. El usuario debe
especificar cuantos tiempos (competidores) desea ingresar.
Algoritmia y programacin
Universidad del Valle Slide 67
Ejercicios a realizar con arreglos
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: