Sei sulla pagina 1di 4

DefSng A-H: DefInt I-N: DefSng O-Z

Option Explicit: Option Base 1

Dim A(10, 11) 'Declaracion de variables. Para la matriz ampliada

Dim N, N1, i, j, k, Txt$, Pivote, Constante

Private Sub CmdCalcular_Click()

SisEcua.TxtInicio.Text = "Empece a Calcular"

Open "C:\Users\Mario\Desktop\sisatema de ecuaciones\ProyectoPro2_1_01_2H- sistema de


ecuaciones\Visual Basic 6.0\Entrada_datos.txt" For Input As #1

Open "C:\Users\Mario\Desktop\sisatema de ecuaciones\ProyectoPro2_1_01_2H- sistema de


ecuaciones\Visual Basic 6.0\Salida_datos.txt" For Output As #2

Input #1, N

N1 = N + 1 ' variable N1 por la Matriz Ampliada de Datos[A]

For i = 1 To N ' lectura de los datos del archivo SisEcuaDat

For j = 1 To N1

Input #1, A(i, j)

Next j

Next i

Print #2, "" 'Impresion de los datos en el archivo SisEcuaRep

Print #2, "*** SISTEMA DE ECUACIONES ***"

Print #2, ""

Print #2, " Matriz Ampliada de Datos [A] "

Print #2, ""

Print #2, "Nº. de Filas = "; N

Print #2, "Nº. de Columas = "; N1


Print #2, ""

For i = 1 To N 'Algoritmo de Gauss Jordan

For j = 1 To N1

Txt$ = Format(A(i, j), "####0.00")

Txt$ = Right(" " & Txt$, 8)

Print #2, Txt$;

Next j

Print #2, ""

Next i

'-----------------------------------

For i = 1 To N

Pivote = A(i, i)

If Pivote = 0 Then 'Pivote cuando es cero

SisEcua.TxtFin.Text = "El Pivote es cero en la fila="

SisEcua.TxtFila.Text = CStr(i)

Print #2, "El Pivote es cero en la fila="; i

GoTo Fin:

End If

For j = i To N1 'Pivote cuando no es cero

A(i, j) = A(i, j) / Pivote

Next j

For k = 1 To N 'Operaciones horizontales

If k <> i Then
Constante = A(k, i)

For j = i To N1

A(k, j) = A(k, j) - A(i, j) * Constante

Next j

End If

Next k

Next i

'-----------------------------------------

Print #2, "" 'Impresion de los datos en el archivo SisEcuaRep

Print #2, "Matriz Ampliada de Resultados [A]"

Print #2, ""

Print #2, "No. de Filas = "; N

Print #2, "No. de Colum = "; N1

Print #2, ""

For i = 1 To N

For j = 1 To N1

Txt$ = Format(A(i, j), "####0.00")

Txt$ = Right(" " & Txt$, 8)

Print #2, Txt$;

Next j

Print #2, ""

Next i

SisEcua.TxtFin.Text = "Termine de Calcular"

Fin: Close #1, #2


End Sub

Private Sub CmdLimpiar_Click()

SisEcua.TxtInicio.Text = ""

SisEcua.TxtFin.Text = ""

SisEcua.TxtFila.Text = ""

End Sub

' Ing. Pilaluisa Quinatoa José Ramiro MSc.

Potrebbero piacerti anche