Ecuaciones de 2º grado en Visual Basic .NET

Guste o no Visual Basic da de comer y no se puede relegar. Es inevitable

Este el el clásico ejemplo de Visual Basic, un programa para resolver una ecuación de 2º grado. Está hecho con un par de clases, una se ocupa de la ecuación y la otra del interfaz de usuario.

Image Hosted by ImageShack.us
 

Clase Ecuación

Esta sería la clase que representa la ecuación, y tiene unos métodos para comprobar si tiene solución y luego para resolver la ecuación.

 

'Clase que representa una ecuación de 2º Grado
Public Class Ecuacion
    Private _A As Double
    Private _B As Double
    Private _C As Double
 
 
    Public Property A As Double
        Get
            Return _A
        End Get
        Set(ByVal value As Double)
            _A = value
        End Set
    End Property
 
    Public Property B As Double
        Get
            Return _B
        End Get
        Set(ByVal value As Double)
            _B = value
        End Set
    End Property
 
    Public Property C As Double
        Get
            Return _C
        End Get
        Set(ByVal value As Double)
            _C = value
        End Set
    End Property
 
    '''
    ''' Comprueba si parte de la ecuación
    ''' devuelve negativo
    '''
    ''' Boolean
    '''
 
    Public Function TieneSolucion() As Boolean
        If (_B ^ 2 - 4 * _A * _C) < 0 Then
            Return False
        Else
            Return True
        End If
    End Function
 
    '''
    ''' Resuelve la ecuación
    '''
    ''' Double
    '''
    Public Function X1() As Double
        Return (-B + Math.Sqrt((_B ^ 2 - 4 * _A * _C))) / (2 * A)
    End Function
 
    '''
    ''' Resuelve la ecuación
    '''
    ''' Double
    '''
    Public Function X2() As Double
        Return (-B - Math.Sqrt((_B ^ 2 - 4 * _A * _C))) / (2 * A)
    End Function
 
End Class
 
 
El formulario
El formulario es otra clase, todo el mogollón se produce al hacer click en el botón, y he separado código en algunas funciones para que no esté todo apelotonado

by Pello Altadill 01/09/2013 12:40:08 - 1153 hits