Está en la página 1de 81

ARREGLOS

UNIDIMENSIONALES

CONTENIDO
Arreglos Unidimensionales Qu son Cmo se declaran Cmo se insertan y leen datos Ejemplos

EISC
Universidad del Valle Slide 2

ARREGLOS
Que es un arreglo?

Es un conjunto de datos, todos del mismo tipo, a los que se referencia bajo el mismo nombre

EISC
Universidad del Valle Slide 3

ARREGLOS
Que es un arreglo?

Es un conjunto de datos, todos del mismo tipo, a los que se referencia bajo el mismo nombre
nombres ={Oscar, Juan, Luz, Carlos};

EISC
Universidad del Valle Slide 4

ARREGLOS
Que es un arreglo?

Es un conjunto de datos, todos del mismo tipo, a los que se referencia bajo el mismo nombre Representacin: Un arreglo se puede ver como un conjunto de espacios donde se almacenan los elementos. La representacin grfica es la siguiente: Nombre_arreglo

EISC
Universidad del Valle Slide 5

ARREGLOS
Que es un arreglo?

Es un conjunto de datos, todos del mismo tipo, a los que se referencia bajo el mismo nombre
nombres ={Oscar, Juan, Luz, Carlos};

nombres Oscar Juan Luz Carlos

EISC
Universidad del Valle Slide 6

ARREGLOS
Que es un arreglo?

Es un conjunto de datos, todos del mismo tipo, a los que se referencia bajo el mismo nombre
nombres ={Oscar, Juan, Luz, Carlos};

nombres Oscar Juan Luz Carlos

nombres es un arreglo de String que tiene 4 elementos


EISC
Universidad del Valle Slide 7

nombres={Oscar, Juan, , Carlos};

Se define un solo conjunto llamado Nombres

EISC
Universidad del Valle Slide 8

ARREGLOS
nombres ={Oscar, Juan, Luz, Carlos};

notas={3.5 , 4.0 , 5.0, 4.2};

EISC
Universidad del Valle Slide 9

ARREGLOS
nombres ={Oscar, Juan, Luz, Carlos}; notas={3.5 , 4.0 , 5.0, 4.2}; notas

3.5

4.0

5.0

4.2

nombres es un arreglo de Strings que tiene 4 elementos


notas es un arreglo de doubles que tiene 4 elementos

EISC
Universidad del Valle Slide 10

ARREGLOS
nombres
0 1 2 3

Oscar

Juan

Luz

Carlos

Los nmeros indican las posiciones donde est cada elemento Cada elemento se guarda en una posicin especfica

EISC
Universidad del Valle Slide 11

ARREGLOS
notas
0 1 2 3

3.5

4.0

5.0

4.2

Las posiciones siempre son nmeros enteros que inician en 0

EISC
Universidad del Valle Slide 12

ARREGLOS
Es esto un arreglo?
0 1

-4

EISC
Universidad del Valle Slide 13

ARREGLOS
Es esto un arreglo?
0 1 2 3 4

5.0

13.0

3.1

3.1

10.1

EISC
Universidad del Valle Slide 14

ARREGLOS
Es esto un arreglo?
0 1 2 3

Sarah

Oscar

24

26

EISC
Universidad del Valle Slide 15

ARREGLOS
Cmo definir un arreglo uni-dimensional

EISC
Universidad del Valle Slide 16

ARREGLOS
Cmo definir un arreglo uni-dimensional

tipoDeDato nombre[]=new tipoDeDato[n];


donde n es la capacidad el tamao del arreglo;

EISC
Universidad del Valle Slide 17

ARREGLOS
Cmo definir un arreglo uni-dimensional

tipoDeDato nombre[]=new tipoDeDato[n];


donde n es la capacidad el tamao del arreglo;
String nombres[]=new String[4];
double notas[]=new double[4];

EISC
Universidad del Valle Slide 18

ARREGLOS
Cmo definir un arreglo uni-dimensional

tipoDeDato nombre[]=new tipoDeDato[n];


donde n es la capacidad del arreglo;
String nombres[]=new String[4];
Define un arreglo llamado Nombres, almacena Strings y puede tener mximo 4 elementos

EISC
Universidad del Valle Slide 19

ARREGLOS
Nombres
0 1 2 3

String nombres[]=new String[4];

EISC
Universidad del Valle Slide 20

ARREGLOS
Cmo definir un arreglo uni-dimensional

