You are on page 1of 6

UNIVERSIDAD NACIONAL EXPERIMENTAL "FRANCISCO DE MIRANDA" COMPLEJO DOCENTE EL SABINO DEPARTAMENTO DE GERENCIA UNIDAD CURRICULAR: INFORMATICA

GUIA III

ARREGLOS UNIDIMENSIONALES (VECTORES - LISTAS). ARREGLOS BIDIMENSIONALES (MATRICES - TABLAS).

Prof. : Vctor Gavidia

http://vmgsistemas.blogspot.com/

ARREGLOS UNIDIMENSIONALES Y BIDIMENSIONALES (VECTORES Y MATRICES) Hasta ahora hemos estado trabajando principalmente con cuatro tipos de datos bsicos: enteros (integer), reales (real), caracteres (char) y valores lgicos (boolean). Sin embargo, existen otros tipos de datos ms complejos como los tipos estructurados que permiten almacenar una coleccin de valores bajo un nico identificador de variable, es decir, la coleccin tiene un nico nombre que engloba todos esos valores. Por supuesto, se puede seguir accediendo individualmente a cada valor o componente de la coleccin. Por ejemplo, si en uno de nuestros programas necesitamos almacenar diez valores de tipo entero, en lugar de crearnos diez variables con diez identificadores diferentes num1, num2, ..., num10, podramos almacenar esos diez valores utilizando una nica variable de un tipo estructurado, y luego acceder a cada valor concreto a travs del identificador de la variable general y el ndice concreto del valor, que podra ser por ejemplo de la posicin 1 a la posicin 10. Los arrays son un caso concreto de tipo estructurado (como los registros, los conjuntos y los ficheros). Bsicamente son variables capaces de almacenar una coleccin de valores que sean del mismo tipo (por ejemplo, como decamos antes, diez enteros). Los arrays pueden tener una o ms dimensiones. Cuando tienen una sola dimensin se les suele llamar vectores, y cuando tienen dos dimensiones se les conoce como matrices (lo mismo que en matemticas o fsica). Arreglos: Un array se caracteriza por: 1. Almacenar los elementos del array en posiciones de memoria continua 2. Tener un nico nombre de variable que representa a todos los elementos, y stos a su vez se diferencian por un ndice o subndice. 3. Acceso directo o aleatorio a los elementos individuales del array. Los arrays se clasifican en: Unidimensionales (vectores o listas) Multidimensionales (matrices o tablas)

ARREGLOS UNIDIMENSIONALES (VECTORES - LISTAS) Un arreglo unidimensional es una secuencia de datos del mismo tipo. Los datos se llaman elementos del arreglo y se enumeran consecutivamente, el tipo de elementos almacenados en el arreglo puede ser de cualquier tipo de los datos primitivos de un lenguaje, incluso estructuras definidas por el usuario. Un arreglo es un conjunto de variables en donde cada una de ellas puede ser referenciada utilizando su posicin relativa es decir su ubicacin en relacin con el primer elemento de dicho conjunto. Un arreglo puede contener, por ejemplo: todas las notas de un alumno o las edades de una seccin de computacin, donde cada valor de un arreglo se denomina elemento. Los elementos de un arreglo se enumeran consecutivamente desde la posicin inicial hasta la posicin N; estos nmeros se denominan ndice del arreglo. Entonces se tiene lo siguiente, un arreglo es un conjunto de valores que estn asociados bajo un mismo nombre y se puede referenciar a un elemento particular mediante el nombre y el ndice del elemento a seleccionar. Prof. : Vctor Gavidia http://vmgsistemas.blogspot.com/

Cada uno de estos elementos se trata como si fuera una variable individual, es decir, cuando escribimos nmeros[1] es como si tuviramos nuestra variable num1 de tipo entero, por lo que podemos asignarle cualquier valor entero a la variable utilizando el operador de asignacin (:=) o hacer cualquier operacin que se nos ocurra con ella.

DECLARACION DE UN VECTOR Como cualquier otra variable, se debe declarar un arreglo antes de utilizarlo. Un arreglo cuando se declara se tiene que indicar dos cosas importantes que son: el tipo de datos y el tamao del arreglo. Hasta ahora, para declarar una variable escribamos su nombre, seguido de dos puntos, y despus el tipo de esa variable acabado en punto y coma (por ejemplo, num: integer;). Para declarar una variable de tipo vector en Pascal tenemos que hacer uso de la palabra reservada array, tal y como se muestra a continuacin: nombreDeLaVariable

: array [ndiceInicial..ndiceFinal] of tipoBsico;


Identificador de arreglo o Nombre del arreglo. Tamao del arreglo. Cualquiera de los tipos estndar de variable.

Significado: nombreDeLaVariable ndiceInicial..ndiceFinal tipo

Donde ndiceInicial e ndiceFinal son los ndices (posiciones) inicial y final de la coleccin de valores, y tipoBsico es cualquiera de los tipos bsicos que hemos visto hasta ahora (integer, real, char, boolean, incluso string). Cmo declararamos el vector nmeros del que hablamos anteriormente?

nmeros: arreglo [1..7] de entero

nmeros : array [1..7] of integer;

De esta forma tendremos una variable cuyo identificador es nmeros y que es de tipo array entero, cuyos ndices van desde el 1 hasta el 7, por lo que tendremos 7 enteros. Ej: Subndices Nmeros 1 5 2 64 Tamao=7 3 74 4 58 5 75 6 112 7 78

