• Viernes 8 de Noviembre de 2024, 17:01

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - evilesq2

Páginas: [1]
1
VB .NET / como puedo utilizar el metodo split y el listview
« en: Jueves 11 de Septiembre de 2008, 18:37 »
:hitcomp:  pues estoy haciendo el metodo de biseccion y me piedieron que los resultados los exprese en una tabla, y estoy utilizando el listview pero no se  :comp: como mandar los datos desde mi clase asta ese control , solo ya lo hice de manera estatica, ya lo intente de otra manera y si lo manda pero solo a la primera posicion y estube leyendo sobre el metodo split pero no se como mandar a imprir el vector al listview  :ouch:  

este codigo es de mi clase:

Public Class csBiseccion
    Private xa As Double
    Private xb As Double
    Private iteraciones As Integer
    Private err As Double 'dim variable as tipo

    Sub New(ByVal a As Double, ByVal b As Double, ByVal iteraciones As Integer, ByVal err As Double) 'Constructor
        Me.xa = a    'Damos valores a los miembros privados de la clase
        Me.xb = b
        Me.iteraciones = iteraciones
        Me.err = err
    End Sub
    Private Function Evaluar(ByVal x As Double) As Double 'Metodo que retorna un double
        'Recordamos la funcion es e(-x)-ln(x)
        'x = Math.Exp(-(x)) - Math.Log(x)
        'x = (-2) + (7 * x) - (5 * (Math.Pow(x, 2))) + 6 * (Math.Pow(x, 3))
        'Dim aux As Double
        'aux = x * x
        x = Math.Log(x * x) - (0.7)


        Return x
    End Function
    Public Function Biseccion() As String
        Dim inf As Double
        Dim sup As Double
        Dim cadena As String = ""
        Dim xraiz As Double
        Dim Fx As Double
        Dim ciclos As Integer = 1 'Contar cuantos ciclos utilizo
        Dim errorcal As Double = 0
        Dim xprevia As Double
        Dim xactual As Double
        Dim bandera = 1 '1 xprevia es el liminf del intervalo y bandera=2 la xprevia=limsup
        Dim finmotivo As Integer = 0 'Si encontro la solucion y como, 1 la hallo 0 no hallo
        Dim imprimir As String = ""




        inf = Me.Evaluar(Me.xa)
        sup = Me.Evaluar(Me.xb)
        If (inf * sup) < 0 Then 'Probamos si hay solucion en el Intervalo
            While (Me.iteraciones > 0)
                imprimir += Chr(13) & "iteraciones" + Convert.ToString(Me.iteraciones) & Chr(13)



                xraiz = (Me.xa + Me.xb) / 2
                Fx = Me.Evaluar(xraiz)
                If (Me.xa * Fx) < 0 Then
                    bandera = 2
                    Me.xb = xraiz
                Else
                    If Me.xa * Fx > 0 Then
                        bandera = 1
                        Me.xa = xraiz

                    Else
                        Return cadena = "Solución es: " + Convert.ToString(xraiz)
                    End If
                End If
                If bandera = 1 Then
                    xprevia = Me.xb
                    imprimir += "Xprevia" + Convert.ToString(xprevia) & Chr(13)

                Else
                    xprevia = Me.xa
                    imprimir += "Xprevia" + Convert.ToString(xprevia) & Chr(13)
                End If
                xactual = xraiz
                imprimir += "Xactual" + Convert.ToString(xactual) & Chr(13)
                If ciclos > 1 Then
                    errorcal = Math.Abs((xactual - xprevia) / xactual) * 100
                    imprimir += "error " + Convert.ToString(errorcal) & Chr(13)
                    If errorcal <= Me.err Then
                        finmotivo = 1
                        Exit While
                    End If
                End If
                ciclos = ciclos + 1
                Me.iteraciones = Me.iteraciones - 1
            End While
        Else
            cadena = "No hay solucion en el intervalo"
            Me.xa = Me.xa + 1.0
            Me.xb = Me.xb + 1.0

        End If
        If finmotivo = 1 Then
     
            'cadena = "La raíz es: " + Convert.ToString(xraiz)
            'cadena = cadena + " Iteraciones: " + Convert.ToString(ciclos)
            'cadena = cadena + " Con error de: " + Convert.ToString(errorcal)
        Else
            imprimir = "No se encontro la solución"
        End If
        Return (cadena & imprimir)

    End Function


End Class


y este otro es de mi forma donde  yamo a mi clase

Public Class Form1

    Private Sub BtnCalcular_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCalcular.Click
        Dim objeto As csBiseccion
        objeto = New csBiseccion(Convert.ToDouble(txtxa.Text), Convert.ToDouble(txtxb.Text), Convert.ToInt16(txtiteraciones.Text), Convert.ToDouble(txterror.Text))
        MsgBox(objeto.Biseccion(), MsgBoxStyle.Information, "Aviso")

        Dim AUX As String = objeto.Biseccion() ' es aqui donde no se como mandar a imprimir al list view
        Dim CADENA() As String
        CADENA = Split(AUX, ",", -1)

       

     


    End Sub

   
End Class

Páginas: [1]