SlideShare a Scribd company logo
1 of 14
ARRAY/ VECTOR
ARRAY
En programación, una matriz o vector (llamados en inglés 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 lógico una matriz se puede ver como
un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos
dimensiones).
Índices
Todo vector se compone de un determinado número de elementos. Cada elemento
es referenciado por la posición que ocupa dentro del vector. Dichas posiciones son
llamadas índice y siempre son correlativos. Existen tres formas de indexar los
elementos de una matriz:


1). Indexación base-cero (0):

    vector[índice_0][índice_1]...[índice_N]

2). Indexación base-uno (1):

     vector[índice_1,índice_2...,índice_N]

3). Indexación base-n (n):

     vector(índice_1,índice_2...,índice_N)
Notación
La representación de un elemento en un vector se suele hacer mediante el
identificador del vector seguido del índice entre corchetes, paréntesis o llaves:

                      Notación

         vector[índice_1,índice_2...,índice_N]

        vector[índice_0][índice_1]...[índice_N]

         vector(índice_1,índice_2...,índice_N)



 Aunque muchas veces en pseudocódigo y en libros de matemática se
 representan como letras acompañadas de un subíndice numérico que indica la
 posición a la que se quiere acceder. Por ejemplo, para un vector "A":

 A0,A1,A2,... (vector unidimensional)
Forma de acceso
La forma de acceder a los elementos de la matriz es directa; esto significa que el
elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo
elemento por elemento (en contraposición, en el caso de una lista, para llegar, por
ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un
apuntador o puntero que permita acceder de manera rápida a ese elemento).
Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por
medio de bucles.

Por Ejemplo:

for i:=1 to MaxPersonas-1 do
  begin
    for j:=i+1 to MaxPersonas do
     begin
       if edades[i]>edades[j] then
         begin
          paso :=edades[i];
          edades[i]:=edades[j];
          edades[j]:=paso
         end
     end;
Vectores dinámicos y estáticos

Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque
dependiendo del tipo de vector y del lenguaje de programación un vector podría tener
una cantidad variable de datos. En este caso, se les denomina vectores dinámicos, en
oposición, a los vectores con una cantidad fija de memoria asignada se los denomina
vectores estáticos.

Ejemplos:

Edad =array [1..5] of integer;

Edad=array[1..np] of integer;
Arrays/Vector unidimensionales
    Un array de una dimensión (vector o lista) es un tipo de datos
    estructurado compuesto de un número de elementos finitos, tamaño
    fijo y elementos homogéneos (mismos tipos).



Nombre del vector edades
Subíndice         [1],[2],...
Contenido         edades[2]= 28
Arrays paralelos
Dos o más arrays que utilizan el mismo subíndice para referirse a términos homólogos se
llaman arrays paralelos.

Basados en el programa anterior se tienen las edades de 'x' personas, para saber a que
persona se refiere dicha edad se puede usar otro arreglo en forma paralela y asociarle los
nombres de manera simultánea con las edades.
Arrays bidimensionales (tablas)
 Un array bidimensional (tabla o matríz) es un array con dos índices, al
 igual que los vectores que deben ser ordinales o tipo subrango.




Para localizar o almacenar un valor en el array se deben especificar dos
posiciones (dos subíndices), uno para la fila y otro para la columna.
Formato:
       1. identificador = array [índice1, indice 2] of tipo de elemento
       2. identificador = array [ índice 1 ] of array [ indice 2 ] of tipo de elemento
Supongase que se desea almacenar las calificaciones de 5 alumnos obtenidas en 3 examenes
y mostrar en orden ascendente sus promedios respectivamente. En este caso se usará un
array bidimensional (tabla o matríz) de 5 filas y 4 columnas en la cual se almacenará las
calificaciones de 3 examenes en 3 columnas y la cuarta columna se utilizará para almacenar
su promedio respectivo, además de un array unidimensional (vector) donde en forma
paralela se almacenarán los nombres de los alumnos de la siguiente forma :
Vectores multidimensionales
En Basic, Java y otros lenguajes es posible declarar matrices
multidimensionales, entendiéndolas como un vector de vectores. En dichos casos en
número de elementos del vector es el producto resultante de cada dimensión.
Por ejemplo el vector v (4,1) tiene 10 elementos se calcula del siguiente modo: (0-4) *
(0-1). Los elementos de la primera dimensión del vector contiene 5 elementos que van
del '0' al '4' y la 2º dimensión tiene 2 elementos que van desde '0' a '1'. Los elementos
serían accedidos del siguiente modo:

