Saltar al contenido

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