tipoDeDato nombre[]=new tipoDeDato[n];


donde n es la capacidad del arreglo;
double notas[]=new double[4]; Define un arreglo llamado Notas, almacena nmeros reales y puede tener mximo 4 elementos

EISC
Universidad del Valle Slide 21

ARREGLOS
notas
0 1 2 3

double notas[]=new double[4];

EISC
Universidad del Valle Slide 22

ARREGLOS
Cmo sera la definicin del siguiente arreglo?
edades

18
0

24
1

19
2

EISC
Universidad del Valle Slide 23

ARREGLOS
Cmo sera la definicin del siguiente arreglo?
edades

18
0

24
1

19
2

int edades[ ]=new int[3];

EISC
Universidad del Valle Slide 24

ARREGLOS
Por qu estas declaraciones no son correctas?
String[] nombres = {Oscar, 100 , Sofia , A ); String[] nombres = {Oscar, 100 , Sofia , double valores = new String [4]; A );

EISC
Universidad del Valle Slide 25

ARREGLOS
Por qu estas declaraciones no son correctas?
String[] nombres = {Oscar, 100 , Sofia , A ); String[] nombres = {Oscar, 100 , Sofia , double valores = new String [4]; A );

EISC
Universidad del Valle Slide 26

ARREGLOS
Despus de la definicin de un arreglo, ste no tiene ningn valor, lo cual se representa con la palabra null si es de String, y 0 si es int o double
int edades[ ]=new int[3];

EISC
Universidad del Valle Slide 27

ARREGLOS
Despus de la definicin de un arreglo, ste no tiene ningn valor, lo cual se representa con la palabra null si es de String y 0 si es int o double
int edades[ ]=new int[3];
0 1 2

EISC
Universidad del Valle Slide 28

ARREGLOS
nombres
0 null 1 null 2 null 3 null

String nombres[]=new String[4];

EISC
Universidad del Valle Slide 29

ARREGLOS
Representacin en el diagrama de clases

JOptionPane showMessageDialog(); showInputDialog();

usa

Estudiantes String[] nombres; ingresarNombres();

usa

Curso main();

usa
System exit();

EISC
Universidad del Valle Slide 30

ARREGLOS
Cmo ingresar datos a un arreglo uni-dimensional

EISC
Universidad del Valle Slide 31

ARREGLOS
Cmo ingresar datos a un arreglo uni-dimensional
Debe indicar en qu posicin del arreglo va a insertar el valor

nombreDelArreglo[posicion]=valor;

EISC
Universidad del Valle Slide 32

ARREGLOS
String nombres[]=new String[4];

Cuando se crea un arreglo, ste no tiene ningn valor, lo cual se indica con la palabra null
0 1 2 3

null
EISC
Universidad del Valle

null

null

null

Slide 33

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah;

Guarde el texto Sarah en la posicin 1 del arreglo

null
EISC
Universidad del Valle

null

null

null

Slide 34

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah;

Guarde el texto Sarah en la posicin 1 del arreglo

null
EISC
Universidad del Valle

Sarah

null

null

Slide 35

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah; nombres[2]=Juan;

Qu cambia en el arreglo?

null
EISC
Universidad del Valle

Sarah

null

null

Slide 36

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah; nombres[2]=Juan;

null
EISC
Universidad del Valle

Sarah

Juan

null

Slide 37

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah; nombres[2]=Juan; nombres[?]=Oscar;

Cul debe ser el ndice?

Oscar
EISC
Universidad del Valle

Sarah

Juan

null

Slide 38

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah; nombres[2]=Juan; nombres[0]=Oscar;

Note que el orden en el cual se guardan los valores NO importa


2 3

Oscar
EISC
Universidad del Valle

Sarah

Juan

null

Slide 39

ARREGLOS
String nombres[]=new String[4];
nombres[1]=Sarah; nombres[2]=Juan; nombres[0]=Oscar;

La instruccin nombres[4]=Jose; genera algn error?


2 3

Oscar
EISC
Universidad del Valle

Sarah

Juan

null

Slide 40

ARREGLOS
double notas[]=new double[3];
notas[?]=?; notas[?]=?; notas[?]=?;

Cules son las instrucciones necesarias para obtener el arreglo que se muestra abajo?

2.7
EISC
Universidad del Valle

3.1

2.5

Slide 41

ARREGLOS
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
EISC
Universidad del Valle

3.1

2.5

Slide 42

