Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Unidad 4 Arreglos PDF
Unidad 4 Arreglos PDF
Unidad 4. Arreglos
Programa de la asignatura:
Programacin orientada a objetos I
Unidad 4. Arreglos
Clave:
Ingeniera: TSU:
15142316 / 16142316
1
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 1
Programacin orientada a objetos I
Unidad 4. Arreglos
ndice
Propsito ........................................................................................................................ 3
4.1.2. Recorrido.............................................................................................................. 7
4.2.2. Recorrido............................................................................................................ 15
2
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 2
Programacin orientada a objetos I
Unidad 4. Arreglos
Unidad 4. Arreglos
Presentacin de la unidad
En esta unidad es necesario que captures todos los programas de ejemplo, para que
analices su sintaxis y as comprendas mejor los temas estudiados.
Propsito
Competencia especfica
3
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 3
Programacin orientada a objetos I
Unidad 4. Arreglos
Un arreglo es una estructura de datos que contiene una serie de variables que se
encuentran en un solo lugar (ese lugar es el arreglo) a las que se accede mediante
ndices, o posiciones del arreglo.
Las variables contenidas en un arreglo, tambin llamadas los elementos del arreglo, son
todas del mismo tipo, y este tipo se llama el tipo de elemento del arreglo. Un arreglo
tiene un rango que determina el nmero de ndices asociados a cada elemento del
arreglo.
El rango de un arreglo tambin se conoce como las dimensiones del arreglo. Un arreglo
con un rango de 1 se denomina arreglo unidimensional. Un arreglo con un rango mayor
que 1 se llama un arreglo multidimensional. Los arreglos multidimensionales con un
tamao especfico se refieren a menudo como arreglos de dos dimensiones, arreglos de
tres dimensiones, y as sucesivamente.
Cada dimensin de un arreglo tiene una longitud asociada que es un nmero entero
mayor o igual a cero. Las longitudes de las dimensiones no son parte del tipo del arreglo,
sino que se establecen cuando una instancia del tipo arreglo se crea en tiempo de
ejecucin. La longitud de una dimensin determina el rango de validez de los ndices de
esa dimensin, por ejemplo para una dimensin de longitud N, los ndices pueden variar
de 0 a N-1. El nmero total de elementos de un arreglo es el producto de las longitudes de
cada dimensin del arreglo. Si una o ms de las dimensiones de un arreglo tienen una
longitud de cero, se dice que el arreglo est vaco. El tipo de elemento de un arreglo
4
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 4
Programacin orientada a objetos I
Unidad 4. Arreglos
puede ser cualquier tipo de dato, incluyendo l mismo (Hejlsberg, 2011, p. 626); es decir,
en lugar de cada posicin contenga un dato, puede contener un arreglo completo.
En el siguiente subtema se expondr cmo se declaran los arreglos, para que comiences
a utilizarlos y en el subsecuente vers cmo manipularlos.
4.1.1. Declaracin
En Java hay que declarar un array (o arreglo, son lo mismo) antes de poder utilizarlo. En
la declaracin es necesario incluir el nombre del array y el tipo datos que se van a
almacenar en l (Froufe, 2009, p. 35).
Adems, como ya se mencion, se pueden usar en Java arrays de cualquier tipo de dato
soportado, incluso los definidos por el usuario, como se muestra a continuacin:
5
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 5
Programacin orientada a objetos I
Unidad 4. Arreglos
array, lo que se guarda es una referencia de la locacin de memoria donde estn alojados
dichos datos. Con lo que se acaba de ver, fcilmente se puede deducir que los arrays son
objetos. Esto se puede analizar a continuacin, a partir de lo que nos indica Froufe (2009,
p. 35):
La memoria necesaria para almacenar los datos que componen el array se buscar en
memoria dinmica a la hora de instanciar y crear realmente el array.
Al igual que con cualquier variable utilizada, en el lenguaje Java necesitan ser
inicializadas a un valor. Bajo esta premisa, cuando se declara (crea) un array en Java se
inicializa automticamente, dependiendo de estos casos:
1. false cuando el tipo de dato es boolean.
2. null para un array de objetos de tipo Object.
3. El equivalente a 0 (vaco para String) para cualquier otro tipo de dato.
6
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 6
Programacin orientada a objetos I
Unidad 4. Arreglos
Una vez que se ha instanciado un array, se puede acceder a los elementos de ste
utilizando un ndice, de forma similar a la que se accede en otros lenguajes de
programacin. Los ndices de un array siempre empiezan por 0 (cero) (Froufe, 2009, p.
35).
4.1.2. Recorrido
Los elementos contenidos en los arrays estn controlados por la posicin que ocupen
dentro del array. As, en el siguiente ejemplo se tiene la declaracin de un array de tipo
String que contiene 4 elementos, refirindose a los nombres propios de 4 personas:
7
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 7
Programacin orientada a objetos I
Unidad 4. Arreglos
Donde se indica al arreglo que se quiere imprimir el valor que est en la posicin i-sima,
esta instruccin se le indica al lenguaje Java cuando se pone el nombre del arreglo con el
cual se quiere trabajar, seguido de la posicin que se desea recuperar (para impresin,
operaciones, clculos, entre otros) encerrado entre corchetes([ ]). La salida de estas
instrucciones escritas en lenguaje Java, al compilar y ejecutar el programa (se obvian las
partes faltantes de la clase por cuestiones didcticas) sera la siguiente:
Imagina la cantidad de lneas necesarias para imprimir el nombre de todos los alumnos
que pertenecen a una universidad cuya matrcula es un total de 5,000 alumnos. Como se
podr deducir fcilmente se necesitaran 5,000 lneas como las anteriores.
Para solucionar la cuestin anterior, de forma un tanto ms sencilla, se utilizan ciclos que
como ya se sabe, facilitan la ejecucin de operaciones secuenciales y repetitivas pero
necesarias, como en el caso de los arrays. Adems de que los ciclos son controlados por
ndices (su comienzo y su fin) y sta es la misma forma de acceder a los elementos de un
array, como ya se haba explicado. A continuacin se presenta la misma impresin del
contenido del array nombres, pero utilizando un ciclo for:
8
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 8
Programacin orientada a objetos I
Unidad 4. Arreglos
Y la salida ser:
Con base en las instrucciones mostradas con el uso del ciclo para recorrer un arreglo, se
introdujeron algunas variaciones para poder hacer el recorrido funcional y se explica a
continuacin: cuando se declara un arreglo se indica el total de elementos que contendr
dentro de l (lmite del arreglo); este mismo lmite es el total de repeticiones que deber
ejecutar el ciclo for, indicado con i<4 (ya que si se indica un nmero mayor, Java lanzar
una excepcin indicando que se intenta acceder a una locacin de memoria no reservada
o inexistente). De igual manera el inicio del array debe comenzar por el nmero 0 (cero) y
esto se indica en el ciclo for al hacer la declaracin i=0 que indica que desde esa posicin
comenzar a iterar.
9
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 9
Programacin orientada a objetos I
Unidad 4. Arreglos
4.1.3. Operaciones
Y se quiere hacer una suma y multiplicacin punto a punto (posicin a posicin) de cada
uno de sus elementos, y almacenarlos en un tercer array para cada operacin sugerida,
luego imprimir el resultado de la acumulacin de las operaciones. Esto se ejemplifica con
la siguiente porcin de cdigo:
10
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 10
Programacin orientada a objetos I
Unidad 4. Arreglos
Ntese la importancia de los ndices para poder acceder a los elementos de los arrays y
de la misma manera para almacenar resultados.
Se puede utilizar un mismo contador para n arrays, siempre y cuando stos sean del
mismo tamao, como se muestra en el ejemplo anterior, donde se sum y multiplic en un
mismo ciclo. Slo en las impresiones, dado que se buscaba que el resultado se viera de
manera independiente, se utilizaron ms ciclos for; tantos como nmeros de resultados
se quieran mostrar.
Los arreglos vistos en el tema anterior slo son de una dimensin, es decir slo se
manejaban a manera de rengln (o fila).
11
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 11
Programacin orientada a objetos I
Unidad 4. Arreglos
En los subtemas previos has visto cmo declarar y manipular arreglos unidimensionales,
a continuacin vers cmo hacerlo para los arreglos multidimensionales.
4.2.1. Declaracin
Recuerda que se pueden definir arrays de cualquier tipo de dato, y que todos los
elementos que estn dentro del array sern del mismo tipo, tambin pueden crearse
arrays de tipos de datos definidos por el programador como en el siguiente ejemplo,
donde el ltimo array declarado es de tipo clsAlumno, que el programador debi definir
previamente.
12
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 12
Programacin orientada a objetos I
Unidad 4. Arreglos
una referencia de la locacin de memoria donde estn alojados dichos datos. Con lo que
se acaba de ver, fcilmente se puede deducir que los arrays son objetos. Cuando se hace
la declaracin de un array en Java se consideran dos posibles opciones: Declararlo vaco
o declarar colocando valores.
Observa que la estructura que se muestra, coincide perfectamente con las dimensiones
declaradas en el arreglo intnumeros[ ][ ] = new int[3][3]; donde el nmero contenido en el
primer corchete corresponde al nmero de filas que contendr el array, por ende, el
nmero contenido en el segundo corchete corresponde al nmero de columnas que
13
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 13
Programacin orientada a objetos I
Unidad 4. Arreglos
contendr el array, de esta manera se analizar una estructura diferente, como la que
sigue:
Quedara as:
14
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 14
Programacin orientada a objetos I
Unidad 4. Arreglos
4.2.2. Recorrido
15
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 15
Programacin orientada a objetos I
Unidad 4. Arreglos
4.2.3. Operaciones
16
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 16
Programacin orientada a objetos I
Unidad 4. Arreglos
Nota la importancia de los ndices para poder acceder a los elementos de los arrays y de
la misma manera para almacenar resultados.
Se puede utilizar un mismo contador para n arrays, siempre y cuando stos sean del
mismo tamao, como en el ejemplo anterior donde se sum y multiplic en un mismo
ciclo. Slo en las impresiones como se buscaba que el resultado se viera de manera
independiente, se utilizaron ms ciclos for; tantos como nmeros de resultados se quiera
mostrar.
17
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 17
Programacin orientada a objetos I
Unidad 4. Arreglos
Cierre de la unidad
Con estos temas has concluido el estudio de esta asignatura, si tienes dudas respecto a
ellos, te sugerimos volver a revisar el material, para que ests listo(a) para continuar con
la asignatura POOII, para la cual lo aprendido aqu, te ser de gran utilidad.
Para saber ms
Consulta la pgina oficial del lenguaje Java, donde podrs encontrar manuales de
referencia sobre arreglos. Disponible en: http://www.java.com/es/
Fuentes de consulta
18
Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software 18