Documente Academic
Documente Profesional
Documente Cultură
ARREGLOS BIDIMENSIONALES
DIMENSIONALES
Unidad V: Arreglos Bidimensionales
1.1 GENERALIDADES:
Las matrices son una coleccin finita, homognea y ordenada de datos. Su informacin est
organizada en forma de tablas; es decir, los elementos que la conforman estn dispuestos bajo
dos conceptos de clasificacin (fila y columna). Para poder indicar el lugar donde se encuentra
un determinado elemento, es necesario utilizar dos ndices: uno para indicar el rengln o fila y
otro para indicar la columna.
Puede mirarse una matriz como un vector de vectores; por lo tanto, es un conjunto de
componentes en el que se necesitan dos subndices para identificar un elemento que
pertenezca al arreglo.
2
Unidad V: Arreglos Bidimensionales
Se deben asignar valores a los elementos del arreglo antes de utilizarlos, tal como se asignan
valores a variables. Para asignar valores a cada elemento del arreglo de enteros
matriz_ejemplo, se puede escribir:
Solucin #1:
Proceso inicializar_bidi
Definir matriz_ejemplo,fila,columna como entero;
Dimension matriz_ejemplo[3,3];
Para fila<-0 Hasta 2 Con Paso 1 Hacer
Para columna<-0 Hasta 2 Con Paso 1 Hacer
matriz_ejemplo[fila,columna] <- 0;
Escribir Sin Saltar matriz_ejemplo[fila,columna]," ";
FinPara
Escribir " ";
FinPara
FinProceso
Se puede acceder a los elementos de arrays multidimensionales de igual forma que a los
elementos de un array unidimensional. La diferencia reside en que en los elementos
bidimensionales deben especificarse los ndices de la fila y la columna.
Insercin de elementos:
<Nombre array> [ndice_fila,ndice_columna] = valor elemento;
Extraccin de elementos:
<Variable> = <nombre array>[ndice_fila,ndice_columna];
3
Unidad V: Arreglos Bidimensionales
Proceso ElementoMayorFila
Definir matriz_ejemplo,fila,columna,fil,col,may,posfil,c como entero;
Escribir "Filas: ";
Leer fil;
Escribir "Columnas: ";
Leer col;
Escribir fil,col;
Dimension matriz_ejemplo[fil,col];
Para fila<-0 Hasta fil-1 Hacer
Para columna<-0 Hasta col-1 Hacer
Escribir Sin Saltar "Numero[",fila,",",columna,"]:";
Leer matriz_ejemplo[fila,columna];
FinPara
FinPara
Escribir Sin Saltar "Que fila desea evaluar? (0...",fil-1,")";
Leer posfil;
may<-0;
Si posfil>0 Y posfil<=(fil-1) entonces
Para c<-0 Hasta col-1 Hacer
Si matriz_ejemplo[posfil,c]>may Entonces
may<-matriz_ejemplo[posfil,c];
FinSi
FinPara
Escribir "El mayor elemento de la fila: ",posfil," es : ",may;
Sino
Escribir "Numero de fila invalido";
FinSi
Para fila<-0 Hasta fil-1 Con Paso 1 Hacer
Para columna<-0 Hasta col-1 Con Paso 1 Hacer
Escribir Sin Saltar matriz_ejemplo[fila,columna], " ";
FinPara
Escribir "";
FinPara
FinProceso
4
Unidad V: Arreglos Bidimensionales
Ejemplo 3: Pseudocdigo que rellene automticamente una matriz N*M con la suma de
sus ndices (Es decir, el elemento a[1][1] = 1+1=2, a[3][2] = 3+2=5). El algoritmo
mostrar la matriz resultante por pantalla.
Solucin #3:
Proceso suma_indices
Definir a,sumind,fil,col,f,c Como entero;
Repetir
Escribir "NUMERO DE FILAS: ";
Leer fil;
Hasta Que fil>0 O fil>=1
Repetir
Escribir "NUMERO DE COLUMNAS: ";
Leer col;
Hasta Que col>0 O col>=1
5
Unidad V: Arreglos Bidimensionales
Ejemplo #4: Pseudocdigo que imprime la suma de cada una de las filas de una matriz
bidimensional N*M.
Solucin #4:
Proceso suma_filas
Definir a,sumafil Como Real;
Definir fil,col,f,c Como Entero;
Repetir
Escribir "NUMERO DE FILAS: ";
Leer fil;
Hasta Que fil>0 O fil>=1
Repetir
Escribir "NUMERO DE COLUMNAS: ";
Leer col;
Hasta Que col>0 O col>=1
FinProceso
6
Unidad V: Arreglos Bidimensionales
Ejemplo #5: Pseudocdigo que permita calcular la suma de los elementos de la diagonal
principal de una matriz (N*N), el producto de los elementos de la diagonal secundaria.
Solucin #5:
Proceso diagonal_sum_prod
Definir matriz,f,c,fil,producto_d,suma_d como Entero;
suma_d<-0;
producto_d<-1;
Repetir
Escribir "NUMERO DE FILAS: ";
Leer fil;
Hasta Que fil>0 O fil>=1
Dimension matriz[fil,fil];
7
Unidad V: Arreglos Bidimensionales
Ejemplo #6: Pseudocdigo que cree un array de N * 5 indicando que una empresa tiene
N vendedores cada uno de los cuales realiza 5 ventas. El array almacena los ingresos
obtenidos por cada vendedor en cada producto, imprimir el total de cada vendedor y
obtener los ingresos totales de la tienda.
Solucin #6:
Proceso vendedores
Definir total_vta,tienda,suma_vta,v,p,nv Como Entero;
Escribir "Introduzca el numero de vendedores:";
Leer nv;
Dimension tienda[nv,5];
8
Unidad V: Arreglos Bidimensionales
Solucin #7:
Proceso suma_matriz
Definir f,c,fil,col,MA,MB,MSUMA Como Entero;
Repetir
Escribir "NUMERO DE FILAS: ";
Leer fil;
Hasta Que fil>0 O fil>=1
Repetir
Escribir "NUMERO DE COLUMNAS: ";
Leer col;
Hasta Que col>0 O col>=1
Dimension MA[fil,col],MB[fil,col],MSUMA[fil,col];
9
Unidad V: Arreglos Bidimensionales
EJERCICIOS PROPUESTOS:
3. Pseudocdigo que imprime la suma de cada una de las columnas de una matriz
bidimensional N*M.
10