Upload
adda1507
View
221
Download
0
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");
}
}
}