Sunteți pe pagina 1din 12

MATRICES Son un espacio de almacenamiento continuo, que contiene una serie de elementos del mismo tipo de datos.

Desde el punto de vista lgico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas) en el caso de dos dimensiones).

Todo Arreglo se compone de un determinado nmero de elementos. Cada elemento es referenciado por la posicin que ocupa dentro del vector. Dichas posiciones son llamadas ndice y siempre son correlativos. Existen formas de indexar los elementos de una matriz:

Indexacin base-cero (0): En este modo el primer elemento del vector ser la componente cero ('0') del mismo, es decir, tendr el ndice '0'. En consecuencia, si el vector tiene 'n' componentes la ltima tendr como ndice el valor 'n-1'. Java y el lenguaje C es un ejemplo tpico que utiliza este modo de indexacin. Indexacin base-uno (1): En esta forma de indexacin, el primer elemento de la matriz tiene el ndice '1' y el ltimo tiene el ndice 'n' (para una matriz de 'n' componentes).

Se trabajar con indexacin base-Cero.

Una matriz es un arreglo bidimensional (2 dimensiones, filas y columnas)

Las matrices nos permitirn registrar conjuntos de datos, todos del mismo tipo. Podremos crear matrices de enteros de tipo Entero o de reales de tipo double as como matrices de cadenas de caracteres pero en un mismo array no podremos mezclar datos de distinto tipo.

Cada elemento de la matriz podr ser accedido directamente por el nombre de la matriz seguido de uno o ms subndices enteros, en funcin de la dimensin de la matriz, encerrados entre corchetes (M[0], M[1]...).

Nota: No confundir los elementos de la matriz con las posiciones o ndices de la Misma

Tip! para el diseador El nmero mximo de dimensiones o de elementos depende de la memoria disponible (lmites establecidos por el compilador)

Como accesar a los elementos de la matriz

Como accesar a los elementos de la matriz podemos ver que cada elemento de una matriz tiene una posicin (dado por la fila y columna) y un dato, por ejemplo: M[0][1] tiene el dato 7 M[3][2] error porque no existe la fila 3 M[2][0] tiene el dato 2 M[2][3] tiene el dato 8

Cada elemento del array puede ser manejado como cualquier variable. Por ejemplo:

Entero A = M[0][1] + M[1][1]; // A = 7 + 6 = 13 Entero B = 2 + M[1][2]; // B = 2 + 4 = 6 M[0][0] = A + B; // M[0][0] = 13 + 6 = 19 Nota: En adelante se hace referencia a las estructuras creadas con base a la utilizacin de clases, mtodos y el nivel de accesibilidad de los mismos.

I DECLARACION DE LA ESTRUCTURA
1.1CREACION DE LA MATRIZ

1.2 Definir las variables que manipularn la estructura. En esta parte del diseo es necesario definir las variables ndices, variables de clculos y operaciones que regirn los mtodos con mbito global y el nivel de visiblilidad. Para darle una correcta documentacin al diseo es recomendable comentar el uso que tendr dicha variable en la estructura que se est diseando

Ejemplo Publicoo Entero M [ ][ ]; // Estructura de la Matriz Publicoo Entero F,C; // Almacenara os ndices de la matriz Publicoo Entero MaxF , MaxC; //Capacidad mxima almacenamiento Publicoo Entero Elem;// Elemento que se agrega a la Matriz (Tecleado por el usuario)

II INICIALIZACIN DE LA ESTRUCTURA
Elaboracin de un mtodo constructor para inicializar la estructura. 2.1 Se toman como referencia para el tamao de la matriz los parmetros contenidos en las variables NF y NC, los datos de estos parmetros son obtenidos a travs de otra clase Que llamaremos MenuPpal donde el usuario determina el tamao de la matriz. 2.2 Se indica nivel de acceso pblico a la estructura creada. 2.3 Creacin de la matriz se representa como estructura de datos definida por el usuario 2.4 Se inicializan los valores de las variables de la estructura.

Ejemplo Publico M (entero NF, entero NC) // se recibe parmetro para tamao de matriz Inicio M = new Entero [NF][NC]; MaxF =NF-1; MaxC =NC-1; F=-1; C=-1; Fin

III ENCAPSULAMIENTO
En este caso encapsularemos

publico Entero[][] getMatriz() Inicio retornar Matriz; Fin publico void setMatriz(Entero[][] Matriz) Inicio Matriz = Matriz; Fin publico void SetF(Entero F) Inicio F=F; Fin publico Entero getF() Inicio retornar F; Fin publico Entero getC() Inicio retornar C; Fin publico void SetC(Entero C) Inicio C=C; Fin