elemento 1: (0,0)
elemento 2: (0,1)
elemento 3: (1,0)

elemento 8: (3,1)
elemento 9: (4,0)
elemento 10: (4,1)
Turbo Pascal no limita el número de dimensiones de un array, pero sí que debe estar
declarado el tipo de cada subíndice.
Formato :
     1. identificador = array [índice1] of array [índice 2]..
        of array [índice n] of tipo de elemento
     2. identificador = array [índice 1, índice 2,...,índice n] of tipo de elemento




Ampliando el ejemplo anterior supongase que ahora deseamos capturar
calificaciones para 3 materias en cuyo caso aplicaremos un array tridimensional. De
la siguiente forma :
La estructura array

Var
  Alumno     : array [1..MaxAlumno] of string[10];
  examen     : array [1..MaxAlumno,1..MaxExamen,1..MaxMateria] of real;
  aux_examen : array [1..MaxExamen]of real;
Las variables de tipo array se declaran
       en la sección Var o Type.

 Declaración en Var:

 Var
   nombres    : array[1..30] of string[30];
   calif      : array[1..30] of real;
   numero     : array[0..100] of 1..100;

 Declaración en Type:

 Type
   nombres    : array[1..30] of string[30];
   calif      : array[1..30] of real;
   numero     : array[0..100] of 1..100;
 Var
   nom        : nombres;
   califica   : calif;
   num        : numero;

More Related Content

What's hot

Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Simeon Bordones
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructurasrichmadriz
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3yeimirbeth
 
Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10Andres Garcia Garcia
 
Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)jairml
 
Arreglos Bidimensionales
Arreglos BidimensionalesArreglos Bidimensionales
Arreglos Bidimensionalesguestefc95b
 
Estructura de Datos Arreglos
Estructura de Datos ArreglosEstructura de Datos Arreglos
Estructura de Datos Arreglosguestc906c2
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglosadrmrtinzm
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matricesSohar Carr
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Carlos Anibal Riascos Hurtado
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacionashildir
 
Vectores informaticos
Vectores informaticosVectores informaticos
Vectores informaticosSebas_Lara
 

What's hot (19)

Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos Estructuras De Datos-Arreglos
Estructuras De Datos-Arreglos
 
Vectores, matrices y estructuras
Vectores, matrices y estructurasVectores, matrices y estructuras
Vectores, matrices y estructuras
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Arrays - programación 3
Arrays - programación 3Arrays - programación 3
Arrays - programación 3
 
Arreglos
ArreglosArreglos
Arreglos
 
Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10Introducción a la programación y la informática. Tema 10
Introducción a la programación y la informática. Tema 10
 
Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)Estructuras de datos 1(Arrays y Estructuras)
Estructuras de datos 1(Arrays y Estructuras)
 
Arreglos Bidimensionales
Arreglos BidimensionalesArreglos Bidimensionales
Arreglos Bidimensionales
 
Estructura de Datos Arreglos
Estructura de Datos ArreglosEstructura de Datos Arreglos
Estructura de Datos Arreglos
 
Anderson martinez arreglos
Anderson martinez arreglosAnderson martinez arreglos
Anderson martinez arreglos
 
Array
Array Array
Array
 
