Está en la página 1de 6

Programacin 2

Gua de Actividades 24 de Agosto de 2011

APLICACIONES CON MANEJO DE DATOS EN MEMORIA OPERACIONES CON ARREGLOS


Intenta hasta el fin y nunca dudes;

Nada es tan difcil que no pueda averiguarse mediante la bsqueda. Robert Herrick.

En Java, un arreglo es un grupo de variables (llamadas elementos o componentes), que contiene valores del mismo tipo. Para hacer referencia a un elemento especfico en un arreglo, debemos especificar el nombre del arreglo y el nmero de posicin del elemento en el arreglo. El nmero de la posicin del elemento se conoce formalmente como el ndice o subndice del elemento. La longitud de un arreglo, puede indicarse en el inicio de la aplicacin, pero tambin Java conoce la longitud de cada arreglo definido, y mantiene esa informacin en un campo del objeto arreglo, llamado lenght. La expresin c.lenght accede al campo lenght del arreglo para determinar la longitud del arreglo. En el siguiente ejemplo, se inicializa un arreglo, se define la longitud del arreglo en una variable de tipo final. La aplicacin asigna a cada elemento del arreglo uno de los enteros pares del 2 al 20, (2, 4, .., 20). Despus se imprime por pantalla el arreglo:

importjava.applet.Applet; public class InicializarArreglo extends Applet { public static void main(String[] args) { finalint LONGITUD_ARREGLO =10; intarreglo[]; arreglo = new int [LONGITUD_ARREGLO]; for (int i=0; i<arreglo.length; i++){ arreglo[i]=2 + 2*i; } for (int i=0; i<arreglo.length; i++){ System.out.println("Elemento [" + i + "] = " + arreglo[i]); } } }

Operaciones con Arreglos Utilizar un arreglo para hacer operaciones con el, en la mayora de las veces implica el uso de la instruccin for, pues para poder tomar o actualizar cada elemento del arreglo, es necesario utilizar ndice, y es por esto que el for es la instruccin ideal. Por ejemplo como lo vimos en el tema pasado, para inicializar un arreglo ya una vez definido podemos utilizar intarreglo[] = new int [10]; for (int i=0; i<10; i++) { arreglo [i] = i; } Pero tambin podemos utilizar la variable length, la cual es definida para todo arreglo en Java, y esta representa el nmero mximo de posiciones en el arreglo, es decir para el ejemplo anterior quedara como: intarreglo[] = new int [10]; for (int i=0; i <arreglo.length; i++) { arreglo [i] = i; } Al hacer operaciones con arreglos es muy comn que utilicemos tambin una constante para definir el mximo valor a utilizar en el arreglo, es decir para el ejemplo anterior quedara como: int final MAX = 10; intarreglo[] = new int [MAX]; for (int i=0; i < MAX; i++) { arreglo [i] = i; } Donde MAX es una constante (definida as al usar la clusula final) que valdr 10 durante la ejecucin del mtodo, clase o parte donde se encuentre definida.

Suma de los elementos de un arreglo Con frecuencia, los elementos de un arreglo representan una serie de valores que se emplearn en un clculo. En el siguiente ejemplo, se suman los valores contenidos dentro de un arreglo de 10 elementos de tipo entero,

packagejavaapplication; importjava.applet.Applet; public class AppletSumaV extends Applet { public static void main(String[] args) { finalint LONG_A = 10; intarreglo[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int total=0; for (int i=0; i<arreglo.length; i++){ total+= arreglo[i]; } for (int i=0; i<arreglo.length; i++){ System.out.println("Elemento [" + i + "] = " + arreglo[i]); } System.out.println(" ARREGLO DE " +LONG_A+ " ELEMENTOS = " ); System.out.println(" SUMA DE ELEMENTOS = " +total); } }
La salida quedar como sigue:

Sacando el mayor de un arreglo Cuando deseamos obtener el valor mayor de todos los valores definidos en un arreglo, debemos recorrer todo el arreglo y utilizar una variable que nos ayude en esta comparacin. La mejor manera de inicializar esta variable es utilizar el primer valor del arreglo, por ejemplo: int mayor = arreglo[0]; // se toma el primer valor como el mayor // se revisa cada elemento en el arreglo empezando por el segundo for (int i=1; i <arreglo.length; i++) { // si el elemento del arreglo es mayor if (arreglo[i] > mayor) { mayor = arreglo[i]; // cambiamos el valor del mayor } } System.out.println(El valor mayor es + mayor);

Tomando el ndice en el que se encuentra

Para hacer esto definimos otra variable, la cual debe empezar con 1 y si el valor del arreglo es mayor, adems de hacer el cambio de mayor, actualizamos la posicin de donde se encontr el mayor, el ejemplo quedara como:

int posicin = 0; int mayor = arreglo[0]; // se toma el primer valor como el mayor // se revisa cada elemento en el arreglo desde el segundo for (int i=1; i <arreglo.length; i++) { // si el elemento del arreglo es mayor if (arreglo[i] > mayor) {

mayor = arreglo[i]; // cambiamos el valor del mayor posicion = i; // se actualiza la posicion } } System.out.println(El valor mayor es + mayor); System.out.println(Y esta en la posicion + (posicin+1));

Si queremos saber en qu posicin se encontr el mayor valor, entonces debemos utilizar un ndice, el cual empieza en 0 (si es que tomamos como referencia inicial el primer valor) y despus al detectar que el valor del arreglo es mayor, se hace el cambio con mayor y se actualiza la posicin, al desplegar la posicin le aadimos uno ms, ya que empieza desde cero.

Sacando el menor de un arreglo y su posicin Para obtener el valor menor, solo se cambia la comparacin y en lugar de comparar contra mayor, solo se compara contra menor, el ejemplo lo vemos como sigue: int posicin = 0; int menor = arreglo[0]; // se toma el primer valor como el menor // se revisa cada elemento en el arreglo desde el segundo for (int i=1; i <arreglo.length; i++) { // si el elemento del arreglo es menor if (arreglo[i] < menor) { menor = arreglo[i]; // cambiamos el valor del menor posicion = i; // se actualiza la posicion } } System.out.println(El valor menor es + menor); System.out.println(Y esta en la posicion + posicion);

Obteniendo el promedio del arreglo Para obtener el promedio de un arreglo, se debe de sumar los elementos y dividir entre cuantos sean, el ejemplo lo vemos como sigue: double promedio; double suma = 0; // se inicializa la suma en cero // se tomara cada elemento para sumarlo for (int i=0; i <arreglo.length; i++) { suma += arreglo[i]; } promedio = suma / arreglo.length; System.out.println(El promedio es + promedio);

ACTIVIDAD
Realiza las siguientes aplicaciones que sern calificadas al finalizar la clase: 1. Aplicacin que calcula el elemento de mayor valor de un arreglo de tamao 10 y la posicin en qu se encuentra.

2. Aplicacin que calcule el elemento de menor valor de un arreglo de tamao 10 y la posicin en que se encuentra.

3. Aplicacin que calcule el promedio de un arreglo de 10 elementos.

También podría gustarte