Trabajo Con Vectores

Embed Size (px)

Citation preview

  • 8/13/2019 Trabajo Con Vectores

    1/4

    Trabajo con vectores

    En programacin, una matriz o vector (llamados en ingls arrays) es una zona de

    almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los

    elementos de la matriz. Desde el punto de vista lgico una matriz se puede ver comoun conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos

    dimensiones).

    En principio, se puede considerar que todas las matrices son de una dimensin, la

    dimensin principal, pero los elementos de dicha fila pueden ser a su vez matrices

    (un proceso que puede ser recursivo), lo que nos permite hablar de la existencia de

    matrices multidimensionales, aunque las ms fciles de imaginar son los de una,

    dos y tres dimensiones.

    Estas estructuras de datos son adecuadas para situaciones en las que el acceso a

    los datos se realice de forma aleatoria e impredecible. Por el contrario, si loselementos pueden estar ordenados y se va a utilizar acceso secuencial sera ms

    adecuado utilizar una lista, ya que esta estructura puede cambiar de tamao

    fcilmente durante la ejecucin de un programa.

    En otras palabras podemos decir que son variables que pueden admitir mltiples

    valores y estos valores se almacenan en su propio ndice, iniciando en cero (0)

    Sintaxis JAVA:

    tipodatos nombrevariable [] = new tipodatos[tamao]

    Ej 1. String Nombre[] =new String[10];

    Notacin

    vector[ndice_1,ndice_2...,ndice_N]

  • 8/13/2019 Trabajo Con Vectores

    2/4

    A continuacin se plantea un ejemplo de un programa sencillo que usa vectores

    para capturar e imprimir datos:

    Leer nombre y sueldo de 20 empleados y mostrar el que ms gana

    Programa Java que lee el nombre y el sueldo de 20 empleados y muestra el nombrey el sueldo del empleado que ms gana y los nombres y sueldo de todos.

    Para hacerlo utilizaremos dos arrays:Un array de String para los nombres de los empleadosUn array de tipo double para los sueldos de cada empleado.

    Al mismo tiempo que leemos los datos de los empleados iremos comprobando cul

    es el que tiene el mayor sueldo. Para ello tomamos el sueldo del primer empleadoque se lee como mayor sueldo y despus vamos comprobando el resto de sueldos.Cuando encontramos alguno mayor que el mayor actual este sueldo se convierteen el nuevo mayor.

    En general para calcular el mayorde una serie de nmeros tomamos el primerocomo mayor y despus comparamos el resto de nmeros.

    package practicavectores;

    //programa que muestra el nombre y el sueldo del empleado que ms gana

    import java.util.*;

    public class PracticaVectores {

    public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    //crear y dimensionar los arrays

    String[] empleados = new String[20];

    double[] sueldos = new double[20];

    //variables para guardar el nombre y sueldo del empleado que ms gana

    String nombreMayor;

    double mayorSueldo;

  • 8/13/2019 Trabajo Con Vectores

    3/4

    //inicializar i que es el contador para recorrer el vector

    int i = 0;

    //se leen los datos del primer empleadoSystem.out.println("Lectura de nombres y sueldos de empleados: ");

    System.out.print("Empleado " + (i + 1) + ": ");

    empleados[i] = sc.nextLine(); //almacena el nombre en la posicin 0 del vector

    empleados

    System.out.print("Sueldo: ");

    sueldos[i] = sc.nextDouble();//almacena el sueldo en la posicin 0 del vector

    empleados

    //se toma el primero como mayor

    mayorSueldo = sueldos[i]; //asigna el sueldo del primer empleado a la variable

    nombreMayor = empleados[i];//asigna el nombre del primer empleado a la

    variable

    //se leen el resto de empleados, se inicia desde uno(1) porque ya se ley el

    primer empleado

    for (i = 1; i < empleados.length; i++) {

    sc.nextLine(); //limpiar el buffer

    System.out.print("Empleado " + (i + 1) + ": ");

    empleados[i] = sc.nextLine();

    System.out.print("Sueldo: ");

    sueldos[i] = sc.nextDouble();

    //se compara el sueldo ledo con el mayor

    if (sueldos[i] > mayorSueldo) {

    mayorSueldo = sueldos[i];

    nombreMayor = empleados[i];

    }

  • 8/13/2019 Trabajo Con Vectores

    4/4

    }

    //mostrar resultados

    System.out.println("");System.out.println("Empleado con mayor sueldo: " + nombreMayor );

    System.out.println("Sueldo: " + mayorSueldo);

    System.out.println("");

    // imprimir los datos de todos los empleados, se hace con otro cliclo for

    System.out.println("Nombre \t\t Sueldo");

    for (int j = 0; j < empleados.length; j++) {

    System.out.print(empleados[j]+"\t\t\t\t"+ sueldos[j]+"\n");

    }

    }

    }