Vectores y matrices
Vectores y matricesVectores y matrices
Vectores y matrices
 
Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)Arreglos (unimensionles y matrices (bidimensionales)
Arreglos (unimensionles y matrices (bidimensionales)
 
Arreglos programacion
Arreglos programacionArreglos programacion
Arreglos programacion
 
Arreglos
ArreglosArreglos
Arreglos
 
Tipo de Arreglos
Tipo de ArreglosTipo de Arreglos
Tipo de Arreglos
 
Arreglos unidimensionales
Arreglos unidimensionalesArreglos unidimensionales
Arreglos unidimensionales
 
Analisis de registro
Analisis de registroAnalisis de registro
Analisis de registro
 
Vectores informaticos
Vectores informaticosVectores informaticos
Vectores informaticos
 

Similar to Expo array (20)

Revista digital vectores y matrices
Revista digital vectores y matricesRevista digital vectores y matrices
Revista digital vectores y matrices
 
5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx5ta Evaluación de Progamación.docx
5ta Evaluación de Progamación.docx
 
ARRAY BIDIMENSIONALES
ARRAY BIDIMENSIONALESARRAY BIDIMENSIONALES
ARRAY BIDIMENSIONALES
 
Array bidimensionales
Array bidimensionalesArray bidimensionales
Array bidimensionales
 
Arreglos
ArreglosArreglos
Arreglos
 
Arrays
ArraysArrays
Arrays
 
Arrays. drey aguilera 1
Arrays. drey aguilera 1Arrays. drey aguilera 1
Arrays. drey aguilera 1
 
Array o arreglos
Array o arreglos Array o arreglos
Array o arreglos
 
Grupo
GrupoGrupo
Grupo
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Cuaderno
CuadernoCuaderno
Cuaderno
 
Clase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y ArreglosClase 10 Estructuras De Datos Y Arreglos
Clase 10 Estructuras De Datos Y Arreglos
 
Arreglos C++
Arreglos C++Arreglos C++
Arreglos C++
 
Cuaderno digital
Cuaderno digitalCuaderno digital
Cuaderno digital
 
INVESTIGACIÓN.
INVESTIGACIÓN. INVESTIGACIÓN.
INVESTIGACIÓN.
 
Vectores en programacion
Vectores en programacionVectores en programacion
Vectores en programacion
 
Matriz
MatrizMatriz
Matriz
 
Arrayoareglos
ArrayoareglosArrayoareglos
Arrayoareglos
 
array
arrayarray
array
 
Cap06 arreglos y vectores.
Cap06 arreglos y vectores.Cap06 arreglos y vectores.
Cap06 arreglos y vectores.
 

Expo array

  • 2. ARRAY En programación, una matriz o vector (llamados en inglés 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 lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).
  • 3. Índices Todo vector se compone de un determinado número de elementos. Cada elemento es referenciado por la posición que ocupa dentro del vector. Dichas posiciones son llamadas índice y siempre son correlativos. Existen tres formas de indexar los elementos de una matriz: 1). Indexación base-cero (0): vector[índice_0][índice_1]...[índice_N] 2). Indexación base-uno (1): vector[índice_1,índice_2...,índice_N] 3). Indexación base-n (n): vector(índice_1,índice_2...,índice_N)
  • 4. Notación La representación de un elemento en un vector se suele hacer mediante el identificador del vector seguido del índice entre corchetes, paréntesis o llaves: Notación vector[índice_1,índice_2...,índice_N] vector[índice_0][índice_1]...[índice_N] vector(índice_1,índice_2...,índice_N) Aunque muchas veces en pseudocódigo y en libros de matemática se representan como letras acompañadas de un subíndice numérico que indica la posición a la que se quiere acceder. Por ejemplo, para un vector "A": A0,A1,A2,... (vector unidimensional)
  • 5. Forma de acceso La forma de acceder a los elementos de la matriz es directa; esto significa que el elemento deseado es obtenido a partir de su índice y no hay que ir buscándolo elemento por elemento (en contraposición, en el caso de una lista, para llegar, por ejemplo, al tercer elemento hay que acceder a los dos anteriores o almacenar un apuntador o puntero que permita acceder de manera rápida a ese elemento). Para trabajar con vectores muchas veces es preciso recorrerlos. Esto se realiza por medio de bucles. Por Ejemplo: for i:=1 to MaxPersonas-1 do begin for j:=i+1 to MaxPersonas do begin if edades[i]>edades[j] then begin paso :=edades[i]; edades[i]:=edades[j]; edades[j]:=paso end end;
  • 6. Vectores dinámicos y estáticos Lo habitual es que un vector tenga una cantidad fija de memoria asignada, aunque dependiendo del tipo de vector y del lenguaje de programación un vector podría tener una cantidad variable de datos. En este caso, se les denomina vectores dinámicos, en oposición, a los vectores con una cantidad fija de memoria asignada se los denomina vectores estáticos. Ejemplos: Edad =array [1..5] of integer; Edad=array[1..np] of integer;
  • 7. Arrays/Vector unidimensionales Un array de una dimensión (vector o lista) es un tipo de datos estructurado compuesto de un número de elementos finitos, tamaño fijo y elementos homogéneos (mismos tipos). Nombre del vector edades Subíndice [1],[2],... Contenido edades[2]= 28
  • 8. Arrays paralelos Dos o más arrays que utilizan el mismo subíndice para referirse a términos homólogos se llaman arrays paralelos. Basados en el programa anterior se tienen las edades de 'x' personas, para saber a que persona se refiere dicha edad se puede usar otro arreglo en forma paralela y asociarle los nombres de manera simultánea con las edades.
  • 9. Arrays bidimensionales (tablas) Un array bidimensional (tabla o matríz) es un array con dos índices, al igual que los vectores que deben ser ordinales o tipo subrango. Para localizar o almacenar un valor en el array se deben especificar dos posiciones (dos subíndices), uno para la fila y otro para la columna. Formato: 1. identificador = array [índice1, indice 2] of tipo de elemento 2. identificador = array [ índice 1 ] of array [ indice 2 ] of tipo de elemento
  • 10. Supongase que se desea almacenar las calificaciones de 5 alumnos obtenidas en 3 examenes y mostrar en orden ascendente sus promedios respectivamente. En este caso se usará un array bidimensional (tabla o matríz) de 5 filas y 4 columnas en la cual se almacenará las calificaciones de 3 examenes en 3 columnas y la cuarta columna se utilizará para almacenar su promedio respectivo, además de un array unidimensional (vector) donde en forma paralela se almacenarán los nombres de los alumnos de la siguiente forma :
  • 11. Vectores multidimensionales En Basic, Java y otros lenguajes es posible declarar matrices multidimensionales, entendiéndolas como un vector de vectores. En dichos casos en número de elementos del vector es el producto resultante de cada dimensión. Por ejemplo el vector v (4,1) tiene 10 elementos se calcula del siguiente modo: (0-4) * (0-1). Los elementos de la primera dimensión del vector contiene 5 elementos que van del '0' al '4' y la 2º dimensión tiene 2 elementos que van desde '0' a '1'. Los elementos serían accedidos del siguiente modo: elemento 1: (0,0) elemento 2: (0,1) elemento 3: (1,0) elemento 8: (3,1) elemento 9: (4,0) elemento 10: (4,1)
  • 12. Turbo Pascal no limita el número de dimensiones de un array, pero sí que debe estar declarado el tipo de cada subíndice. Formato : 1. identificador = array [índice1] of array [índice 2].. of array [índice n] of tipo de elemento 2. identificador = array [índice 1, índice 2,...,índice n] of tipo de elemento Ampliando el ejemplo anterior supongase que ahora deseamos capturar calificaciones para 3 materias en cuyo caso aplicaremos un array tridimensional. De la siguiente forma :
  • 13. La estructura array Var Alumno : array [1..MaxAlumno] of string[10]; examen : array [1..MaxAlumno,1..MaxExamen,1..MaxMateria] of real; aux_examen : array [1..MaxExamen]of real;
  • 14. Las variables de tipo array se declaran en la sección Var o Type. Declaración en Var: Var nombres : array[1..30] of string[30]; calif : array[1..30] of real; numero : array[0..100] of 1..100; Declaración en Type: Type nombres : array[1..30] of string[30]; calif : array[1..30] of real; numero : array[0..100] of 1..100; Var nom : nombres; califica : calif; num : numero;