ARREGLOS
int [] arreglo = new int[5];

2
arreglo

EISC
Universidad del Valle Slide 43

ARREGLOS
arreglo[0] = 245; arreglo[4] = 18 ; arreglo[2] = 346;

2
arreglo

EISC
Universidad del Valle Slide 44

ARREGLOS
arreglo[0] = 245; arreglo[4] = 18 ; arreglo[2] = 346;

0
245

2
346 arreglo

4
18

EISC
Universidad del Valle Slide 45

ARREGLOS
Cul es el error en cada una de las lneas?: tenga en cuenta cmo se declar el arreglo:
int [] arreglo = new int[5];

arreglo[0] = 21.9; arreglo[5] = 190 ; arreglo[2] = arreglo[-1] + 10;

EISC
Universidad del Valle Slide 46

ARREGLOS
Cul es el error en cada una de las lneas?: tenga en cuenta cmo se declar el arreglo:
int [] arreglo = new int[5];

arreglo[0] = 21.9; arreglo[5] = 190 ; arreglo[2] = arreglo[-1] + 10;

EISC
Universidad del Valle Slide 47

ARREGLOS
Cmo recuperar el valor contenido en un lugar del arreglo

EISC
Universidad del Valle Slide 48

ARREGLOS
Cmo recuperar el valor contenido en un lugar del arreglo
Debe indicar la posicin del arreglo que quiere conocer

nombreDelArreglo[posicion]

EISC
Universidad del Valle Slide 49

ARREGLOS

nombres
0 1 2 3

Oscar

Sarah

Juan

null

EISC
Universidad del Valle Slide 50

ARREGLOS
nombres[2] indica que el valor en la posicin 2 es Juan

Oscar

Sarah

Juan

null

EISC
Universidad del Valle Slide 51

ARREGLOS
JOptionPane.showMessageDialog(null, El valor en la posicion 2 es + nombres[2]);

Oscar

Sarah

Juan

null

EISC
Universidad del Valle Slide 52

ARREGLOS
JOptionPane.showMessageDialog(null, El valor en la posicion 2 es + nombres[2]);

Oscar

Sarah

Juan

null

EISC
Universidad del Valle Slide 53

ARREGLOS

JOptionPane showMessageDialog(); showInputDialog();

usa

Estudiantes String[] nombres; obtenerNombres();

usa

Curso main();

usa
System exit();

EISC
Universidad del Valle Slide 54

ARREGLOS
public class Estudiantes{ String[] nombres = {Oscar, Juan, Sofia, Ana}; public void obtenerNombres(){ JOptionPane.showMessageDialog(null, "El 4to nombre es " + nombres[3]);
JOptionPane.showMessageDialog(null, "El 3er nombre es " + nombres[2]); JOptionPane.showMessageDialog(null,"El 2do nombre es " + nombres[1]); JOptionPane.showMessageDialog(null,"El 1er nombre es " + nombres[0]);

} }

EISC
Universidad del Valle Slide 55

ARREGLOS
public class Curso{
public static void main (String args[]){ Estudiantes estObj = new Estudiantes(); estObj.obtenerNombres(); System.exit(0); } }

EISC
Universidad del Valle Slide 56

EJEMPLOS

EISC
Universidad del Valle Slide 57

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 en un rea de texto, todos los nmeros

Luego, muestre en el rea de texto, solo los nmeros almacenados en posiciones pares
y, muestre los nmeros impares contenidos en el arreglo

EISC
Universidad del Valle Slide 58

ARREGLOS
Presente el conjunto de instrucciones Java para crear un arreglo de enteros de tamao 100

EISC
Universidad del Valle Slide 59

ARREGLOS
Presente el conjunto de instrucciones Java para crear un arreglo de enteros de tamao 100 int numeros[]=new int[100];

EISC
Universidad del Valle Slide 60

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
int numeros[]=new int[100];

EISC
Universidad del Valle Slide 61

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

int numeros[]=new int[100]; numeros[0]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));

EISC
Universidad del Valle Slide 62

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

int numeros[]=new int[100]; numeros[0]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));

numeros[1]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));

EISC
Universidad del Valle Slide 63

ARREGLOS
int numeros[]=new int[100]; 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));

EISC
Universidad del Valle Slide 64

ARREGLOS
int numeros[]=new int[100]; for (int i=0; i<=99; i=i+1){
numeros[i]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor));

