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 Bidimensionales, ya 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