lunes, 14 de noviembre de 2011

Laboratorio Arreglos y ciclos en java


Autor: Gabriel Pereira
Competencia: Ciencias de la Ingeniería.
Palabras Clave: Arreglos,Java,if,while,for.

Descripción: 
Esta actividad de laboratorio consiste en crear dos clases:
1.- Una que define diversos métodos para crear, llenar y manipular un arreglo unidimensional
2.- Otra cuya única finalidad es invocar dichos métodos a fin de comprobar su correcto funcionamiento

La primera clase tendrá como nombre arrUni, la segunda tendrá como nombre usarrUni.

La clase arrUni estará compuesta de los siguientes métodos:
1.- Constructor, recibe como parámetro la dimensión del arreglo
2.- LlenaAleatorio, recibe un lí­mite inferior y uno superior para el rango aleatorio y entonces llena
      el arreglo con valores aleatorios entre esos límites(10 y 90)
3.- Muestra, que muestra el contenido del arreglo en una fila de pantalla
4.- Menor, que entrega el menor valor contenido en el arreglo
5.- Mayor, que entrega el mayor valor contenido en el arreglo
6.- Invierte, que invierte el contenido del arreglo
7.- Suma, que entrega la suma de todos los elementos del arreglo
8.- Busca, que recibe un entero y entrega verdadero o falso, según si está o no en el arreglo
9.- Par, muestra la cantidad de números  pares dentro del arreglo
10.- Impar, muestra la cantidad de números impares dentro del arreglo
11.- Multiplicar, recibe un número y entrega la multiplicación de cada número del arreglo con el digito
12.- Llenar asc, llena un arreglo desde un numero x hacia arriba (en este caso desde el menor 10)
13.- Llenar desc, llena un arreglo desde un numero x hacia abajo (en este caso desde el mayor 90).

Código Fuente:
Clase arrUni:
public class arrUni
{
    private int N;
    private int M[];
    private int C[];  
    public arrUni(int n)
    {
        this.N = n;
        this.M = new int[N];
        this.C = new int[N];
    }
   
    public void LlenaAleatorio(int lbajo,int lalto)
    {
        for(int i=0;i < N;i++)
        {
            M[i] = lbajo + (int)(Math.random() * (lalto-lbajo+1));
        }
    }
   
    public void MostrarArreglo()
    {
        System.out.print("Arreglo");
        for (int i = 0;i<N;i++)
        {
            System.out.print("  -  " + M[i]);
            System.out.println();
        }
    }
    
    public int MenorNro()
    {  
        int menor = 90;
        for(int i=0; i<N;i++)
        {
            if(M[i] < menor)
            {
                menor = M[i];
            }   
        }
        return menor;
    }
   
    public int MayorNro()
    {  
        int mayor = 10;
        for(int i=0; i<N;i++)
        {
            if(M[i] > mayor)
            {
                mayor = M[i];
            }
        }
        return mayor;
    }
     
    public void Invertir()
    {
        int i=0; int j=N-1;
        int aux=0;
        while (i<=j)
        {
            aux = M[j];
            M[j] = M[i];
            M[i] = aux;
            i++; j--;
        }   
    }  
   
    public int SumaArreglo()
    {
        int suma = 0;
        for(int i= 0;i<N;i++)
        {
            suma = suma + M[i];
        }
        return suma;
    }
   
    public void BuscaNro(int b)
    {
        for(int i=0;i<N;i++)
        {
            if (M[i] == b)
            {
                System.out.println("El numero " +b+ " se encontro en la posicion" +M[i]);
                break;
            }
            else
            {
                System.out.println("El numero no se encontro");
                break;
            }
        }
    }
   
    public int Par()
    {
        int par = 0;
        for(int i=0;i<N;i++)
        {      
            if(M[i] % 2 == 0)
            {  
                par = par +1;
            }
        }
        return par;
    }
     
    public int Impar()
    {
        int impar = 0;
        for(int i=0;i<N;i++)
        {      
            if(M[i] % 2 == 1)
            {  
                impar = impar +1;
            }
        }
        return impar;
    }
   
    public void MultiplicaNro(int m)
    {
        System.out.print("Los nros multiplicados por " +m+ " Son: ");
        for(int i=0;i<N;i++)
        {
            System.out.print("  -  " + M[i]*m);
            System.out.println();
        }
    }
   
    public void LlenaAsc(int inicio)
    {
        System.out.print("Listado Ascendente");
        for(int i=0;i<N;i++)
        {
            M[i] = inicio + i;
            System.out.print("  -  " + M[i]);
        }
        System.out.println();
    }
   
    public void LlenaDes(int inicio)
    {
        System.out.print("Listado Descendente");
        for(int i=0;i<N;i++)
        {
            M[i] = inicio - i;
            System.out.print("  -  " + M[i]);
        }
    }
}

Clase usarUni:

public class usarrUni
{
    public static void main(String args[])
    {
        arrUni miArreglo = new arrUni(10);
        miArreglo.LlenaAleatorio(10,90);
        miArreglo.MostrarArreglo();       
        System.out.println("El Menor numero es:" + miArreglo.MenorNro());
        System.out.println("El Mayor numero es:" + miArreglo.MayorNro());
        miArreglo.Invertir();
        System.out.println("La suma de sus elementos es:" + miArreglo.SumaArreglo());
        miArreglo.BuscaNro(28);
        System.out.println("La cantidad de Pares es:" + miArreglo.Par());
        System.out.println("La cantidad de Impares es:" + miArreglo.Impar());
        miArreglo.MultiplicaNro(2);
        miArreglo.LlenaAsc(10);
        miArreglo.LlenaDes(90);
    }
}


Captura de aplicación:

 Resumen:

En conclusión se ideo una serie de métodos para resolver distintos problemas matemáticos unos más complejos que otros para los cuales usamos los distintos ciclos que se tienen a mano como if, while y for además del uso de variables y lo principal en esta actividad el arreglo unidimensional con el que trabajamos, este tiene como buen provecho el reforzar el uso de arreglos y repasar lo importante que son los ciclos a la hora de programar.

No hay comentarios:

Publicar un comentario