Formula resolvente :S:S:S:S

Iniciado por smspuro, 13 Agosto 2007, 21:18 PM

0 Miembros y 2 Visitantes están viendo este tema.

smspuro

hola amigos tanto time xD

buen... tengo que entregar un trabajo que me esta hinchado ya... recien empiezo con VB

y queria saber... en que falla este codigo de la formula resolvente que sirve para sacar x1 y x2, para matematica asi ...


buen el codigo que tengo es :

Private Sub Command1_Click()
Dim x1, x2, a, b, c As Double
Text1.Text = a
Text2.Text = b
Text3.Text = c
x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
x1 = Text4.Text
x2 = Text5.Text
End Sub


ayuda please xD jaja.. ta en juego mi vida ^^ ya se que es medio facil pero no me anda :(
el que sabe, sabe Y NO HAY VUELTA A ATRAS!!!

Freeze.


nhaalclkiemr

Explica más...pero creo k te refieres a esto:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim x1, x2, a, b, c As Double
Text1.Text = a
Text2.Text = b
Text3.Text = c
x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
Text4.Text = x1
Text5.Text = x2
End Sub


Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

Freeze.

Yo pense lo mismo pero eso tira solamente 0...

nhaalclkiemr

No tengo tiempo para probarlo, pero puede ser por esta linea:

Código (vb) [Seleccionar]
Dim x1, x2, a, b, c As Double

Aí no estas declarando 5 variables 'Double', estas declarando 4 Variant y una Double, Prueva así:

Código (vb) [Seleccionar]
Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double

Pero no estoy seguro, puede que sea de esto:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double
a = Text1.Text
b = Text2.Text
c = Text3.Text
x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
Text4.Text = x1
Text5.Text = x2
End Sub
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%

smspuro

#5
algun otro codigo puede haber? no anda...


con a = -2    b=4   c=6

x1 tiene que ser -1

y x2 tiene que ser 3


con ese codigo da

x1=-60
x2=68 xD

jaja cualkiera :( 
el que sabe, sabe Y NO HAY VUELTA A ATRAS!!!

Arcangel

Cita de: nhaalclkiemr en 13 Agosto 2007, 23:22 PM
No tengo tiempo para probarlo, pero puede ser por esta linea:

Código (vb) [Seleccionar]
Dim x1, x2, a, b, c As Double

Aí no estas declarando 5 variables 'Double', estas declarando 4 Variant y una Double, Prueva así:

Código (vb) [Seleccionar]
Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double

Pero no estoy seguro, puede que sea de esto:

Código (vb) [Seleccionar]
Private Sub Command1_Click()
Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double
a = Text1.Text
b = Text2.Text
c = Text3.Text
x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 2) / 2 * a
Text4.Text = x1
Text5.Text = x2
End Sub


Se pedue hacer tranquilamente asi:

Código (vb) [Seleccionar]
Dim x1, x2, a, b, c As Double

Como ya lo habían colocado, de igual forma es irrelevante, ese código corre, ahora abria que comprobar que las raíces que devuelve sean las correctas, aunque yo creo que deberían de ir asi:
Código (vb) [Seleccionar]

x1 = ((-1 * b) + (b ^ 2 - (4 * a * c)) * 1 ^ 1/2) / 2 * a
x2 = ((-1 * b) - (b ^ 2 - (4 * a * c)) * 1 ^ 1/2) / 2 * a


Arcangel

smspuro

el que sabe, sabe Y NO HAY VUELTA A ATRAS!!!

nhaalclkiemr

Si weno, entonces el problema era de la formula...

Pero aún así deciros que no es correcto esto:

Código (vb) [Seleccionar]
Dim x1, x2, a, b, c As Double

Pues aí estas declarando variables "Variant", y hay que evitar el uso de variables Variant..., por eso mejor:

Código (vb) [Seleccionar]
Dim x1 As Double, x2 As Double, a As Double, As Double, b As Double, c As Double

Pero claro...eso no influye en el resultado final...pero si en el rendimiento...

Saludos ;)
StasFodidoCrypter 1.0 - 100% (old)
StasFodidoCrypter 2.0 - 85% (deserted)
Fire AV/FW-Killer - 97% (deserted)
R-WlanXDecrypter 1.0- 100%