Escuela de Ingeniera
Departamento de Ciencia de la Computacin
Arrays
Un contenedor de variables
Ral Montes T.
1
Ejercicio
10
11
12
El largo es 13
identificador de la
variable
int[] numeros;
char[] vocales;
Arreglo de chars
Persona[] personas;
int[] numeros;
10
Largo de un arreglo
atributo que almacena
el largo del arreglo
int[] numeros = new int[5];
System.out.println(numeros.length);
// imprime 5
11
12
13
14
int numero0 = 0;
int numero1 = 0;
int numero2 = 0;
numero0 = 10;
System.out.println(numero0);
15
16
Ahora s, poh!
17
18
{"hip", "hip"}
es un hip hip array!
20
Cuidado con
intentar obtener o guardar un elemento en un ndice
fuera del rango
char[] vocales = {'a', 'e', 'i', 'o', 'u'};
System.out.println(vocales[-1]); // slo tenemos desde ndice 0
System.out.println(vocales[5]); // slo tenemos hasta ndice 4
21
Ejercicios
22
Ejercicio
23
Ejercicio
24
Ejercicio
Genera un arreglo de enteros aleatorios y luego
encuentra el largo e ndice donde comienza la secuencia
montona creciente ms larga
Ej.: { 3, 1, 5, 9, 10, 43, 6, 81, 22 }
La secuencia marcada est compuesta por nmeros en
que el siguiente es siempre mayor que el anterior.
Comienza en el ndice 2 y tiene un largo de 4.
25
Ejemplo
Escribe un programa que represente un mazo de
cartas y lo baraje (como se muestra en la foto) tantas
veces como el usuario indique
Ejercicio
Ticketbastard quiere rehacer su sistema de venta de
entradas. Para ello, te pide que crees un programa en el
que se le pueda, primero, especificar el nombre del
evento a vender y las categoras de entradas que ofrecen
(cada categora indica ubicacin (galera, cancha, etc.),
precio y cantidad de entradas disponibles) y, luego, sea
posible ir vendiendo estas entradas a medida que un
cliente realiza una determinada compra.
27
Ejemplo
Una municipalidad le pide a la empresa Dynamic
Computer Connections (DCC) un presupuesto
para conectar a Internet a sus establecimientos
educacionales. Se sabe que se necesitan 30 Kbps
por cada estudiante y se conocen las cantidades de
estudiantes de cada establecimiento. Adems, DCC
cuenta slo con 3 planes, de 10, 15 y 30 Mbps que
tienen un valor de $15.000, $20.000 y $30.000
mensuales respectivamente. Especifique los pasos
necesarios para obtener un presupuesto de Internet
para todos los establecimientos por un ao.
ao
28
Ejemplo
Dynamic Computer Connections S.A.
Presupuesto para 5 colegios:
Liceo Villa Macul Academia: $30.000 (Plan Super 30)
Colegio Millant: $15.000 (Plan Super 10)
29
31
Arreglos
bidimensionales
aka Matrices en Matemticas
Corresponden a un arreglo de objetos que son
arreglos!
char[][] burbujas = new char[10][10];
burbujas[0][0] = 'a';
burbujas[5][8] = 'v';
// tambin puede ser especificado directamente
char[][] otrasBurbujas = {{'a','v','y'},{'c', 'a','e'}};
32
Arreglos
bidimensionales
aka Matrices en Matemticas
Corresponden a un arreglo de objetos que son
arreglos!
// no es necesario especificar la otra dimensin de inmediato
char[][] masBurbujas = new char[5][];
masBurbujas[0] = new char[3];
// ni tampoco tienen que ser regulares
masBurbujas[1] = new char[9];
33
Ejercicio
34
Ejercicio
Encontrar los mximos locales de altura en un terreno
representado en una matriz (que debe generar
aleatoriamente). Un mximo local es un punto en el cual
todos sus puntos vecinos son de menor altura
35
Misin: imposible
36
Ejercicio
Crea una clase que represente las elevaciones de un
terreno. Cada punto del terreno es un entero que
representa la cantidad de metros que tiene el terreno en
ese punto. Luego, adele mtodos que permitan
modificar el terreno realizando elevaciones en un punto,
indicando la cantidad de metros a elevar. Estas elevaciones
funcionan como en la siguiente figura:
37
Ejercicio
38