Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Operaciones con ArreglosUtilizar un arreglo para hacer operaciones con el, en la mayoría de las veces implica el uso dela ...
ejemplo:int mayor = arreglo[0]; // se toma el primer valor como el mayor// se revisa cada elemento en el arreglo empezando...
posicion = i; // se actualiza la posicion}}System.out.println(“El valor menor es “ + menor);System.out.println(“Y esta en ...
posicion = 0; // para definir menor como el primer valor// se revisa cada elemento en el arreglo desde el segundofor (int ...
Upcoming SlideShare
Loading in …5
×

3 desarollo manejo datos capitulo 1 -02 operaciones con arreglos (3)

158 views

Published on

Published in: Travel
  • Be the first to comment

  • Be the first to like this

3 desarollo manejo datos capitulo 1 -02 operaciones con arreglos (3)

  1. 1. Operaciones con ArreglosUtilizar un arreglo para hacer operaciones con el, en la mayoría de las veces implica el uso dela instrucción for, pues para poder tomar o actualizar cada elemento del arreglo, es necesarioutilizar índice, y es por esto que el for es la instrucción ideal.Por ejemplo como lo vimos en el tema pasado, para inicializar un arreglo ya una vez definidopodemos utilizarint arreglo[] = new int [10];for (int i=0; i<10; i++) {arreglo [i] = i;}Pero también podemos utilizar la variable length, la cual es definida para todo arreglo enJava, y esta representa el número máximo de posiciones en el arreglo, es decir para elejemplo anterior quedaría como:int arreglo[] = new int [10];for (int i=0; i < arreglo.length; i++) {arreglo [i] = i;}Al hacer operaciones con arreglos es muy común que utilicemos también una constante paradefinir el máximo valor a utilizar en el arreglo, es decir para el ejemplo anterior quedaríacomo:int final MAX = 10;int arreglo[] = new int [MAX];for (int i=0; i < MAX; i++) {arreglo [i] = i;}Donde MAX es una constante (definida así al usar la cláusula final) que valdrá 10 durante laejecución del método, clase o parte donde se encuentre definida.Sacando el mayor de un arregloCuando 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 comparación.La mejor manera de inicializar esta variable es utilizar el primer valor del arreglo, porIII. Desarrollo de aplicaciones con manejode datos en la memoria
  2. 2. ejemplo:int mayor = arreglo[0]; // se toma el primer valor como el mayor// se revisa cada elemento en el arreglo empezando por el segundofor (int i=1; i < arreglo.length; i++) {// si el elemento del arreglo es mayorif (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 encuentraPara hacer esto definimos otra variable, la cual debe empezar con 1 y si el valor del arregloes mayor, además de hacer el cambio de mayor, actualizamos la posición de donde seencontró el mayor, el ejemplo quedaría como:int posición = 0;int mayor = arreglo[0]; // se toma el primer valor como el mayor// se revisa cada elemento en el arreglo desde el segundofor (int i=1; i < arreglo.length; i++) {// si el elemento del arreglo es mayorif (arreglo[i] > mayor) {mayor = arreglo[i]; // cambiamos el valor del mayorposicion = i; // se actualiza la posicion}}System.out.println(“El valor mayor es “ + mayor);System.out.println(“Y esta en la posicion “ + (posición+1));Si queremos saber en que posición 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) ydespués al detectar que el valor del arreglo es mayor, se hace el cambio con mayor y seactualiza la posición, al desplegar la posición le añadimos uno mas, ya que empieza desdecero.Sacando el menor de un arreglo y su posiciónPara obtener el valor menor, solo se cambia la comparación y en lugar de comparar contramayor, solo se compara contra menor, el ejemplo lo vemos como sigue:int posición = 0;int menor = arreglo[0]; // se toma el primer valor como el menor// se revisa cada elemento en el arreglo desde el segundofor (int i=1; i < arreglo.length; i++) {// si el elemento del arreglo es menorif (arreglo[i] < menor) {menor = arreglo[i]; // cambiamos el valor del menor
  3. 3. 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 arregloPara obtener el promedio de un arreglo, se debe de sumar los elementos y dividir entrecuantos sean, el ejemplo lo vemos como sigue:double promedio;double suma = 0; // se inicializa la suma en cero// se tomara cada elemento para sumarlofor (int i=0; i < arreglo.length; i++) {suma += arreglo[i];}promedio = suma / arreglo.length;System.out.println(“El promedio es “ + promedio);A continuación se presenta una aplicación que utiliza todos estos conceptos para suvisualización:public class AplicacionArreglo2 {private static final int MAX = 10;public static void main(String[] args) {// se define el arreglo a utilizarint arreglo[] = {12, 75, -5, 99, 124, 8, -45, 12, 25, 0};int posicion; // para las posicionesint mayor, menor; // para el mayor y el menordouble promedio; // para obtener el promedioint suma = 0; // se inicializa la suma en cero// se despliegan los valoresfor (int i=0; i < arreglo.length; i++) {System.out.println("Elemento " + (i+1) + " = " + arreglo[i]);}mayor = arreglo[0]; // se toma el primer valor como el mayorposicion = 0; // para definir mayor en la posicion primera// se revisa cada elemento en el arreglo desde el segundofor (int i=1; i < arreglo.length; i++) {// si el elemento del arreglo es mayorif (arreglo[i] > mayor) {mayor = arreglo[i]; // cambiamos el valor del mayorposicion = i; // se actualiza la posicion}}System.out.println("El valor mayor es " + mayor);System.out.println("Y esta en la posicion " + (posicion + 1));menor = arreglo[0]; // se toma el primer valor como el mayor
  4. 4. posicion = 0; // para definir menor como el primer valor// se revisa cada elemento en el arreglo desde el segundofor (int i=1; i < arreglo.length; i++) {// si el elemento del arreglo es mayorif (arreglo[i] < menor) {menor = arreglo[i]; // cambiamos el valor del mayorposicion = i; // se actualiza la posicion}}System.out.println("El valor menor es " + menor);System.out.println("Y esta en la posicion " + (posicion+1));// se tomara cada elemento para sumarlofor (int i=0; i < arreglo.length; i++) {suma += arreglo[i];}promedio = suma / arreglo.length;System.out.println("El promedio es " + promedio);}}En la aplicación hay varias cosas que debemos tomar en cuenta, primero, es posible definirun arreglo con sus valores iniciales, como se muestra en la instrucción:int arreglo[] = {12, 75, -5, 99, 124, 8, -45, 12, 25, 0};Aquí solo se define que es un arreglo de enteros y entre corchetes se definen cuantos enterostendrá, esto es como haber dicho arreglo = new int[10]; y después dar los valores.Por otra parte en el println que definimos para escribir la posición, estamos utilizandoSystem.out.println("Y esta en la posición " + (posicion+1));Donde posición + 1 está entre paréntesis.Primero que nada utilizamos posición + 1, ya que en Java (igual que C++) los arreglosempiezan desde cero y si por ejemplo dice que es la posición 3 internamente en el arregloesta en el índice 2, donde cero es el primero.Utilizamos paréntesis ya que el + en el println funciona como concatenación y si no leponemos paréntesis le añadirá el 1 al numero, es decir en lugar de desplegar 3, desplegará21, ya que al 2 (que es la i) le concatena el 1.

×