Sunteți pe pagina 1din 8

UNIDAD V:

ARREGLOS BIDIMENSIONALES

Unidad V: Arreglos Bidimensionales

UNIDAD V: ARREGLOS BIDIMENSIONALES


1.1GENERALIDADES:
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.
Un arreglo bidimensional N * M tiene N filas y M columnas; por lo tanto, tiene N
* M elementos dispuestos interiormente en memoria en forma sucesiva. Un
array de dos dimensiones equivale a una tabla de mltiples filas y mltiples
columnas.
Grficamente se puede representar como una tabla de valores.

Estructura de un array de dos dimensiones.


Si las filas se etiquetan de 0 a m y las columnas de 0 a n, el nmero de
elementos que tendr el array ser el resultado del producto N * M. El sistema
para localizar un elemento ser por las coordenadas representadas por el
nmero de fila y su nmero de columna (fila, columna).
1.2DECLARACIN DE ARRAYS BIDIMENSIONALES
El espacio que los arreglos ocupan en memoria se reserva en el momento de
realizar la declaracin de los mismos.
La sintaxis para la declaracin de un array de dos dimensiones es:
Dimension nombre_arreglo[numero_filas,numero_columnas];
Ejemplos de declaracin de arreglos bidimensionales:

Unidad V: Arreglos Bidimensionales

Definir matriz_ejemplo como Entero;


Dimension matriz_ejemplo[3,2]; //Matriz de 3 filas y 2 columnas que puede
almacenar 6 elementos

1.3INICIALIZACIN DE UN ARRAY:
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:
matriz_ejemplo [0,0] <- 15;
matriz_ejemplo [0,1] <- 25;
matriz_ejemplo [1,0] <- 30;
matriz_ejemplo [1,1] <- 35;
matriz_ejemplo [2,0] <- 8;
matriz_ejemplo [2,1] <- 5;
Ejemplo #1: Pseudocdigo para inicializar un arreglo de 3 filas y 4
columnas a 1.
Solucin #1:
Proceso inicializar_bidi
Definir matriz_ejemplo,fila,columna como entero;
Dimension matriz_ejemplo[3,4];
Para fila<-0 Hasta 2 Con Paso 1 Hacer
Para columna<-0 Hasta 3 Con Paso 1 Hacer
matriz_ejemplo[fila,columna] <- 1;
Escribir Sin Saltar matriz_ejemplo[fila,columna]," ";
FinPara
Escribir " ";
FinPara
FinProceso
1.4OPERACIONES QUE SE PUEDEN REALIZAR EN UNA MATRIZ:
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.
El formato general para asignacin directa de valores a los elementos es:

Insercin de elementos:
3

Unidad V: Arreglos Bidimensionales

<Nombre array> [ndice_fila,ndice_columna] = valor elemento;

Extraccin de elementos:
<Variable> = <nombre array>[ndice_fila,ndice_columna];
Ejemplo 2: Algoritmo que encuentre e imprima la transpuesta de una matriz.
La transpuesta de una matriz se obtiene al escribir las filas de la matriz como
columnas y las columnas como filas.
Proceso Matriz_transpuesta
Definir MAT,TMAT,nFilas,nColumnas,fila,columna como entero;
Escribir 'Numero de filas de la matriz ';
Leer nFilas;
nColumnas<-nFilas;
Dimension MAT[nFilas,nColumnas]; //Matriz Original
Dimension TMAT[nColumnas,nFilas]; //Almacenara la matriz
transpuesta
//Se piden los datos de la matriz
Para fila <-0 Hasta nFilas-1 Con Paso 1 Hacer
Para columna <-0 Hasta nColumnas-1 Con Paso 1 Hacer
Escribir 'Ingrese el elemento [', fila, ', ', columna, '] ' ;
Leer MAT[fila, columna]; //se almacena el elemento
TMAT[columna,fila]<-MAT[fila,columna]; //Se copia el
elemento

FinPara
FinPara
Escribir "MATRIZ TRANSPUESTA";
Para fila<-0 Hasta nFilas-1 Con Paso 1 Hacer
Para columna<-0 Hasta nColumnas-1 Con Paso 1 Hacer
Escribir Sin Saltar TMAT[fila,columna]," ";
FinPara
Escribir "";
FinPara
Ejemplo 3: Escribir un pseudocdigo que lea un array de N*M elementos y que
guarde 0

Unidad V: Arreglos Bidimensionales

en las posiciones pares y 1 en las posiciones impares. Imprimir el array


Proceso ubicar_posiciones
Definir matriz_ejemplo,fila,columna,indice como Entero;
Dimension matriz_ejemplo[3,4];
Para fila<-0 Hasta 2 Con Paso 1 Hacer
Para columna<-0 Hasta 3 Con Paso 1 Hacer
indice<-fila+columna;
Si indice MOD 2 = 0 Entonces
matriz_ejemplo[fila,columna] <- 0;
Sino
matriz_ejemplo[fila,columna] <- 1;

FinSi
Escribir Sin Saltar matriz_ejemplo[fila,columna]," ";
FinPara
Escribir "";
FinPara
resultante.

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
Dimension a[fil,col]; // Declaracin de la matriz
//Lectura de los datos de la matriz
Escribir "**Introduzca los datos de la matriz**";
Para f<-0 Hasta fil-1 Hacer
Para c<-0 Hasta col-1 Hacer
Escribir "Elemento[",f,"][",c,"]:";
Leer a[f,c];
FinPara
FinPara
//Escribir la suma de cada fila
Para f<-0 Hasta fil-1 Hacer
sumafil=0;
Para c<-0 Hasta col-1 Hacer
sumafil <- sumafil + a[f,c];
FinPara
Escribir "La suma de la fila ",f,"= ",sumafil;
FinPara
Finproceso
Ejemplo #5: Pseudocdigo que lea una matriz de N filas y N columnas
y que almacene en la diagonal principal unos y en las dems
posiciones ceros.

Unidad V: Arreglos Bidimensionales

Solucin #5:
Proceso diagonal
Definir matriz,f,c como Entero;
Dimension matriz[3,3];
Para f<-0 Hasta 2 Hacer
Para c<-0 Hasta 2 Hacer
Si f = c Entonces
matriz[f,c] <- 1;
Sino
matriz[f,c] <- 0;
FinSi
Escribir Sin Saltar matriz[f,c]," ";
FinPara
Escribir "";
FinPara
FinProceso

EJERCICIOS PROPUESTOS:
Autoevaluacin:
1.Segn lo explicado, cuales son para usted las ventajas de utilizar
arreglos
2.Cul es la sintaxis de declaracin de un arreglo?
3.Qu hace el compilador cuando se declara un arreglo?
4.Explique, qu es un ndice?
5.De acuerdo al siguiente trozo de cdigo, diga si se produce o no un error
y porque.
Dimension arreglo[5];
arreglo[13]<-3;
6.De acuerdo al siguiente trozo de cdigo, diga si se produce o no un error
y si lo se produce diga cul es la solucin.
Dimension arreglo1[5];
Dimension arreglo2[5];
// ...
arreglo2 <- arreglo1;

Unidad V: Arreglos Bidimensionales

7.- Pseudocdigo un array de N * M indicando que una empresa tiene


N vendedores cada uno de los cuales vende 5 productos. 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.
8.- 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.
9.- 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.

S-ar putea să vă placă și