IV Mtodos
Los mtodos son subrutinas que gobernaran a la estructura de datos creada, los mtodos permitirn definir el comportamiento de la estructura durante la ejecucin del programa. Las operaciones cotidianas que realizan las matrices son las siguientes Insercin Eliminacin Bsqueda Ordenamiento Visualizacin

Inicialmente definiremos los mtodos que indicarn el estado de la estructura en este caso nos interesa saber cuando la matriz est llena y cuando esta vaca para lo cual realizaremos mtodos booleanos que determinar si es falso o verdadero el estado consultado.

3.1 Mtodo para determinar si una matriz esta vaca. Publico booleano MatrizVacia() Inicio Si ((F==-1) y (C==-1)) Inicio retorne Verdadero; sino retorne falso; Fin Si Fin Metodo Explicacin: Las variables F y C son los ndices de la matriz y se est utilizando el sistema de indexacin en base a 0, por lo cual si el valor de las filas y columnas es de -1 indicara que la estructura esta vaca.

3.2 Mtodo para determinar si una matriz est Llena. Publico booleano MatrizLLena() Inicio Si ((F==MaxF) y (C== MaxC)) Inicio retorne Verdadero; sino retornare falso; Fin Si Fin Metodo Explicacin: Las variables MaxF y MaxC estn almacenado la capacidad mxima de almacenamiento de la matriz, por lo tanto se comparan los ndices con las capacidades en caso tal que sean iguales nos indicara que la estructura est Llena. METODO BOOLEANO QUE DETERMINA SI LA MATRIZ ES CUADRADA publico boolean MatrizCuadrada() Inicio si ((MaxF==MaxC)) Inicio retornar verdadero; Fin sino retornar falso; Fin

Explicacin: Las variables MaxF y MaxC estn guardando la capacidad mxima de almacenamiento que serian lo mismo que la longitud de las filas y la longitud de la columna, por lo tanto se comparan dichas variables y si sin iguales la matriz es cuadrada

METODO PARA LLENAR MATRIZ publico void LlenarMatriz( ) Inicio si(!MatrizLlena()) Inicio Para (F=0;F<= MaxF;F++)//1.1 Inicio Para (C=0;C<=MaxC;C++)//1.2 Inicio
Elem = Escriba(" Digite numero en la posicion "+F +" ," +C+ "===> ");

Matriz[F][C] = Elem; Fin Escriba("\n La Matriz a quedado llena !! "); Fin FIn sino Escriba("\n Matriz llena !! Imposible introducir un valor a la Matriz"); Fin

Explicacin: Se verifica que la matriz no este llena , se realiza ciclos repetitivos con los ndices F para las filas y C para las columnas, se captura valor y se almacena en la matriz en la posicin que indiquen los ndices, el mtodo llena la matriz cada vez que se invoca.

METODO PARA IMPRIMIR MATRIZ publico void Imprimir () Inicio si (MatrizVacia()) Inicio
Escriba(" La Matriz esta vacia, no ntiene elementos que mostrar ");

Fin sino Inicio Para (Entero i = 0 ; i <= MaxF ; i++ ) Inicio Escriba(""); Para (Entero j = 0 ; j <= MaxC ; j++ ) Inicio Escriba("\t" + getMatriz()[i][j]); Fin Fin Escriba(""); Fin Explicacin: Se verifica que la matriz no este vacia, se realiza ciclos repetitivos con los ndices F para las filas y C para las columnas, se imprime en pantalla el valor de la matriz en la posicin que indiquen los ndices, el mtodo imprime toda la matriz cada vez que se invoca.

METODO QUE IMPRIME LA DIAGONAL PRINCIPAL DE LA MATRIZ publico void DiagonalPpal () Inicio si (!MatrizVacia()) Inicio si (MatrizCuadrada()) Inicio Para (Entero i = 0 ; i <= MaxF ; i++ ) Inicio Escriba("\t" +getMatriz()[i][i]); Fin Fin sino Escriba("La matriz no es cuadrada"); Fin sino Escriba("La matriz esta Vacia"); Fin METODO QUE IMPRIME LA DIAGONAL SECUNDARIA publico void DiagonalSec () Inicio Para (Entero i = MaxF; i >= 0 ; i-- ) Inicio Para (Entero j = 0 ; j <= MaxC ; j++ ) Inicio si (i+j==MaxF) Inicio Escriba("\t" +getMatriz()[i][j]); Fin Fin Fin Fin

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