Sie sind auf Seite 1von 7

Universidad Politcnica de Durango

Sistema de resolucin de ecuaciones Gauss Jordan


Ingeniera en Telemtica Herramientas Algortmicas Facilitador: MTI Roobed Trejo Mier Alumnos: Erik Emilio Flores Delfn Oscar Manuel Contreras Cabrera

INTRODUCCION El mtodo de Gauss Jordan no es ms que un procedimiento que se realiza con el fin de determinar los valores que se le asignaran a incgnitas dentro de un sistema de ecuaciones, dicho sistema debe cumplir con ciertas caractersticas, como por ejemplo existe la llamada forma escalonada con la cual al terminar de hacer las operaciones esta se debe cumplir para poder afirmar los resultados obtenidos. El nombre se le reconoce por la interesante relevancia e investigacin de Carl Friedrich Gauss y aadiendo un paso ms de Wilhelm Jordan, dicho paso consiste en ir obteniendo los 1 delanteros durante los pasos uno al cuatro (llamados paso directo) as para cuando estos finalicen ya se obtendr la matriz en forma escalonada reducida. Los pasos para resolver por este mtodo son los siguientes: 1. Ir a la columna no cero extrema izquierda 2. Si el primer rengln tiene un cero en esta columna, intercambiarlo con otro que no lo tenga 3. Luego, obtener ceros debajo de este elemento delantero, sumando mltiplos adecuados del rengln superior a los renglones debajo de l 4. Cubrir el rengln superior y repetir el proceso anterior con la submatriz restante. Repetir con el resto de los renglones (en este punto la matriz se encuentra en la forma de escaln) 5. Comenzando con el ltimo rengln no cero, avanzar hacia arriba: para cada rengln obtener un 1 delantero e introducir ceros arriba de este sumando mltiplos correspondientes a los renglones correspondientes

OBJETIVO El objetivo de la prctica recae en que el alumno sea capaz de investigar por cuenta propia el funcionamiento del mtodo de resolucin de ecuaciones de Gauss Jordan y a su vez encontrar la manera de que este sea posible de programar en un lenguaje conocido (C++). Adems el alumno deber poner en prctica todos los conocimientos adquiridos dentro de la asignatura de Herramientas Algortmicas para la eficaz solucin de problemticas presentadas en la vida diaria. Disear por cuenta propia el algoritmo necesario para que el sistema creado no tenga ningn error y pueda dar una correcta solucin a un sistema de ecuaciones planteado de hasta n numero de ecuaciones. Como un extra agregaremos una ventana donde se pueda acceder fcilmente a los archivos tales como: Sistema desarrollado. Sistema para modificacin. Reporte del Sistema.

Desarrollo Primeramente se necesita saber manejar el mtodo de eliminacin Gauss Jordan, que como en la introduccin explicamos los pasos necesarios para realizar el mismo. El sistema en C++ fue diseado utilizando completa lgica basada en el mtodo Gauss Jordan, cabe mencionar que tuvo un largo proceso de planeacin y realizacin puesto que el algoritmo necesario para la ejecucin del programa fue diseado por nosotros. Se necesitaba pensar e imaginar la estructura que tendra para poder echarlo a andar. Una vez se tiene esto nos dirigimos directamente a hacer el Pseudocdigo, para analizar ms a fondo las variables y la matriz que se necesitara para resolver un sistema de ecuaciones de n*n. Una vez se tienes el pseudocdigo se puede pasar directamente a programarlo en cualquier lenguaje y como ya lo habamos mencionado lo utilizaremos en forma para el lenguaje de C++. La solucin de problemas fue uno de nuestros ms grandes retos puesto que tenamos algunos errores que no permita el correcto funcionamiento de nuestro programa, sin embargo ante la ausencia de ayuda nos dimos a la tarea de buscar dentro de fuentes confiables de programacin y computacin elementos que pudieran aclarar nuestras dudas en cuanto a la sintaxis o algn elemento mal posicionado de nuestro en nuestro cdigo. Es de resaltar que utilizamos las libreras de: iostream, conio.h, y cstdlib esta ultima como un elemento agregado a nuestro programa. Una vez que se cumplan satisfactoriamente los procesos lgicos de nuestro programa y que no existan errores dentro de la programacin nos dimos a la tarea de darle una mejora visual a nuestro programa, se agregaron cambios de estructura del programa, colores de letra y posicin de la misma puesto que nos pareca que el programa deba ser un poco mas agradable a la vista del usuario. Si bien se manejan bastantes ciclos y condicionantes lgicas dentro de nuestro pseudocdigo la verdad es que resulto mucho ms pequeo que los empleados para resolver problemas anteriores, y se muestra a continuacin:

PSEUDOCIDIGO
Pseudocdigo: GaussJordan Funciones: Estructuras: Constantes: Variables: Entero: incognita=0, pivote=0, x, y, z, m, i, a, contador, n Real: resta=0, conversor=0, Matriz: gaussj[incognita][incognita+1]; 1. Escribir Dame el valor de incognitas que tiene tu sistema de ecuaciones:"; 2. Leer incognita; 3. Hacer para int x=0 hasta x<incognita for(int y=0; y<(incognita+1); y++) Escribir "Ingrese el coeficiente de la variable en la posicion: [ " , (x+1)," / ",(y+1) , " ]" Leer gaussj[x][y]; y=y+1 Fin Para 4. Fin Para 5. Hacer para a=0 hasta a<incognita conversor=0; conversor=gaussj[pivote][pivote]; Hacer para y=0 hasta y<incognita+1 gaussj[pivote][y]=gaussj[pivote][y]/conversor; Fin Para Hacer Para x=0 hasta x<incognita Si x != pivote entonces resta=gaussj[x][pivote]; Hacer para z=0 hasta z<(incognita+1) gaussj[x][z]=((-1*resta)*gaussj[pivote][z])+gaussj[x][z]; z=z+1 Fin Para Fin Si a=a+1 Fin Para pivote++; 6. Fin Para 7. Escribir Tu matriz resuelta queda de la siguiente manera: "; 8. Hacer para m=0 hasta m<=incognita-1 Hacer para i=0 hasta i<=incognita Escribir ,gaussj[m][i],! i=i+1 Fin Para m=m+1 9. Fin Para 10. Hacer Para contador=0 hasta contador<incognita;contador++) Escribir "La incognita ", (contador+1) ," es: ,gaussj[contador][incognita]"; contador=contador+1 11. Fin Para 12. FIN

Si bien nuestro programa era eficiente y cumpla con las expectativas del profesor, nosotros decidimos ir un poco mas all de presentar un simple programa en C++ y por ello decidimos crear un men ejecutable desde el cual el usuario pudiese controlar el acceso al programa, al cdigo fuente, o tambin a este reporte y tener con esto mayor facilidad de manejo y limpieza al trabajar. El programa utilizado se llama AUTORUN PRO ENTERPRISE programa de muy fcil utilizacin puesto que es muy grafico e interacta en bastante medida con el usuario, permitindonos crear dicho men y del cual se muestra la ventana principal: Tenemos los botones de Ejecutar sistema, Codigo Fuente, Reporte y Salir.

CONCLUSIONES Como conclusin se puede decir que el objetivo principal del proyecto se cumpli, as como tener dicho sistema funcionando y cumpliendo las expectativas que tenamos en un principio, aadiendo as tambin nuevas funciones y libreras que no conocamos tales como las de system utilizando el cdigo de limpieza y cdigo para cambiar color en la terminal con la que se trabaja. Para concluir con la clase de Herramientas Algortmicas dela Ingeniera en Telemtica, se puede dar un trmino o final exitoso, dejando y dando a conocer el esfuerzo que se aplico en el estudio y mejora de lgica para el desarrollo de dichos sistemas. Un trabajo por dems demandante que afortunadamente para nosotros pudimos sacarlo adelante, nos deja bastante conocimiento el cual espero podamos aplicar dentro de todo el tiempo que dure nuestra carrera. Esperando de antemano que nuestro trabajo sea agradable para el profesor y que vengan ms trabajos y retos demandantes que ponga a prueba todos nuestros conocimientos y aptitudes.

Das könnte Ihnen auch gefallen