EISC
Universidad del Valle Slide 65

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
Ahora, muestre en un rea de texto, todos los nmeros

EISC
Universidad del Valle Slide 66

ARREGLOS
JTextArea miArea = new JTextArea(10,20);
JScrollPane miScroll = new JScrollPane(miArea); miArea.append(\n + numeros[0]);

miArea.append(\n + numeros[1]); ... miArea.append(\n + numeros[99]);

EISC
Universidad del Valle Slide 67

ARREGLOS
JTextArea miArea = new JTextArea(10,20);
JScrollPane miScroll = new JScrollPane(miArea); for (int i=0; i<=99; i=i+1){

miArea.append(\n + numeros[i]); }

EISC
Universidad del Valle Slide 68

public class ArreglosUnidimensionales{


int numeros[]=new int[100];
JTextArea miArea = new JTextArea(10,20); JScrollPane miScroll = new JScrollPane(miArea); public void leerDatos(){

for (int i=0; i<=99; i=i+1){


numeros[i]=Integer.parseInt(JOptionPane.showInputDialog(Ingrese un valor)) } } public void mostrarDatos(){

for (int i=0; i<=99; i=i+1){


miArea.append(\n + numeros[i]);

}
JOptionPane.showMessageDialog(null, miScroll ); }
EISC

}
Slide 69

Universidad del Valle

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
Ahora, muestre en un rea de texto, todos los nmeros

Luego, muestre en el rea de texto, solo los nmeros almacenados en posiciones pares
Ahora, muestre los nmeros impares contenidos en el arreglo

EISC
Universidad del Valle Slide 70

public void calcular (){


int valores[]=new int[4];
double calculo1, calculo2; valores[1]=10;

valores[0]=20;
valores[3]=30; JOptionPane.showMessageDialog(null, valores[3]);

JOptionPane.showMessageDialog(null, valores[2]); calculo1 = (valores[0] + valores[1] + valores[3])/3;


calculo2= (valores[0]*valores[0] + valores[1]*valores[1]); JOptionPane.showMessageDialog(null, calculo1);

JOptionPane.showMessageDialog(null, calculo2);
}
EISC
Universidad del Valle Slide 71

EISC
Universidad del Valle Slide 72

ARREGLOS
Ejercicio: Desarrolle una aplicacin 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 y precio en pantalla. Utilice 2 clases: la clase Tienda y UsaTienda

EISC
Universidad del Valle Slide 73

ARREGLOS
Tienda

String[] nombre; Int[] precio; JTextArea area; JScrollPane scroll; int umbral;
ingresarProductos(); calcularMayores(); mostrarDatos();

usa

UsaTienda main();

usa
JOptionPane showMessageDialog(); showInputDialog();

usa
Integer parseInteger();

usa
System exit();

EISC
Universidad del Valle Slide 74

ARREGLOS
import javax.swing.JOptionPane; import javax.swing.JScrollPane; import javax.swing.JTextArea; public class Tienda { String nombre[] = new String[10]; int precio[] = new int[10]; final int umbral = 3000; JTextArea area = new JTextArea(); JScrollPane scroll = new JScrollPane(area);

EISC
Universidad del Valle Slide 75

ARREGLOS
public void ingresarProductos(){ for (int i=0 ; i<10; i++){ nombre[i] = JOptionPane.showInputDialog("Ingrese el articulo "+i); precio[i] = Integer.parseInt(JOptionPane.showInputDialog("Ingrese precio"+i)); } }

EISC
Universidad del Valle Slide 76

ARREGLOS
public void calcularMayores(){ area.append("Los siguientes articulos cuestan mas de " + umbral + " pesos:\n\n");

for (int j=0 ; j<10 ; j++){ if (precio[j] >umbral){ area.append(nombre[j] + " : +precio[j]+ "\n"); } } }

EISC
Universidad del Valle Slide 77

ARREGLOS
public void mostrarDatos(){ JOptionPane.showMessageDialog(null,scroll); } }

EISC
Universidad del Valle Slide 78

ARREGLOS
public class UsaTienda { public static void main(String args[]) { Tienda miTienda = new Tienda(); miTienda.ingresarProductos(); miTienda.calcularMayores(); miTienda.mostrarDatos();

}
}

EISC
Universidad del Valle Slide 79

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.

Desarrolle un programa que recorra un arreglo de enteros, evale si sus datos son mltiplos de 7 y los muestre en pantalla.

EISC
Universidad del Valle Slide 80