República Bolivariana de Venezuela Universidad Fermín Toro Sistema de Aprendizajes Interactivos a Distancia Escuela de Ingeniería Sede Cabudare
Vectores Unidimensionales y Bidimensionales
Alumno: María Matheus C.I: 18.438.942
VECTORES
2015
ARREGLOS O VECTORES UNIDIMENSIONALES Un arreglo de una dimensión es una lista de variables, todas de un mismo tipo a las que se hace referencia por medio de un nombre común. Una variable individual del arreglo se llama elemento del arreglo. Para declarar un arreglo de una sola dimensión se usa el formato general: tipo_dato identificador[tamaño]; Un arreglo unidimensional es un tipo de datos estructurado que está formado de una colección finita y ordenada de datos del mismo tipo. Es la estructura natural para modelar listas de elementos iguales. Declaración: se declara el tipo del arreglo con la palabra reservada TYPE, luego se declara la variable de tipo arreglo, esto se hace en el bloque de declaración de variables palabra reservada VAR Type nombre_arreglo = array[x..y]of tipo_dato; Donde - TYPE, declara el tipo base del arreglo, que es el tipo de cada elemento del mismo. - nombre_arreglo, es el nombre del arreglo. - Tamaño, es el nro. de elementos del arreglo. Nota: El tipo de dato del arreglo puede ser: integer,real, boolean, string etc. Ejemplos: type rango = 33..90; arr1 = array [char] of integer; (* 256 celdas *) arr2 = array [33..90] of real; arr4 = array ['0'..'9'] of arr3;(* matriz *) arr5 = array [rango] of boolean; 1
VECTORES
2015
VECTORES BIDIMENSIONALES Es un arreglo de dos dimensiones, es decir, un arreglo de arreglos en el cual se almacena en forma contigua en la memoria, un arreglo después del otro. Son referenciadas con un único nombre + un índice para la fila y otro para columna, los índices parten en 0, y permiten individualizar a cada elemento, y corresponden a la fila (arreglo) y a la columna (elemento dentro del arreglo), del arreglo de arreglo. Otros nombres: matrices; todos los arreglos que componen la matriz son del mismo tipo. Esto significa que cada arreglo (fila) es del mismo largo que los demás y del mismo tipo (int, float, etc) que los demás. Declaracion: Sintaxis: tipo_dato nombre_arreglo[num_elementos1][num_elementos2] donde: -
num_elementos1 indica el número de arreglos que contiene la matriz (filas)
-
num_elementos2 indica el número de elementos básicos (int, float,etc) que contiene cada uno de los arreglos (columnas).
Ejemplo: La siguiente declaración crea una variable llamada numeros de tipo array de cuatro elementos, en el que cada elemento es a su vez es un array formado por tres números enteros numeros : array [1..4] of array of [1..3] of integer; Este tipo de declaraciones de arrays se suele escribir de forma más abreviada de la siguiente manera (ambas son equivalentes) numeros : array [1..4,1..3] of integer;
2
VECTORES
2015
números será por tanto una matriz de 4 filas por 3 columnas en la que cada elemento será un número entero. Su representación gráfica sería la que se muestra a continuación:
números es un array de cuatro elementos que contiene en cada posición un array de tres elementos. Podemos acceder a cada una de estas celdas de la matriz de la siguiente manera: numeros[índiceFila][índiceColumna]; Por ejemplo, mediante numeros[1][1] accederíamos a la primera variable entera, que en este caso contiene el valor 4, numeros[1][2] devolvería un -10, y así sucesivamente.
GESTION DE VECTORES Recorrido: Es la manera de acceder de manera sucesiva y consecutiva a los contenidos de cada elemento del vector. La estructura de control for es la adecuada para recorrer completamente un arreglo.
Inserción: Consiste en introducir en el arreglo el valor del elemento. Aunque el sistema reserva memoria para cada elemento del arreglo, puede suceder que alguna posición de memoria se encuentre vacía. Surgen dos operaciones distintas: añadir una celda de memoria vacía o añadir en una celda de memoria ocupada, para no dañar el contenido de memoria donde se inserta el nuevo dato, se
3
VECTORES
2015
desplaza este contenido y todos los siguientes a una posición superior de la misma memoria.
Búsqueda: Consiste en realizar un recorrido del vector, empezando desde su posición de memoria más baja con el fin de localizar un dato determinado.
Eliminación: Borrar el dato contenido en una de las posiciones del vector, si es una posición diferente de la última, todos los elementos con posiciones posteriores retroceden una posición.
Ordenación: Consiste en reorganizar el contenido de cada uno de los elementos del vector según una secuencia determinada (ascendente o descendente).
EJEMPLOS Recorrido en un vector Ejemplos: a) hallar la suma de todos los elementos suma:= 0; for i:= 1 to M do suma:= suma + a[i];
b) hallar el máximo
max:= a[1]; 4
VECTORES
2015
for i:= 2 to M do if a[i] > max then max:= a[i];
Busqueda en vectores: Ejemplos: a) Buscar un elemento que sea igual a A. i:= 1; repeat exito:= (a[i] = A); i:= i+1; until (i > M) or exito;
if exito then WriteLn('exito') else WriteLn('fracaso') b) Verificar si todos los elementos son pares i:=1;
while (i <= M) and (a[i] mod 2 = 0) do i:= i+1;
if i > M then WriteLn('Son todos pares') else WriteLn('No todos son pares');
5
VECTORES
2015
BIBLIOGRAFIA
Arreglos Unidimensionales y Bidimensionales http://www.virtual.unal.edu.co/cursos/ingenieria/2001412/capitulos/cap1/141.html Vectores https://es.wikipedia.org/wiki/Vector_(inform%C3%A1tica) Arreglos Unidimensionales http://programacionunefa.blogspot.com/2008/06/arreglos-unidimensionales.html Operaciones con vectores http://campuscurico.utalca.cl/~rgarrido/cursos/iie_2006/clases_c_1005.pdf
6