domingo, 30 de noviembre de 2014

ARREGLOS O VECTORES (Conocidos como arrays)


ARREGLOS O VECTORES: DEFINICIÓN 


RESUMEN TEÓRICO



Hasta ahora poco a poco hemos podido almacenar y trabajar con información en java de manera cada vez más eficiente.

Sin embargo, cuando tenemos que trabajar con muchos objetos del mismo tipo, el código se vuelve un poco ineficiente. Por eso es que existen estructuras llamadas arreglos, que hacen las veces de vectores, donde se puede almacenar información del mismo tipo.

Es como una caja seccionada, donde podemos guardar un dato en cada casilla. Supongamos que cada casilla guarda la palabra que representa a un número.


Java posee la capacidad de definir un conjunto de variables del mismo tipo agrupadas todas ellas bajo un mismo nombre, y distinguiéndolas mediante un índice numérico.

Para definir un array en java es como definir una variable o atributo, pero al especificar el tipo lo que hacemos es colocar un par de corchetes [] para indicar que lo que estamos definiendo es un array. Por ejemplo:

Public int [] losValores;

Los vectores y matrices son uno de los medios principales mediante los cuales se almacenan los datos en un programa. En esta práctica veremos todos los conceptos relativos a la creación y manejo en java de vectores y  matrices, las operaciones entre matrices, suma y producto de dos matrices, el producto de una matriz por un vector, el producto de una matriz por un escalar, la traza de una matriz y la matriz transpuesta de una matriz dada.

OBJETIVOS

 

Es seguir el aprendizaje y poder crear nuevos algoritmos con el uso de vectores que estén relacionados con actividades que se hacen en una empresa o vida cotidiana.

Explicar que los algoritmos con el uso de los vectores se relacionan por medio de una programación en las computadoras creando diferentes tipos de diseños algorítmicos

1.- DEFINICIÓN DEL TEMA


En la programación el arreglo o vector (“conocido como arrays”) es la zona de almacenamiento. Él arreglo se puede ver como el conjunto de elementos ordenados en fila.
Cada vector se compone por el número de elementos de que es referenciado por la posición que ocupa dentro del vector.
Lo habitual es que un vector tenga una cantidad fija de memoria asignada.

2.- CARACTERÍSTICAS

Se caracterizan por: el almacenamiento de los elementos en posiciones contiguas de memoria.
El nombre de la variable representa a todos los elementos, para que esto suceda es necesario utilizar un índice, que especifica el lugar que ocupa cada elemento.

3.- Finalidad

El vector sirve para guardar varios datos en una sola lectura.
Lo que nos ayuda para tener más espacio en nuestro algoritmo.

4.- DECLARACIÓN E INICIALIZZACION DE ARRAYS

-La declaración se hace como cualquier variable:
Ver nombre DelArray;
- El arreglo da inicialización cuando lo condicionan, es decir cuando le necesitan.Se puede hacer en una sola línea

Ver país= ['México', 'España', 'Argentina', 'Chile', 'Colombia', 'Venezuela', 'Perú', 'Costa Rica'];


-Aquí hemos declarado un array de 8 elementos, cada elemento tiene un índice: país[0], país[1], país[2], país[3], país[4], país[5], país[6] y país[7].

-También podemos inicializar un array vacío de dos formas distintas:
Ver fruta = [];
Ver fruta = new Array ();
Las dos expresiones tienen el mismo objetivo de crear un array vacío.
 En este caso se entiende que se añadirán contenidos a posteriori. Por ejemplo fruta [3] = 'manzana';

ARRAYS CON ELEMENTOS SIN DEFINIR


