I.- Arreglos unidimensionales. 1.- Conceptos básicos. Un arreglo unidimensional tiene una sola dimensión. Esta dimensión se maneja por medio de un par de corchetes.
A los arreglos de una dimensión dimensión también se les llama listas o vectores. vectores .
1.1.- Operaciones. Para manejar un arreglo, las operaciones a efectuarse son: • • • •
Declaración del arreglo, Declaración del Creación del Creación del arreglo, Inicialiación de Inicialiación de de los elementos del arreglo, ! Acceso a Acceso a los elementos del arreglo.
A continuación describiremos cada cada una de estas estas operaciones, operaciones, en "ava.
Declaración. #a declaración de un arreglo unidimensional consiste en establecer las caracter$sticas del arreglo ! sus elementos, por medio de la siguiente sinta%is: &tipo tipo' ' ( ) & ) & identificador ' * Donde: tipo indica tipo indica el tipo correspondiente a los elementos del arreglo , identificador es es el nombre del arreglo, ! el par de corc+etes, ( ), ), representa la dimensión del arreglo ! encierra un nmero entero ue corresponde al nmero de elementos del arreglo. Ejemplos: int ( ) a * float ( ) distancia * bserve ue, en la declaración, el espacio entre los corc+etes est/ vac$o. 0sto se debe a ue, durante dic+a operación, no se reserva espacio en la memoria.
Creación. #a creación de un arreglo unidimensional consiste en reservar espacio de memoria para todos sus elementos, utiliando la siguiente sinta%is: & identificador ' 1 ne2 ne2 & &tipo tipo' ' ( tama3o ) *
Donde: ne2 es el operador para gestionar espacio de memoria, en tiempo de ejecución, tama3o es un nmero entero ue representa el nmero de elementos del arreglo. Ejemplos: a 1 ne2 int (45) * 66 7e crea el arreglo a , con 10 elementos de tipo entero. distancia 1 ne2 float( 8) * 66 7e crea el arreglo distancia , con 5 elementos de punto flotante y precisión sencilla . #as dos primeras operaciones de declaración ! creación anteriores se pueden agrupar en una sola instrucción, como se muestra enseguida: int ( ) a 1 ne2 int (45) * float ( ) distancia 1 ne2 float(8) *
Inicialiación. 9n arreglo es un objeto ue,cuando es creado por el compilador, se le asignan autom/ticamente valores iniciales predeterminados a cada uno de sus elementos, de acuerdo a los siguientes criterios: •
•
7i el tipo del arreglo es numrico! a sus elementos se les asigna el valor cero. 7i el tipo del arreglo es bool, a sus elementos se les asigna el valor false.
Cuando se reuiere asignar valores iniciales diferentes de los predeterminados, es posible agrupar las operaciones de declaración, creación e inicialiación en una sola instrucción, por ejemplo: int ( ) a 1 4, 5,;,-<, =,>, =?,;88, >5,?8 @* float ( ) distancia 1 =.85, =B<.;8, ;<.8, ?5.<=, >?.55 @* string ( ) pato 1 Eugo, Paco, #u$s @*
Acceso. 7e puede acceder a los valores de los elementos de un arreglo a través del nombre del arreglo ! un sub$ndice. 0l sub$ndice debe escribirse entre corc+etes ! representa la posición del elemento en el arreglo. As$, podemos referirnos a un elemento del arreglo escribiendo el nombre del arreglo ! el sub$ndice del elemento entre corc+etes. #os valores de los sub$ndices empiean en cero para el primer elemento, +asta el tama3o del arreglo menos uno. Ejemplo: float ( ) distancia 1 ne2 float(8) * 66 Crea el arreglo distancia con 5 elementos. float % 1 =8, ! 1 45 * 66 Crea dos variables de punto flotante ! precisión sencilla. distancia(5) 1 % F ! * 66 0l valor asignado al primer elemento es "5. distancia(4) 1 FFdistancia(5) * 66 Asigna "# al se$undo elemento. distancia(=) 1 distancia(4) - distancia(5) F ; * 66 Asigna 5 al tercer elemento. distancia(?) 1 distancia(=)-- * 66 Asigna 5 al cuarto elemento 66 ! disminu!e en 1 el valor del tercero. distancia(;) 1 distancia(?) G distancia(=) * 66 Asigna %0 al &uinto elemento. ! 1 distancia(;) * 66 Asigna a y el valor almacenado en el &uinto elemento.
Ejercicio 1.- Pruebe el siguiente programa en Java. Declaración, creación y acceso a un arreglo. public class ejer_arreglo1 { public static void main(String[] args { int i! int [] vector " ne# int [1$]! %or (i"$!i&1$!i'' { vector[i]"i! %or (i"$!i&1$!i'' S)stem.out.println(*vector[*'i'*]" *' vector[i]!
Realice las siguientes modificaciones al programa 1.- Rellenar el vector con valores m!ltiplos de ". #.- Rellenar el vector con n!meros pares. $.- Rellenar el vector con n!meros aleatorios. %.- &e necesita un vector de 1' elementos con valores de ("), %', %%, ....*.
Ejemplo +, -ostrar la salida del vector utiliando un objeto de la clase /0et2rea de un cuadro de di3logo de mensaje. import java.s#ing.4! public class ejer_arreglo+ { public static void main(String[] args { int i! String salida "* *! int [] vector " ne# int [1$]! %or (i"$!i&1$!i'' { vector[i]"i! %or (i"$!i&1$!i'' { salida"salida' *vector[*'i'*]" *' vector[i]' *5n*! /0et2rea asalida"ne# /0et2rea(! asalida.set0et(salida! /6ption7ane.sho#-essage8ialog(null9asalida9*-ostrar vector*9/6ption7ane.:;<6=-20:6;_-ESS2>E!
Ejercicio N°1:
Ejercicio N°2:
Ejercicio N°3:
Ejercicio N°4:
Ejercicio N°5:
Ejercicio N°6: