martes, 28 de febrero de 2012

Vectores, matrices y cadenas de caracteres

Las matrices o vectores surgen en informática por la necesidad de manejar un número determinado de datos del mismo tipo. La idea está tomada del concepto matemático de matriz.

Por tanto una matriz es una colección de datos del mismo tipo, y que además están alojados consecutivamente en la memoria. A los elementos de la matriz se puede acceder de forma individual mediante un índice, y cada elemento de la matriz ocupa en memoria lo mismo que si estuviera almacenado en una variable.

Arreglo: Un Arreglo es una estructura de datos que almacena bajo el mismo nombre (variable) a una colección de datos del mismo tipo.

Los arreglos se caracterizan por:

· Almacenan los elementos en posiciones contiguas de memoria

· Tienen un mismo nombre de variable que representa a todos los elementos. Para hacer referencia a esos elementos es necesario utilizar un índice que especifica el lugar que ocupa cada elemento dentro del archivo.

Tipos de arreglos

- Unidimensionales (vectores)

- Bidimensionales (matrices)

Vectores

Es un arreglo de “N” elementos organizados en una dimensión donde “N” recibe el nombre de longitud o tamaño del vector. Para hacer referencia a un elemento del vector se usa el nombre del mismo, seguido del índice (entre corchetes), el cual indica una posición en particular del vector. Por ejemplo:

Vec[x]

Donde:

Vec………… Nombre del arreglo

x…………… Numero de datos que constituyen el arreglo

Representación gráfica de un vector

Vec[1]

Vec[2]

Vec[3]

Vec[4]


7

8

9

1

0

Operaciones con vectores

Asignación

En general, los lenguajes de programación incluyen como muchas instrucciones de lectura/escritura de vectores completos, siendo muy pocos la que tienen definidas otras operaciones primitivas con el vector tomado como dato único.

La estructura de control asociada de manera natural con los vectores es la estructura de tipo "PARA"

Ejemplo:

Algoritmo Inicializar_Vector

Vector de reales V [1 .. 100]

Para i de 1 hasta 100 hacer

V(i) 0.0

Fin para

Final

En algunos lenguajes se permite la asignación directa entre vectores de igual dimensión y tipo.

La condición principal para poder realizar este tipo de asignaciones es que debe cumplirse que los dos vectores sean del mismo tipo y de la misma longitud.

u Ü v el vector 'u' pasa a contener los datos de 'v'

Otra forma de hacer esta asignación es a través de la asignación de elemento en elemento. Este tipo de asignación es la que se realiza de forma común en programación, y la que utilizaremos en nuestros algoritmos.

Para i de 1 hasta n hacer

u(i) ←v(j)

Fin para

Operaciones elementales con vectores numéricos

Suma de vectores

Algoritmo suma_vectores

Constante n= ...

Variable entera i

Vectores reales a[1..n], b[1..n], c[1..n]

Leer a,b

Para i de 1 a n hacer

c(i) a(i)+b(i)

Fin para

Escribir c

Final

Los vectores que se suman han de ser del mismo tipo y dimensión.

Matriz

Es un arreglo de M * N elementos organizados en dos dimensiones donde “M” es el numero de filas o reglones y “N” el numero de columnas.

Para representar una matriz se necesita un nombre de matriz se necesita un nombre de matriz acompañado de dos índices.

Mat [R,C]

Donde R indica el renglón y C indica la columna, donde se encuentra almacenado el dato.

Representación gráfica de una matriz

Fila o Renglón

[R]


Mat [R,C]


1,1

1,2

1,3

1,4

2,1

2,2

2,3

2.4

3,1

3,2

3,3

3,4

Columna

[C]

4,1

4,2

4,3

4,4

Operaciones con matrices

Asignación.

para i de 1 a m hacer

para j de 1 a n hacer

a(i,j) 0.0

fin para

fin para

Definición de matriz identidad

para i de 1 a n hacer

para j de 1 a n hacer

si i=j entonces

I(i,j) 1

sino I(i,j) ← 0

finsi

fin para

fin para

Asignación de valores introducidos por el usuario:

para i de 1 a m hacer

para j de 1 a n hacer

leer a(i,j)

fin para

fin para

Operaciones elementales con matrices numéricas.

Suma de matrices.

Algoritmo suma de matrices

constantes m=..., n=...

variables enteras i, j

matrices reales a(1..m,1..n), b(1..m,1..n), c(1..m,1..n)

leer a, b

para j de 1 a m hacer

para j de 1 a n hacer

c(i,j) ← a(i,j) + b(i,j)

fin para

fin para

escribir c

Final

No hay comentarios:

Publicar un comentario