• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Matrices
 

Matrices

on

  • 5,672 views

Explicacion de Matrices, desarrollo de una clase que defina y manipule la estructura

Explicacion de Matrices, desarrollo de una clase que defina y manipule la estructura

Statistics

Views

Total Views
5,672
Views on SlideShare
4,165
Embed Views
1,507

Actions

Likes
0
Downloads
58
Comments
0

2 Embeds 1,507

http://tomaccodesign.com 1506
http://localhost 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft Word

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Matrices Matrices Document Transcript

    • MATRICESSon un espacio de almacenamiento continuo, que contiene una serie deelementos del mismo tipo de datos. Desde el punto de vista lógico una matriz sepuede 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 número de elementos. Cadaelemento es referenciado por la posición que ocupa dentro del vector. Dichasposiciones son llamadas índice y siempre son correlativos. Existen formas deindexar los elementos de una matriz: Indexación 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 típico que utiliza este modo de indexación. Indexación base-uno (1): En esta forma de indexación, 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 indexación base-Cero.Una matriz es un arreglo bidimensional (2 dimensiones, filas y columnas)
    • Las matrices nos permitirán 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 podremosmezclar datos de distinto tipo.Cada elemento de la matriz podrá ser accedido directamente por el nombre de lamatriz seguido de uno o más subíndices enteros, en función de la dimensión de lamatriz, encerrados entre corchetes (M[0], M[1]...).
    • Nota: No confundir los elementos de la matriz con las posiciones o índices de laMismaTip! para el diseñadorEl número máximo de dimensiones o de elementos depende de la memoriadisponible (límites establecidos por el compilador)Como accesar a los elementos de la matrizComo accesar a los elementos de la matrizpodemos ver que cada elemento de una matriz tiene una posición (dado por la filay columna) y un dato, por ejemplo:M[0][1] tiene el dato 7M[3][2] error porque no existe la fila 3M[2][0] tiene el dato 2M[2][3] tiene el dato 8Cada elemento del array puede ser manejado como cualquier variable. Porejemplo:
    • Entero A = M[0][1] + M[1][1]; // A = 7 + 6 = 13Entero B = 2 + M[1][2]; // B = 2 + 4 = 6M[0][0] = A + B; // M[0][0] = 13 + 6 = 19Nota: En adelante se hace referencia a las estructuras creadas con base a lautilización de clases, métodos y el nivel de accesibilidad de los mismos.
    • I DECLARACION DE LA ESTRUCTURA1.1CREACION DE LA MATRIZ1.2 Definir las variables que manipularán la estructura.En esta parte del diseño es necesario definir las variables índices, variables decálculos y operaciones que regirán los métodos con ámbito global y el nivel devisiblilidad. Para darle una correcta documentación al diseño es recomendablecomentar el uso que tendrá dicha variable en la estructura que se está diseñandoEjemploPublicoo Entero M [ ][ ]; // Estructura de la MatrizPublicoo Entero F,C; // Almacenara os índices de la matrizPublicoo Entero MaxF , MaxC; //Capacidad máxima almacenamientoPublicoo Entero Elem;// Elemento que se agrega a la Matriz (Tecleado por el usuario)
    • II INICIALIZACIÓN DE LA ESTRUCTURAElaboración de un método constructor para inicializar la estructura.2.1 Se toman como referencia para el tamaño de la matriz los parámetroscontenidos en las variables NF y NC, los datos de estos parámetros son obtenidosa través de otra clase Que llamaremos MenuPpal donde el usuario determina eltamaño de la matriz.2.2 Se indica nivel de acceso público a la estructura creada.2.3 Creación de la matriz se representa como estructura de datos definida por elusuario2.4 Se inicializan los valores de las variables de la estructura.EjemploPublico M (entero NF, entero NC) // se recibe parámetro para tamaño de matrizInicio M = new Entero [NF][NC]; M =NF-1; M =NC-1; F=-1; C=-1;Fin
    • III ENCAPSULAMIENTOEn este caso encapsularemospublico Entero[][] getMatriz()Inicio retornar Matriz;Finpublico void setMatriz(Entero[][] Matriz)Inicio Matriz = Matriz;Finpublico void SetF(Entero F)Inicio F=F; Finpublico Entero getF() Inicio retornar F; Finpublico Entero getC()Inicio retornar C;Finpublico void SetC(Entero C)Inicio C=C;Fin
    • IV MétodosLos métodos son subrutinas que gobernaran a la estructura de datos creada, losmétodos permitirán definir el comportamiento de la estructura durante la ejecucióndel programa.Las operaciones cotidianas que realizan las matrices son las siguientes Inserción Eliminación Búsqueda Ordenamiento VisualizaciónInicialmente definiremos los métodos que indicarán el estado de la estructura eneste caso nos interesa saber cuando la matriz está llena y cuando esta vacíapara lo cual realizaremos métodos booleanos que determinar si es falso overdadero el estado consultado.3.1 Método para determinar si una matriz esta vacía.Publico booleano MatrizVacia()Inicio Si ((F==-1) y (C==-1)) Inicio retorne Verdadero; sino retorne falso; Fin SiFin MetodoExplicación: Las variables F y C son los índices de la matriz y se está utilizandoel sistema de indexación en base a 0, por lo cual si el valor de las filas y columnases de -1 indicaría que la estructura esta vacía.
    • 3.2 Método para determinar si una matriz está Llena.Publico booleano MatrizLLena()Inicio Si ((F==MaxF) y (C== MaxC)) Inicio retorne Verdadero; sino retornare falso; Fin SiFin MetodoExplicación: Las variables MaxF y MaxC están almacenado la capacidad máximade almacenamiento de la matriz, por lo tanto se comparan los índices con lascapacidades en caso tal que sean iguales nos indicaría que la estructura estáLlena.METODO BOOLEANO QUE DETERMINA SI LA MATRIZ ES CUADRADApublico boolean MatrizCuadrada()Inicio si ((MaxF==MaxC)) Inicio retornar verdadero; Fin sino retornar falso;FinExplicación: Las variables MaxF y MaxC están guardando la capacidad máximade almacenamiento que serian lo mismo que la longitud de las filas y la longitud dela columna, por lo tanto se comparan dichas variables y si sin iguales la matriz escuadrada
    • METODO PARA LLENAR MATRIZpublico 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");FinExplicación: Se verifica que la matriz no este llena , se realiza ciclos repetitivoscon los índices F para las filas y C para las columnas, se captura valor y sealmacena en la matriz en la posición que indiquen los índices, el método llena lamatriz cada vez que se invoca.
    • METODO PARA IMPRIMIR MATRIZpublico 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("");FinExplicación: Se verifica que la matriz no este vacia, se realiza ciclos repetitivoscon los índices F para las filas y C para las columnas, se imprime en pantalla elvalor de la matriz en la posición que indiquen los índices, el método imprime todala matriz cada vez que se invoca.
    • METODO QUE IMPRIME LA DIAGONAL PRINCIPAL DE LA MATRIZpublico 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"); FinMETODO QUE IMPRIME LA DIAGONAL SECUNDARIApublico 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 FinFin