Nmeros[1] se refiere al elemento situado en la casilla 1 que corresponde al valor 5. Nmeros[7] se refiere al elemento situado en la casilla 7 que corresponde al valor 78.

Prof. : Vctor Gavidia

http://vmgsistemas.blogspot.com/

LLENADO DE UN VECTOR Un arreglo se puede llenar de dos formas una de manera aleatoria en donde el compilador llena el arreglo y otra forma es darle la oportunidad al usuario de indicar los valores que tendr el vector. DESDE HASTA - HAGA Espaol Pascal desde i = 1 hasta 10 haga leer(vector[i]) fin; for i:=1 to 10 do readln(vector[i]) end; MIENTRAS - HAGA Espaol Pascal mientras(i<=N) haga leer(vector[i]) i=i+1; fin; while(I<=N) do readln(vector[i]) i:=i+1; end;

Ejemplo: llenado de vectores: Algoritmo en pseudocdigo que permita llenar un vector con 10 nmeros ingresados por teclado, sabiendo que sus valores son: 1, 4, 6, 7, 3, 45, 21, 8, 15, 10, y realice la suma de los mismos.
INICIO ALGORITMO SUMA_NUMEROS; DEFINIR CONSTANTES NUMVARIOS:ARREGLO[1..10] DE ENTERO=(1,4,6,7,3,45,21,8,15,10) ; VARIABLES SUMA, I: ENTERO; INICIO ESCRIBIR ('ESTE PROGRAMA REALIZA LA SUMA DE 10 NUMEROS: ); SUMA:=0; DESDE I:=1 HASTA 10 HAGA INICIO SUMA:=SUMA+NUMVARIOS[I]; FIN; ESCRIBIR('LA SUMA ES: ',SUMA); ESCRIBIR('PRESIONE UNA TECLA PARA SALIR'); FIN; FIN ALGORITMO SUMA_NUMEROS.

Prof. : Vctor Gavidia

http://vmgsistemas.blogspot.com/

ARREGLOS BIDIMENSIONALES (MATRICES - TABLAS) Como ya hemos comentado, en la declaracin de un array hay que especificar de qu tipo van a ser sus componentes. Este tipo puede ser otro array, de forma que cada elemento del primer vector es a su vez otro vector. As podemos definir arrays bidimensionales, o lo que es lo mismo, matrices. La siguiente declaracin crea una variable llamada nmeros de tipo array de cuatro elementos, en el que cada elemento es a su vez un array formado por tres nmeros enteros.
Fila i Fila i

Subndice de Filas

1 2 3 4 4 27 215 49 1 -10 8 16 61 2 51 15 57 -3 3 Subndice de Columnas


Columna j

1 2 3 4 1,1 1,2 1,3 1,4 1 2,1 2,2 2,3 2,4 2 3,1 3,2 3,3 3,4 3

Nmeros es un array de cuatro elementos que contiene en cada posicin un array de tres elementos. Podemos acceder a cada una de estas celdas de la matriz de la siguiente manera

Columna j

nombreDeLaVariable

: array [ndicefila,ndicecolumna] of tipoBsico;


/ nmeros : array [1..3,1..4] of integer;

nmeros : arreglo [1..3,1..4] tipo entero;

Si quisiramos acceder a la posicin del elemento [16] que se encuentra en una de las celdas de la matriz, seria de la siguiente manera:

Se encuentra en la Fila 2, Columna 3. Su posicin en la matriz seria nmeros[2,3]

LLENADO DE UNA MATRIZ Espaol desde i:= 1 hasta 3 haga desde j:=1 hasta 4 hacer leer (Matriz[i,j]) fin i; fin j; Pascal for i:= 1 to 3 do for j:= 1 to 4 do readln(matriz[i,j]) end i; end j;

Para la Programacin y Pseudocdigo, se utilizaran [i, j], para definir Filas[i] y columnas[j].

Prof. : Vctor Gavidia

http://vmgsistemas.blogspot.com/

Se tienen 2 matrices con los siguientes valores: matriz1(3,1),(4,5) y matriz2(1,3),(4,2), realizar el llenado de una matriz con la suma de matriz1 y matriz2.
INICIO DEL ALGORITMO SUMA_MATRICES; DEFINIR CONSTANTES MATRIZ1:ARREGLO[1..2,1..2] DE ENTERO=((3,1),(4,5)); MATRIZ2:ARREGLO[1..2,1..2] DE ENTERO=((1,3),(4,2)); VARIABLES MATRIZ3:ARREGLO[1..2,1..2] DE ENTERO; I,J:ENTERO; INICIO DESDE I:=1 HASTA 2 HAGA DESDE J:=1 HASTA 2 HAGA INICIO MATRIZ3[I,J]:=MATRIZ1[I,J + MATRIZ2[I,J]; ESCRIBIR('LA SUMA ES: ( ',I,' ,',J,') '); {MUESTRA LA POSICION} ESCRIBIR(MATRIZ3[I,J]); {MUESTRA LA SUMA DE LAS MATRICES} FIN; ESCRIBIR('FIN DE LA SUMA DE MATRICES'); FIN, FIN DEL ALGORITMO SUMA_MATRICES

Prof. : Vctor Gavidia

http://vmgsistemas.blogspot.com/

You might also like