Matrices

Se puede considerar como un vector de vectores. Es, por consiguiente, un conjunto de elementos, todos del mismo tipo, en el cual el orden de los componentes es significativo y en el que se necesitan especificar dos subíndices para poder identificar a cada elemento del arreglo.

También se les llama arreglos Bidimensionalesya que una tabla será utilizada cuando se requiere de establecer relaciones por renglones y columnas entre datos de un tipo común.

1   2   3 4 . . .  J   . . .  N

B(I,J)

Se considera que este arreglo tiene dos dimensiones (una dimensión por cada subíndice) y necesita un valor para cada subíndice, y poder identificar un elemento individual. En notación estándar, normalmente el primer subíndice se refiere a la fila del arreglo, mientras que el segundo subíndice se refiere a la columna del arreglo. Es decir, B(I,J), es el elemento de -b que ocupa la Ia y la Ja columna como se muestra en la figura anterior.

Un ejemplo típico de un arreglo Bidimensional es un tablero de ajedrez. Se puede representar cada posición o casilla del tablero mediante un arreglo, en el que cada elemento es una casilla y en el que su valor será un código representativo de cada figura del juego.

Ejemplo:

Se desea registrar las edades de 4 grupos de personas, cada uno de ellos con 5 elementos. Los datos deberán ser mostrados en forma posterior.

variables:

edad: arreglo(1..4,1..5) de entero

g,p: enteros

Inicio

para g =  1 hasta 4 hacer

escribir(‘Grupo : ‘,g)

para p  = 1 hasta 5 hacer

escribir(‘Edad de la persona ‘,p)

leer(edad[g,p])

para g = 1 hasta 4 hacer

escribir(‘Grupo ‘,g)

para p  = 1 hasta 5 hacer

escribir(´persona ‘,p,’ Tiene’,edad[g,p],´años´)

Fin

Ejemplo:

Se tienen 4 fábricas cada una de ellas con 6 empleados. Se desea registrar los salarios y mostrarlos posteriormente. En forma alternada deberá leerse también el nombre de cada empleado. Durante el desplegado de los gastos se indicará el nombre y salario del empleado mejor pagado de cada fábrica así como el total de nómina ( de cada fábrica).

variables:

Nom: arreglo[1..4,1..6] de string

salario: arreglo[1..4,1..6] de entero

fab, emp, total, cont, lug, zuc: entero

Inicio

para fab  = 1 hasta 4 hacer

para emp = 1 hasta 6 hacer

escribir(‘Empleado : ‘,emp)

escribir(´Nombre del empleado :’)

leer(nom[fab,emp])

escribir(‘Salarios del empleado : ‘)

leer(sal[fab,emp])

para fab  =  1 hasta 4 hacer

total  =  0

cont =  sal[fab,1]

escribir(‘Fábrica’, fab)

para emp  =  1 hasta 6 hacer

escribir(‘El empleado ‘,emp,’ se llama‘,nom[fab,emp],’ y gana ‘,salario[fab,emp])

total = total + salario[fab,emp]

si salario[fab,emp] >= cont entonces

cont  =  salario[fab,emp]

lug  =  fab

zuc  =  emp

finEntonces

escribir(‘El mejor pagado es ‘,nom[lug,zuc],´y gana ‘,salario[lug,zuc])

escribir(‘El total es : ‘,total)

Fin