5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 1/30
POO: Sistema de
ecuaciones lineales
P l a n t e l C a s a L i b e r t a d
M a t r i c u l a : 0 8 0 0 2 0 3 0 4
M a t : P r o g r a m a c i ó n O r i e n t a d a a
O b j e t o s
C o r r e o : l i r i c _ o @ h o t m a i l . c o m
2 2 / 0 6 / 2 0 1 0
Luis Gerardo Ramírez Carmona
En matemática y álgebra lineal, un sistema de
ecuaciones lineales, también conocido como sistema
lineal de ecuaciones o simplemente sistema lineal, es un
conjunto de ecuaciones lineales sobre un cuerpo o un
anillo conmutativo. El problema consiste en encontrar
los valores desconocidos de las variables x1, x2, x3…hasta xn que satisfacen las n ecuaciones. Este problema
será resuelto con ayuda del lenguaje C# en Windows
Form y solo se resolverá para sistemas de ecuaciones
lineales de 2, 3 y 4 incógnitas con 2, 3 y 4 ecuaciones
respectivamente.
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 2/30
POO: Sistema de ecuaciones lineales
ContenidoIntroducción. ................................................................................................................................. 2
¿Qué es C#? .............................................................................................................................. 2
Y el sistema de ecuaciones lineales… ...................................................................................... 2
Objetivo.......................................................................................................................................... 4
Resolución de los sistemas de ecuaciones. .............................................................................. 4
Sistema de dos ecuaciones con dos incógnitas ................................................................... 4
Sistema de tres ecuaciones con tres incógnitas .................................................................. 5Sistema de 4 ecuaciones con cuatro incógnitas ................................................................... 5
Código fuente. ................................................................................................................................ 7
Impresión de pantallas. ............................................................................................................... 26
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 3/30
POO: Sistema de ecuaciones lineales
Introducción.
¿Qué es C#?
♯ o C# (pronunciado si sharp en inglés) es un lenguaje de programación
orientado a objetos desarrollado y estandarizado por Microsoft como parte de
su plataforma .NET, que después fue aprobado como un estándar por la ECMA
e ISO.
Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma.NET
el cual es similar al de Java aunque incluye mejoras derivadas de otros lenguajes (entre ellos
Delphi).
La creación del nombre del lenguaje, C♯, proviene de dibujar dos signos positivos
encima de los dos signos positivos de "C++", queriendo dar una imagen de salto evolutivo del
mismo modo que ocurrió con el paso de C a C++.
C♯, como parte de la plataforma.NET, está normalizado por ECMA desde diciembre de
2001 (C# Language Specification "Especificación del lenguaje C♯"). El 7 de noviembre de 2005
salió la versión 2.0 del lenguaje que incluía mejoras tales como tipos genéricos, métodos
anónimos, iteradores, tipos parciales y tipos anulables. El 19 de noviembre de 2007 salió la
versión 3.0 de C# destacando entre las mejoras los tipos implícitos, tipos anónimos y LINQ
(Language Integrated Query -consulta integrada en el lenguaje).
Aunque C♯ forma parte de la plataforma.NET, ésta es una interfaz de programación de
aplicaciones (API); mientras que C♯ es un lenguaje de programación independiente diseñado
para generar programas sobre dicha plataforma. Ya existe un compilador implementado queprovee el marco de DotGNU - Mono que genera programas para distintas plataformas como
Win32, UNIX y Linux.
Y el sistema de ecuaciones lineales…
En matemática y álgebra lineal, un sistema de ecuaciones lineales, también conocido como
sistema lineal de ecuaciones o simplemente sistema lineal, es un conjunto de ecuaciones
lineales sobre un cuerpo o un anillo conmutativo. Un ejemplo de sistema lineal de ecuaciones
sería el siguiente:
El problema consiste en encontrar los valores desconocidos de las variables x1, x2 y x3
que satisfacen las tres ecuaciones.
C
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 4/30
POO: Sistema de ecuaciones lineales
El problema de los sistemas lineales de ecuaciones es uno de los más antiguos de la
matemática y tiene una infinidad de aplicaciones, como en procesamiento digital de señales,
análisis estructural, estimación, predicción y más generalmente en programación lineal así
como en la aproximación de problemas no lineales de análisis numérico.
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 5/30
POO: Sistema de ecuaciones lineales
Objetivo.El propósito del proyecto es desarrollar un programa en lenguaje C# que resuelva
Sistemas de Ecuaciones Lineales de dos, tres o cuatro ecuaciones con dos, tres o cuatro
incógnitas respectivamente. Este programara leerá los valores que acompañan a las incógnitas
y el termino independiente de cada una de las ecuaciones (literales) de forma ordenada
(a_x+b_y+c_z+d_u=e) e imprimirá en la pantalla el resultado de las incógnitas. Se podráescoger que sistema de ecuaciones se desea resolver mediante cajas de texto, el proyecto se
desarrolla en Windows form (ventanas) y los resultados se guardaran en un archivo con
extensión .txt y se podrá visualizar directamente en una ventana o se podrá abrir el archivo
para ver los resultados desde la primera ejecución hasta la última.
Resolución de los sistemas de ecuaciones.
Para resolver el sistema de ecuaciones se utilizó el método Cramer, que es
un teorema en álgebra lineal, que da la solución de un sistema lineal de ecuaciones en
términos de determinantes. Recibe este nombre en honor a Gabriel Cramer, es de importancia
teórica porque da una expresión explícita para la solución del sistema.
Sistema de dos ecuaciones con dos incógnitas
Para la solución de un sistema de ecuaciones de la forma:
Primero es importante representarlo de forma de matrices de la siguiente forma:
[ ] Entonces y puedes ser encontrada con la regla de cramer, con una división de
determinante de la siguiente forma:
| || |
| |
Se multiplican las literales de forma cruzada se restan y posteriormente son divididos los
resultados obtenidos de las determinantes.
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 6/30
POO: Sistema de ecuaciones lineales
Sistema de tres ecuaciones con tres incógnitas
La regla para el sistema de ecuaciones de tres incógnitas es similar, se resuelve con una
división de determinantes. Tenemos el sistema de ecuaciones de la forma:
Lo representamos en forma de matrices:
Entonces x, y, z pueden ser encontradas de la siguiente forma
Sistema de 4 ecuaciones con cuatro incógnitas
El sistema de ecuaciones de cuatro incógnitas con cuatro ecuaciones también fue resuelta por
el método cramer de la siguiente forma.
Tenemos nuestro sistema de ecuaciones de la siguiente forma:
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 7/30
POO: Sistema de ecuaciones lineales
{
lo representamos en forma de matrices:
Para posteriormente obtener lo siguiente (realizando el procedimiento de multiplicación
anterior con el sistema de ecuaciones de tres incógnitas con tres ecuaciones y el de dos
incógnitas con dos ecuaciones):
En este sistema al igual que los anteriores la determinante por la cual se van a dividir las
determinantes de las incógnitas es la misma.
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 8/30
POO: Sistema de ecuaciones lineales
Código fuente.
using System;using System.Collections.Generic;using System.ComponentModel;
using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using System.IO;
namespace WindowsFormsApplication1{
public partial class Form1 : Form{
public static double incognitas, a1,a2,a3,a4, b1,b2,b3,b4,c1,c2,c3,c4, d1,d2,d3,d4, e1,e2,e3,e4, determinante, x,y,z,w;// se dan dealta las variables a utilizar, se ponen en esta parte del programa para
poder acceder a ellas desde cualquier parte del programapublic Form1(){
InitializeComponent();}
private void label1_Click(object sender, EventArgs e){
}
private void menuStrip1_ItemClicked(object sender,ToolStripItemClickedEventArgs e)
{
}
private void button5_Click(object sender, EventArgs e){
}
private void button5_Click_1(object sender, EventArgs e)//boton deIntroducir valores
{
try //control de exepciones, mientras hace esto...
{incognitas = Convert.ToDouble(textBox1.Text);//se convierte
en numero la opcion del numero de incognitasif (incognitas == 2)// si el numero de incognitas es igual
a 2 temenos:{
textBox2.Visible = true;// se hacen visibles los camposnecesarios para introducir y ver los los resultados para dos incognitas condos ecuaciones
textBox3.Visible = true;textBox4.Visible = true;textBox11.Visible = true;
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 9/30
POO: Sistema de ecuaciones lineales
textBox10.Visible = true;textBox9.Visible = true;textBox22.Visible = true;textBox23.Visible = true;label2.Visible = true;label3.Visible = true;label9.Visible = true;
label8.Visible = true;label18.Visible = true;label19.Visible = true;label3.Text = "Y=";label8.Text = "Y=";button1.Visible = true;button2.Visible = true;button3.Visible = true;button6.Visible = true;textBox26.Visible = true;
}if (incognitas == 3)// si el numero de incognitas es igual
a 3 temenos:{
textBox2.Visible = true;// se hacen visibles los camposnecesarios para introducir y ver los los resultados para tres incognitascon tres ecuaciones
textBox3.Visible = true;textBox4.Visible = true;textBox5.Visible = true;textBox11.Visible = true;textBox10.Visible = true;textBox9.Visible = true;textBox8.Visible = true;textBox16.Visible = true;textBox15.Visible = true;textBox14.Visible = true;
textBox13.Visible = true;textBox22.Visible = true;textBox23.Visible = true;textBox24.Visible = true;label2.Visible = true;label3.Visible = true;label4.Visible = true;label9.Visible = true;label8.Visible = true;label7.Visible = true;label13.Visible = true;label12.Visible = true;label11.Visible = true;label18.Visible = true;
label19.Visible = true;label20.Visible = true;label3.Text = "Y+";label8.Text = "Y+";label4.Text = "Z=";label7.Text = "Z=";label11.Text = "Z=";button1.Visible = true;button2.Visible = true;button3.Visible = true;button6.Visible = true;textBox26.Visible = true;
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 10/30
POO: Sistema de ecuaciones lineales
}if (incognitas == 4)// si el numero de incognitas es igual
a 4 temenos:{
textBox2.Visible = true;// se hacen visibles los camposnecesarios para introducir y ver los los resultados para cuatro incognitascon cuatro ecuaciones
textBox3.Visible = true;textBox4.Visible = true;textBox5.Visible = true;textBox6.Visible = true;textBox7.Visible = true;textBox12.Visible = true;textBox11.Visible = true;textBox10.Visible = true;textBox9.Visible = true;textBox8.Visible = true;textBox21.Visible = true;textBox20.Visible = true;textBox19.Visible = true;textBox18.Visible = true;
textBox17.Visible = true;textBox16.Visible = true;textBox15.Visible = true;textBox14.Visible = true;textBox13.Visible = true;textBox22.Visible = true;textBox23.Visible = true;textBox24.Visible = true;textBox25.Visible = true;label2.Visible = true;label3.Visible = true;label4.Visible = true;label5.Visible = true;
label6.Visible = true;label10.Visible = true;label14.Visible = true;label15.Visible = true;label16.Visible = true;label17.Visible = true;label9.Visible = true;label8.Visible = true;label7.Visible = true;label13.Visible = true;label12.Visible = true;label11.Visible = true;label18.Visible = true;label19.Visible = true;
label20.Visible = true;label21.Visible = true;button1.Visible = true;button2.Visible = true;button3.Visible = true;button6.Visible = true;textBox26.Visible = true;label3.Text = "Y+";label8.Text = "Y+";label4.Text = "Z+";label7.Text = "Z+";label11.Text = "Z+";
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 11/30
POO: Sistema de ecuaciones lineales
}}catch (FormatException)// si se introduce una letra en ves de
un numero....{
MessageBox.Show("No es un valor numrico");//....nos apareceel siguiente mensaje....
MessageBox.Show("Ingrese nuevamente el valor...");//....siguido de este otro mensaje}try{
if (incognitas != 2 && incognitas != 3 && incognitas !=4)//si se escribe un numero diferente de 2, 3 y 4....
throw new OverflowException("No se aceptavalor");//....aparece este mensaje....
}catch (OverflowException){
MessageBox.Show("Solo se resuelven sistemas de ecuacioneslineales de dos, tres y cuatro incógnitas");//...seguido de este mensaje.
}}
private void button2_Click(object sender, EventArgs e)//boton delimpiar
{textBox2.Visible = false;//aqui se ocultan los labels, textbox
y botones que ya no se van a ocupartextBox3.Visible = false;textBox4.Visible = false;textBox5.Visible = false;textBox6.Visible = false;textBox7.Visible = false;
textBox12.Visible = false;textBox11.Visible = false;textBox10.Visible = false;textBox9.Visible = false;textBox8.Visible = false;textBox21.Visible = false;textBox20.Visible = false;textBox19.Visible = false;textBox18.Visible = false;textBox17.Visible = false;textBox16.Visible = false;textBox15.Visible = false;textBox14.Visible = false;textBox13.Visible = false;
textBox22.Visible = false;textBox23.Visible = false;textBox24.Visible = false;textBox25.Visible = false;label2.Visible = false;label3.Visible = false;label4.Visible = false;label5.Visible = false;label6.Visible = false;label10.Visible = false;label14.Visible = false;label15.Visible = false;
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 12/30
POO: Sistema de ecuaciones lineales
label16.Visible = false;label17.Visible = false;label9.Visible = false;label8.Visible = false;label7.Visible = false;label13.Visible = false;label12.Visible = false;
label11.Visible = false;label18.Visible = false;label19.Visible = false;label20.Visible = false;label21.Visible = false;button1.Visible = false;button2.Visible = false;button3.Visible = false;button6.Visible = false;textBox26.Visible = false;textBox1.Text = "";//en esta parte se borran todos los datos
pues en los textboxtextBox2.Text = "";textBox3.Text = "";
textBox4.Text = "";textBox5.Text = "";textBox6.Text = "";textBox7.Text = "";textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";textBox21.Text = "";textBox20.Text = "";textBox19.Text = "";textBox18.Text = "";
textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";textBox25.Text = "";
}
private void button4_Click(object sender, EventArgs e)//boton de
Salir{
Close();//instruccion necesaria para que el programa se cierre}
private void button1_Click(object sender, EventArgs e)//boton desolucion
{StreamWriter archivo = new
StreamWriter(@"C:\LuisGerardoRamirezCarmona.txt", true);//aqui se da lainstruccion para crear un documento .txt en la direccion especifica
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 13/30
POO: Sistema de ecuaciones lineales
archivo.WriteLine("UACM IZTAPAPALAPA");//se escribe lo que estaentre comillas en el archivo creado en el paso anterior
archivo.WriteLine("Luis Gerardo Ramirez Carmona");//se escribelo que esta entre comillas en el archivo creado en el paso anterior
Console.WriteLine(DateTime.Now);archivo.WriteLine(DateTime.Now);//aqui se escribe la fecha y la
hora en el archivo .txt creado
try//mientras se hace esto...{if (incognitas == 2)//si se escribio 2 en el numero de
incognitas aparecen los campos necesarios{
a1 = Convert.ToDouble(textBox2.Text);// se guardan losdatos de los textbox en una incognita asignada
a2 = Convert.ToDouble(textBox11.Text);
b1 = Convert.ToDouble(textBox3.Text);b2 = Convert.ToDouble(textBox10.Text);
c1 = Convert.ToDouble(textBox4.Text);c2 = Convert.ToDouble(textBox9.Text);
archivo.WriteLine("Ecuaciones:");// en esta parte seescriben los datos obtenidos en los pasos anteriores en el archivo .txt
if (b1 > 0)//en esta parte se hace un control deexepciones por si las ecuaciones tienen numeros negativos y se escribe enel archivo .txt
{archivo.WriteLine("{0}x+{1}y={2}", a1, b1, c1);
}if (b1 < 0){
archivo.WriteLine("{0}x{1}y={2}", a1, b1, c1);}
if (b1 > 0){archivo.WriteLine("{0}x+{1}y={2}", a2, b2, c2);
}if (b1 < 0){
archivo.WriteLine("{0}x{1}y={2}", a2, b2, c2);}
determinante = (a1 * b2) - (a2 * b1);//aqui se obtieneel valor de la determinante de la ecuacion
if (determinante == 0)// si el determinante es igual acero...
{
MessageBox.Show("La ecuacion es incompatible, notiene solución");//... aparece el siguiente mensaje en una nueva ventana
archivo.WriteLine("Solución:");//...se escribe loque esta entre comillas en el archivo .txt
archivo.WriteLine("La ecuacion es incompatible, notiene solución");
textBox2.Visible = false;//... y se haceninvisibles los siguientes campos
textBox3.Visible = false;textBox4.Visible = false;textBox5.Visible = false;
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 14/30
POO: Sistema de ecuaciones lineales
textBox6.Visible = false;textBox7.Visible = false;textBox12.Visible = false;textBox11.Visible = false;textBox10.Visible = false;textBox9.Visible = false;textBox8.Visible = false;
textBox21.Visible = false;textBox20.Visible = false;textBox19.Visible = false;textBox18.Visible = false;textBox17.Visible = false;textBox16.Visible = false;textBox15.Visible = false;textBox14.Visible = false;textBox13.Visible = false;textBox22.Visible = false;textBox23.Visible = false;textBox24.Visible = false;textBox25.Visible = false;label2.Visible = false;
label3.Visible = false;label4.Visible = false;label5.Visible = false;label6.Visible = false;label10.Visible = false;label14.Visible = false;label15.Visible = false;label16.Visible = false;label17.Visible = false;label9.Visible = false;label8.Visible = false;label7.Visible = false;label13.Visible = false;
label12.Visible = false;label11.Visible = false;label18.Visible = false;label19.Visible = false;label20.Visible = false;label21.Visible = false;button1.Visible = false;button2.Visible = false;button3.Visible = false;button6.Visible = false;textBox26.Visible = false;textBox1.Text = "";//... y se ponen en blanco los
siguientes textboxtextBox2.Text = "";
textBox3.Text = "";textBox4.Text = "";textBox5.Text = "";textBox6.Text = "";textBox7.Text = "";textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";textBox21.Text = "";textBox20.Text = "";
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 15/30
POO: Sistema de ecuaciones lineales
textBox19.Text = "";textBox18.Text = "";textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";
textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";
}
x = ((c1 * b2) - (c2 * b1)) / determinante;// esta esla formula para obtener el valor de x
y = ((a1 * c2) - (a2 * c1)) / determinante;// esta esla formula para obtener el valor de y
textBox22.Text = string.Format("{0}", x);// se escribeel resultado de x el textbox indicado
textBox23.Text = string.Format("{0}", y);// se escribeel resultado de y el textbox indicado
archivo.WriteLine("Solución:");//se escribe lo que estaentre comillas en el archivo .txt
archivo.WriteLine("x={0}", x);archivo.WriteLine("y={0}", y);archivo.WriteLine("============================");
}
if (incognitas == 3)//si se escribio 3 en el numero deincognitas aparecen los campos necesarios
{a1 = Convert.ToDouble(textBox2.Text);// se asignan los
valores dados en los textbox a las variables indicadasa2 = Convert.ToDouble(textBox11.Text);
a3 = Convert.ToDouble(textBox16.Text);
b1 = Convert.ToDouble(textBox3.Text);b2 = Convert.ToDouble(textBox10.Text);b3 = Convert.ToDouble(textBox15.Text);
c1 = Convert.ToDouble(textBox4.Text);c2 = Convert.ToDouble(textBox9.Text);c3 = Convert.ToDouble(textBox14.Text);
d1 = Convert.ToDouble(textBox5.Text);d2 = Convert.ToDouble(textBox8.Text);d3 = Convert.ToDouble(textBox13.Text);
archivo.WriteLine("Ecuaciones:");if (b1 < 0)//en esta parte se hace un control de
exepciones por si las ecuaciones tienen numeros negativos y se escribe enel archivo .txt
{archivo.WriteLine("{0}x{1}y+{2}z={3}", a1, b1, c1,
d1);}if (c1 < 0){
archivo.WriteLine("{0}x+{1}y{2}z={3}", a1, b1, c1,d1);
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 16/30
POO: Sistema de ecuaciones lineales
}if (b1 < 0 && c1 < 0){
archivo.WriteLine("{0}x{1}y{2}z={3}", a1, b1, c1,d1);
}
if (b2 < 0){archivo.WriteLine("{0}x{1}y+{2}z={3}", a2, b2, c2,
d2);}if (c2 < 0){
archivo.WriteLine("{0}x+{1}y{2}z={3}", a2, b2, c2,d2);
}if (b2 < 0 && c2 < 0){
archivo.WriteLine("{0}x{1}y{2}z={3}", a2, b2, c2,d2);
}
if (b3 < 0){
archivo.WriteLine("{0}x{1}y+{2}z={3}", a3, b3, c3,d3);
}if (c3 < 0){
archivo.WriteLine("{0}x+{1}y{2}z={3}", a3, b3, c3,d3);
}if (b3 < 0 && c3 < 0)
{ archivo.WriteLine("{0}x{1}y{2}z={3}", a3, b3, c3,d3);
}if (b1 > 0 && b2 > 0 && b3 > 0 && c1 > 0 && c2 > 0 &&
c3 > 0){
archivo.WriteLine("{0}x+{1}y+{2}z={3}", a1, b1, c1,d1);
archivo.WriteLine("{0}x+{1}y+{2}z={3}", a2, b2, c2,d2);
archivo.WriteLine("{0}x+{1}y+{2}z={3}", a3, b3, c3,d3);
}
determinante = (a1 * b2 * c3) + (b1 * c2 * a3) + (c1 *a2 * b3) - (a3 * b2 * c1) - (b3 * c2 * a1) - (c3 * a2 * b1); ; //ecuacion dela determinante de la matriz
if (determinante == 0)//si la determinante es igual acero...
{MessageBox.Show("La ecuacion es incompatible, no
tiene solución");//... se escribe la siguiente leyenda en una nueva ventanaarchivo.WriteLine("Solución:");//... se escribe en
el archivo .txt lo que se encuentra entre comillas
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 17/30
POO: Sistema de ecuaciones lineales
archivo.WriteLine("La ecuacion es incompatible, notiene solución");//... se escribe en el archivo .txt lo que se encuentraentre comillas
textBox2.Visible = false;//se hacen invisibles lossiguientes campos
textBox3.Visible = false;textBox4.Visible = false;
textBox5.Visible = false;textBox6.Visible = false;textBox7.Visible = false;textBox12.Visible = false;textBox11.Visible = false;textBox10.Visible = false;textBox9.Visible = false;textBox8.Visible = false;textBox21.Visible = false;textBox20.Visible = false;textBox19.Visible = false;textBox18.Visible = false;textBox17.Visible = false;textBox16.Visible = false;
textBox15.Visible = false;textBox14.Visible = false;textBox13.Visible = false;textBox22.Visible = false;textBox23.Visible = false;textBox24.Visible = false;textBox25.Visible = false;label2.Visible = false;label3.Visible = false;label4.Visible = false;label5.Visible = false;label6.Visible = false;label10.Visible = false;
label14.Visible = false;label15.Visible = false;label16.Visible = false;label17.Visible = false;label9.Visible = false;label8.Visible = false;label7.Visible = false;label13.Visible = false;label12.Visible = false;label11.Visible = false;label18.Visible = false;label19.Visible = false;label20.Visible = false;label21.Visible = false;
button1.Visible = false;button2.Visible = false;button3.Visible = false;button6.Visible = false;textBox26.Visible = false;textBox1.Text = "";// se ponen en blanco todos los
textboxtextBox2.Text = "";textBox3.Text = "";textBox4.Text = "";textBox5.Text = "";textBox6.Text = "";
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 18/30
POO: Sistema de ecuaciones lineales
textBox7.Text = "";textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";textBox21.Text = "";
textBox20.Text = "";textBox19.Text = "";textBox18.Text = "";textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";
}x = ((d1 * b2 * c3) + (b1 * c2 * d3) + (c1 * d2 * b3) -
(d3 * b2 * c1) - (b3 * c2 * d1) - (c3 * d2 * b1)) / determinante; //es laecuacion para encontrar el valor de x
y = ((a1 * d2 * c3) + (d1 * c2 * a3) + (c1 * a2 * d3) -(a3 * d2 * c1) - (d3 * c2 * a1) - (c3 * a2 * d1)) / determinante; //es laecuacion para encontrar el valor de y
z = ((a1 * b2 * d3) + (b1 * d2 * a3) + (d1 * a2 * b3) -(a3 * b2 * d1) - (b3 * d2 * a1) - (d3 * a2 * b1)) / determinante; //es laecuacion para encontrar el valor de z
textBox22.Text = string.Format("{0}", x);//se escribenlos valores obtenidos en los textbox correspondientes
textBox23.Text = string.Format("{0}", y);textBox24.Text = string.Format("{0}", z);archivo.WriteLine("Solución:");// se escribe en el
archivo .txt la solucion de las incognitasarchivo.WriteLine("x={0}", x);archivo.WriteLine("y={0}", y);archivo.WriteLine("z={0}", z);archivo.WriteLine("============================");
}
if (incognitas == 4)//si se escribio 4 en el numero deincognitas aparecen los campos necesarios
{a1 = Convert.ToDouble(textBox2.Text);//se asignan los
valores dados a las variables correspondientesa2 = Convert.ToDouble(textBox11.Text);a3 = Convert.ToDouble(textBox16.Text);
a4 = Convert.ToDouble(textBox21.Text);
b1 = Convert.ToDouble(textBox3.Text);b2 = Convert.ToDouble(textBox10.Text);b3 = Convert.ToDouble(textBox15.Text);b4 = Convert.ToDouble(textBox20.Text);
c1 = Convert.ToDouble(textBox4.Text);c2 = Convert.ToDouble(textBox9.Text);c3 = Convert.ToDouble(textBox14.Text);c4 = Convert.ToDouble(textBox19.Text);
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 19/30
POO: Sistema de ecuaciones lineales
d1 = Convert.ToDouble(textBox5.Text);d2 = Convert.ToDouble(textBox8.Text);d3 = Convert.ToDouble(textBox13.Text);d4 = Convert.ToDouble(textBox18.Text);
e1 = Convert.ToDouble(textBox6.Text);e2 = Convert.ToDouble(textBox7.Text);
e3 = Convert.ToDouble(textBox12.Text);e4 = Convert.ToDouble(textBox17.Text);
if (b1 < 0)//control de exepciones que se escriben enel archivo .txt por si se introducen valores negativos
{archivo.WriteLine("{0}x{1}y+{2}z+{3}w={4}", a1, b1,
c1, d1,e1);}if (c1 < 0){
archivo.WriteLine("{0}x+{1}y{2}z+{3}w={4}", a1, b1,c1, d1, e1);
}
if (d1 < 0){
archivo.WriteLine("{0}x+{1}y+{2}z{3}w={4}", a1, b1,c1, d1, e1);
}if (b1<0 && c1<0 && d1<0){
archivo.WriteLine("{0}x{1}y{2}z{3}w={4}", a1, b1,c1, d1, e1);
}
if (b2 < 0){
archivo.WriteLine("{0}x{1}y+{2}z+{3}w={4}", a2, b2,c2, d2, e2);}if (c2 < 0){
archivo.WriteLine("{0}x+{1}y{2}z+{3}w={4}", a2, b2,c2, d2, e2);
}if (d2 < 0){
archivo.WriteLine("{0}x+{1}y+{2}z{3}w={4}", a2, b2,c2, d2, e2);
}if (b2 < 0 && c2 < 0 && d2 < 0)
{archivo.WriteLine("{0}x{1}y{2}z{3}w={4}", a2, b2,
c2, d2, e2);}
if (b3 < 0){
archivo.WriteLine("{0}x{1}y+{2}z+{3}w={4}", a3, b3,c3, d3, e3);
}if (c3 < 0){
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 20/30
POO: Sistema de ecuaciones lineales
archivo.WriteLine("{0}x+{1}y{2}z+{3}w={4}", a3, b3,c3, d3, e3);
}if (d3 < 0){
archivo.WriteLine("{0}x+{1}y+{2}z{3}w={4}", a3, b3,c3, d3, e3);
}if (b3 < 0 && c3 < 0 && d3 < 0){
archivo.WriteLine("{0}x{1}y{2}z{3}w={4}", a3, b3,c3, d3, e3);
}
if (b4 < 0){
archivo.WriteLine("{0}x{1}y+{2}z+{3}w={4}", a4, b4,c4, d4, e4);
}if (c4 < 0){
archivo.WriteLine("{0}x+{1}y{2}z+{3}w={4}", a4, b4,c4, d4, e4);
}if (d4 < 0){
archivo.WriteLine("{0}x+{1}y+{2}z{3}w={4}", a4, b4,c4, d4, e4);
}if (b4 < 0 && c4 < 0 && d4 < 0){
archivo.WriteLine("{0}x{1}y{2}z{3}w={4}", a4, b4,c4, d4, e4);
}
if (b1 > 0 && c1 > 0 && d1 > 0 && b2 > 0 && c2 > 0 &&d2 > 0 && b3 > 0 && c3 > 0 && d3 > 0)
{archivo.WriteLine("{0}x+{1}y+{2}z+{3}w={4}", a1,
b1, c1, d1, e1);archivo.WriteLine("{0}x+{1}y+{2}z+{3}w={4}", a2,
b2, c2, d2, e2);archivo.WriteLine("{0}x+{1}y+{2}z+{3}w={4}", a3,
b3, c3, d3, e3);archivo.WriteLine("{0}x+{1}y+{2}z+{3}w={4}", a4,
b4, c4, d4, e4);}determinante = (((a1 * b2 - a2 * b1) * c3 + (a3 * b1 -
a1 * b3) * c2 + (a2 * b3 - a3 * b2) * c1) * d4 + ((a2 * b1 - a1 * b2) * c4+ (a1 * b4 - a4 * b1) * c2 + (a4 * b2 - a2 * b4) * c1) * d3 + ((a1 * b3 -a3 * b1) * c4 + (a4 * b1 - a1 * b4) * c3 + (a3 * b4 - a4 * b3) * c1) * d2 +((a3 * b2 - a2 * b3) * c4 + (a2 * b4 - a4 * b2) * c3 + (a4 * b3 - a3 * b4)* c2) * d1);//ecuacion para encontrar la determinante de las ecuaciones
if (determinante == 0)//si la determinante es igual acero...
{MessageBox.Show("La ecuacion es incompatible, no
tiene solución");//... sale la siguiente leyenda en una nueva ventanaarchivo.WriteLine("Solución:");//... se escribe lo
que esta entre comillas en el archivo .txt
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 21/30
POO: Sistema de ecuaciones lineales
archivo.WriteLine("La ecuacion es incompatible, notiene solución");
textBox2.Visible = false;//... se hacen invisibleslos siguientes campos
textBox3.Visible = false;textBox4.Visible = false;textBox5.Visible = false;
textBox6.Visible = false;textBox7.Visible = false;textBox12.Visible = false;textBox11.Visible = false;textBox10.Visible = false;textBox9.Visible = false;textBox8.Visible = false;textBox21.Visible = false;textBox20.Visible = false;textBox19.Visible = false;textBox18.Visible = false;textBox17.Visible = false;textBox16.Visible = false;textBox15.Visible = false;
textBox14.Visible = false;textBox13.Visible = false;textBox22.Visible = false;textBox23.Visible = false;textBox24.Visible = false;textBox25.Visible = false;label2.Visible = false;label3.Visible = false;label4.Visible = false;label5.Visible = false;label6.Visible = false;label10.Visible = false;label14.Visible = false;
label15.Visible = false;label16.Visible = false;label17.Visible = false;label9.Visible = false;label8.Visible = false;label7.Visible = false;label13.Visible = false;label12.Visible = false;label11.Visible = false;label18.Visible = false;label19.Visible = false;label20.Visible = false;label21.Visible = false;button1.Visible = false;
button2.Visible = false;button3.Visible = false;button6.Visible = false;textBox26.Visible = false;textBox1.Text = "";//... se ponen en blanco los
siguientes textboxtextBox2.Text = "";textBox3.Text = "";textBox4.Text = "";textBox5.Text = "";textBox6.Text = "";textBox7.Text = "";
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 22/30
POO: Sistema de ecuaciones lineales
textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";textBox21.Text = "";textBox20.Text = "";
textBox19.Text = "";textBox18.Text = "";textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";
}x = -(((b1 * c2 - b2 * c1) * d3 + (b3 * c1 - b1 * c3) *
d2 + (b2 * c3 - b3 * c2) * d1) * e4 + ((b2 * c1 - b1 * c2) * d4 + (b1 * c4
- b4 * c1) * d2 + (b4 * c2 - b2 * c4) * d1) * e3 + ((b1 * c3 - b3 * c1) *d4 + (b4 * c1 - b1 * c4) * d3 + (b3 * c4 - b4 * c3) * d1) * e2 + ((b3 * c2- b2 * c3) * d4 + (b2 * c4 - b4 * c2) * d3 + (b4 * c3 - b3 * c4) * d2) *e1) / determinante;//ecuacion para encontrar el valor de x
y = (((a1 * c2 - a2 * c1) * d3 + (a3 * c1 - a1 * c3) *d2 + (a2 * c3 - a3 * c2) * d1) * e4 + ((a2 * c1 - a1 * c2) * d4 + (a1 * c4- a4 * c1) * d2 + (a4 * c2 - a2 * c4) * d1) * e3 + ((a1 * c3 - a3 * c1) *d4 + (a4 * c1 - a1 * c4) * d3 + (a3 * c4 - a4 * c3) * d1) * e2 + ((a3 * c2- a2 * c3) * d4 + (a2 * c4 - a4 * c2) * d3 + (a4 * c3 - a3 * c4) * d2) *e1) / determinante;//ecuacion para encontrar el valor de y
z = -(((a1 * b2 - a2 * b1) * d3 + (a3 * b1 - a1 * b3) *d2 + (a2 * b3 - a3 * b2) * d1) * e4 + ((a2 * b1 - a1 * b2) * d4 + (a1 * b4- a4 * b1) * d2 + (a4 * b2 - a2 * b4) * d1) * e3 + ((a1 * b3 - a3 * b1) *
d4 + (a4 * b1 - a1 * b4) * d3 + (a3 * b4 - a4 * b3) * d1) * e2 + ((a3 * b2- a2 * b3) * d4 + (a2 * b4 - a4 * b2) * d3 + (a4 * b3 - a3 * b4) * d2) *e1) / determinante;//ecuacion para encontrar el valor de z
w = (((a1 * b2 - a2 * b1) * c3 + (a3 * b1 - a1 * b3) *c2 + (a2 * b3 - a3 * b2) * c1) * e4 + ((a2 * b1 - a1 * b2) * c4 + (a1 * b4- a4 * b1) * c2 + (a4 * b2 - a2 * b4) * c1) * e3 + ((a1 * b3 - a3 * b1) *c4 + (a4 * b1 - a1 * b4) * c3 + (a3 * b4 - a4 * b3) * c1) * e2 + ((a3 * b2- a2 * b3) * c4 + (a2 * b4 - a4 * b2) * c3 + (a4 * b3 - a3 * b4) * c2) *e1) / determinante;//ecuacion para encontrar el valor de w
textBox22.Text = string.Format("{0}", x);//se escribenlos valores obtenidos en los textbox correspondientes
textBox23.Text = string.Format("{0}", y);textBox24.Text = string.Format("{0}", z);textBox25.Text = string.Format("{0}", w);
archivo.WriteLine("Solución:");//se escriben losresultados dentro del archivo .txt
archivo.WriteLine("x={0}", x);archivo.WriteLine("y={0}", y);archivo.WriteLine("z={0}", z);archivo.WriteLine("w={0}", w);archivo.WriteLine("============================");
}}catch (FormatException)//...si no se escribe un valor
numerico...{
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 23/30
POO: Sistema de ecuaciones lineales
MessageBox.Show("No es un valor numerico");//...aparece lasiguiente leyenda en una nueva ventana...
MessageBox.Show("Ingrese nuevamente elvalor...");//...seguido de esta leyenda en otra ventana...
textBox1.Text = "";//...mientras se pone todos los textboxen blanco.
textBox2.Text = "";
textBox3.Text = "";textBox4.Text = "";textBox5.Text = "";textBox6.Text = "";textBox7.Text = "";textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";textBox21.Text = "";textBox20.Text = "";textBox19.Text = "";textBox18.Text = "";
textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";
}archivo.Close();//el archivo .txt se cierra, se imprimen los
valores antes mencionados y se guarda todo}
private void naranjaToolStripMenuItem_Click(object sender,EventArgs e)
{BackColor = System.Drawing.Color.Orange;//se pone de color
naranja el fondo de la ventana}
private void beigeToolStripMenuItem_Click(object sender, EventArgs e)
{BackColor = System.Drawing.Color.Beige;// se pone de color
beige el fondo de la ventana}
private void verdeToolStripMenuItem_Click(object sender, EventArgs e)
{BackColor = System.Drawing.Color.Green;// se pone de color
verde el fondo de la ventana}
private void amarilloToolStripMenuItem_Click(object sender,EventArgs e)
{
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 24/30
POO: Sistema de ecuaciones lineales
BackColor = System.Drawing.Color.Yellow;// se pone de coloramarillo en fondo de la ventana
}
private void limpiarToolStripMenuItem_Click(object sender,EventArgs e)//en el menu la opcion de limpiar y hace lo mismo que el botonlimpiar
{ textBox2.Visible = false;textBox3.Visible = false;textBox4.Visible = false;textBox5.Visible = false;textBox6.Visible = false;textBox7.Visible = false;textBox12.Visible = false;textBox11.Visible = false;textBox10.Visible = false;textBox9.Visible = false;textBox8.Visible = false;textBox21.Visible = false;textBox20.Visible = false;
textBox19.Visible = false;textBox18.Visible = false;textBox17.Visible = false;textBox16.Visible = false;textBox15.Visible = false;textBox14.Visible = false;textBox13.Visible = false;textBox22.Visible = false;textBox23.Visible = false;textBox24.Visible = false;textBox25.Visible = false;label2.Visible = false;label3.Visible = false;
label4.Visible = false;label5.Visible = false;label6.Visible = false;label10.Visible = false;label14.Visible = false;label15.Visible = false;label16.Visible = false;label17.Visible = false;label9.Visible = false;label8.Visible = false;label7.Visible = false;label13.Visible = false;label12.Visible = false;label11.Visible = false;
label18.Visible = false;label19.Visible = false;label20.Visible = false;label21.Visible = false;button1.Visible = false;button2.Visible = false;button3.Visible = false;textBox1.Text = "";textBox2.Text = "";textBox3.Text = "";textBox4.Text = "";textBox5.Text = "";
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 25/30
POO: Sistema de ecuaciones lineales
textBox6.Text = "";textBox7.Text = "";textBox12.Text = "";textBox11.Text = "";textBox10.Text = "";textBox9.Text = "";textBox8.Text = "";
textBox21.Text = "";textBox20.Text = "";textBox19.Text = "";textBox18.Text = "";textBox17.Text = "";textBox16.Text = "";textBox15.Text = "";textBox14.Text = "";textBox13.Text = "";textBox22.Text = "";textBox23.Text = "";textBox24.Text = "";textBox25.Text = "";
}
private void cerrarToolStripMenuItem_Click(object sender, EventArgs e)// opcion del menu salir, hace lo mismo que el boton salir
{Close();
}
private void button3_Click(object sender, EventArgs e)//boton paraver archivo
{if (openFileDialog1.ShowDialog() == DialogResult.OK)// si se le
da clic al boton ver archivo nos abre una nueva ventana para escoger elarchivo .txt
{ StreamReader archivo2 = new StreamReader(openFileDialog1.FileName);
textBox1.AppendText(archivo2.ReadToEnd());archivo2.Close();
}}
private void button6_Click(object sender, EventArgs e)// boton dever resultados
{StreamReader archivo2 = new
StreamReader(@"C:\LuisGerardoRamirezCarmona.txt");textBox26.AppendText(archivo2.ReadToEnd());// se escribe dentro
del textbox lo que esta dentro del archivo .txtarchivo2.Close();
}
private void acercaDeToolStripMenuItem_Click(object sender,EventArgs e)// parte del menu ayuda, acerca de..
{MessageBox.Show("Programa realizado por: Luis Gerardo Ramirez
Carmona,\nbajo la supervicion del profesor: Armando Valera Paulino,\ntrabajo de Programación orientada a objetos (POO)\nAño: 2010 Versión:1.0001");// se abre una nueva ventana que escribe lo que esta entrecomillas
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 26/30
POO: Sistema de ecuaciones lineales
}
private void Form1_Load(object sender, EventArgs e){
}
private void verArchivoToolStripMenuItem_Click(object sender,EventArgs e)// parte del menu ver, ver archivo, hace lo mismo que el botonver archivo
{if (openFileDialog1.ShowDialog() == DialogResult.OK){
StreamReader archivo2 = new StreamReader(openFileDialog1.FileName);
textBox1.AppendText(archivo2.ReadToEnd());archivo2.Close();
}}
private void verResultadosToolStripMenuItem_Click(object sender,
EventArgs e)//parte del menu ver, ver resultados, hace lo mismo que elboton ver resultados
{StreamReader archivo2 = new
StreamReader(@"C:\LuisGerardoRamirezCarmona.txt");textBox26.AppendText(archivo2.ReadToEnd());archivo2.Close();
}
private void linkLabel1_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)// en esta parte se muestran links para
paginas que tienen informacion relacionada con el programa{linkLabel1.LinkVisited = true;System.Diagnostics.Process.Start("IExplore",
"http://www.vitutor.com/ecuaciones/sistemas/sis0_Contenidos.html" );}
private void linkLabel2_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)
{linkLabel2.LinkVisited = true;System.Diagnostics.Process.Start("IExplore",
"http://es.wikipedia.org/wiki/Sistema_de_ecuaciones_lineales" );}
private void linkLabel3_LinkClicked(object sender,LinkLabelLinkClickedEventArgs e)
{linkLabel3.LinkVisited = true;System.Diagnostics.Process.Start("IExplore",
"http://www.math.com.mx/docs/sec/sec_0014_Sistemas_Lineales.pdf" );}
}}
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 27/30
POO: Sistema de ecuaciones lineales
Impresión de pantallas.Inicio del programa
Seleccionamos el número de incógnitas y damos clic al botón “introducir valores”…
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 28/30
POO: Sistema de ecuaciones lineales
Introducimos los valores de las incógnitas y damos clic al botón “Solución”…
Damos clic al botón “Ver resultados”…
Al dar clic en el botón “Ver archivo”…
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 29/30
POO: Sistema de ecuaciones lineales
Impresiones de pantalla de los menús….
5/10/2018 ECUACIONES LINEALES - slidepdf.com
http://slidepdf.com/reader/full/ecuaciones-lineales-55a0c332e8e91 30/30
POO: Sistema de ecuaciones lineales
Top Related