Se puede dar valor al elemento de un vector sin que  estos elementos estén definidos. Por ejemplo, declarando índice 3 sin haber definido los índices 0,1,2 (estos elementos no definidos toman valor “undefined”. Por lo que si tratamos de invocarlo su valor es undefinded.
Para que JavaScript comprenda que una variable es un array hay que indicárselo explícita-mente. Es válido: ver país = []; país[0] = 'México';
Sin embargo no es válido: ver país; país[0] = 'México'
Porque en este código no hemos declarado explícita-mente que país sea un array.
Un array puede inicializarse dejando ciertos índices sin un contenido definido. Para ello, se deja un espacio separado por comas como en este ejemplo:
ver ciudad = ["Buenos Aires", , "Madrid"];
Esta declaración supone que el array tiene 3 elementos. Ciudad[0] que tiene valor Buenos Aires, ciudad[1] que tiene valor undefined, y ciudad [2] que tiene valor Madrid.

ver capital = [ , 'México D.F.', , 'Santiago'];

Esta declaración supone que el array capital tiene 4 elementos que son ciudad[0] con valor undefined, ciudad[1] con valor México D.F., ciudad[2] con valor undefined y ciudad[3] con valor Santiago.

Una coma final no genera un nuevo elemento. Por ejemplo:

ver capital = [ , 'México D.F.', , 'Santiago', ];

En este caso la coma final es ignorada y el array sigue teniendo 4 elementos. Si queremos definir el array con un quinto elemento vacío se recomienda hacerlo así:

ver capital = [ , 'México D.F.', , 'Santiago', undefined];

También sería posible hacerlo dejando una coma final libre pero esto es menos recomendable y en algunos navegadores puede dar lugar a errores:


ver capital = [ , 'México D.F.', , 'Santiago', ,];




ACCESO A ÍNDICES NO EXISTENTES


En otros lenguajes de programación, intentar acceder a un índice de array inexistente devuelve un error, pero en JavaScript no es así. Si escribimos país[40] cuando sólo hemos definido hasta el índice 7, el resultado es que país[40] devuelve undefined. A diferencia de en otros lenguajes, los arrays en JavaScript no tienen un número fijo de elementos, sino que el número de elementos del array se ajusta dinámicamente según las necesidades.

USO DE LOS ARRAYS



Los arrays son de gran utilidad para automatizar los cálculos y procesos, por lo que siempre algo pueda expresarse con un nombre seguido de un índice, será preferible usar un array a usar variables independientes.

Los arrays por defecto siempre empiezan por el índice 0, pero en determinadas ocasiones algunos programadores prescinden de ese índice. Por ejemplo var mes = []; mes[0] = undefined; mes[1] = 'enero'; mes[2]='febrero'; mes[3]='marzo'; mes[4] = 'abril'; mes[5]='mayo'; mes[6] = 'junio'; mes[7]='julio'; mes[8]='agosto'; mes[9]='septiembre'; mes[10]='octubre'; mes[11]='noviembre'; mes[12]='diciembre';

Hemos definido mes[0] como undefined. ¿Por qué? Porque en general es preferible dejar constancia de que si mes[0] tiene valor undefined es porque el programador ha decidido que sea así, de esta manera no hay duda respecto a que pueda ser un error o un olvido.

También sería posible definir doce variables como mes1, mes2, mes3, mes4, mes5, mes6, mes7, mes8, mes9, mes10, mes11, mes12. Sin embargo esto es algo que desde el punto de vista de la programación es en general indeseable, ya que estas doce variables funcionan como variables que no tienen relación entre sí. Por tanto cuando tengamos que recorrer los meses no podremos hacerlo de forma automatizada usando índices, ya que aquí no existen índices (aunque el nombre de la variable lleve un número eso no significa que ese número sea un índice).

 TIPIADO DE  LOS ARRAYS 


En otros lenguajes de programación un array contiene un tipo de datos y se dice que el array es de ese tipo. Por ejemplo un array puede ser un array de enteros, o un array de cadenas de texto. Pero no pueden existir arrays que contengan indistintamente elementos de distinto tipo. Esto sí es posible en JavaScript, y por ello se dice que los arrays en JavaScript no tienen tipo. Por ejemplo se admite algo como esto: ver datos = ['Frío', 33, false, 'nube', -11.22, true, 3.33, 'variado'];

En este array el elemento de índice cero es de tipo texto, el de índice 1 es un valor numérico, el elemento de índice tres es un valor booleano, etc.

Normalmente los arrays contendrán elementos de un tipo, por ejemplo valores numéricos, pero en ocasiones nos interesará que contengan elementos de distintos tipos.

JavaScript admite que los elementos de un array sean elementos de naturaleza compleja (objetos), o incluso que un elemento de un array sea otro array.



CARGAR DATOS DE UN ARREGLO



   DEFINICION


Es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo.

Para efectos de ésta explicación visualice el arreglo como una serie de cajas unidas donde podemos almacenar datos del mismo tipo, los arreglos están indexados con una serie de números de van de menor a mayor y que sirven para hacer referencia a cada uno de las cajas dentro del arreglo, en java esta índices comienzan en 0.

     Visualización de datos:
 


Public  int busquedaSecuencial(int []arreglo,int dato){
 Int posicion = -1;
  For (int i = 0; i < arreglo.length; i++){//recorremos todo el arreglo
      If(arreglo[i] == dato){//comparamos el elemento en el arreglo con el buscado
    posicion = i;//Si es verdadero guardamos la posicion
    Break;//Para el ciclo
   }
   }
 return posicion;
   }

   O también se puede usar:
  Public String busquedaSecuencial2(int []arreglo,int valor){
   String posicion = "";
  For (int I = 0; i < arreglo.length; i++){
   if (arreglo[i] == valor){
    posicion += i+",";   
   }
   }
   return posicion;
   }

      EJEMPLO:



Realizar un algoritmo que permita almacenar números en un arreglo de 10 posiciones y luego muestra los resultados por pantalla.



Inicio                                                                  
Entero= i, vector [10]
Para i = 0, 9, 1
Leer= (vector [i])                                                        
Fin para
Para i = 0, 9 , 1
Mostrar= (vector [i])
Fin para

Fin programa.



Como vemos en el algoritmo, el vector se lee por medio de un ciclo para, de acuerdo a las posiciones que pidan, en este caso el vector o arreglo fue de 10 posiciones, se comenzó de 0 hasta 9, y el vector también se muestra con otro ciclo para, con las mismas posiciones.

Modificar el algoritmo anterior para que una vez almacenados los datos en el vector se pueda obtener el promedio de esos números.

Inicio
Entero= i, vector[10], suma
Real= promedio
Suma=0
para i= 0, 9,1                                                                                           
leer=(vector[i])
suma= suma+vector[i]
promedio = suma/10
fin para
mostrar('el promedio es:', promedio)
fin programa.


En este caso no se va mostrar el vector si no leerlo porque vamos a calcular el promedio y no mostrar lo que hay en las casillas del vector.


Un arreglo unidimensional o vector es un grupo de posiciones en memoria relacionados entre sí, por el hecho de que todos tienen el mismo nombre y son del mismo tipo. Para hacer referencia a una posición en particular o elemento dentro del arreglo, se especifican el nombre del arreglo y el número de posición, es decir, su índice.



CONCLUSION



Los algoritmos con el uso de los vectores nos ayudan muchos en los aprendizajes de los alumnos de diferentes universidades a poder desarrollar información en las carreras de Ing. Sistemas teniendo en cuenta las demandas que genera en la globalización que vivimos, trayendo diferentes tipos de estructura algorítmicas  
































No hay comentarios:

Publicar un comentario