Red de conocimiento informático - Material del sitio web - Al aprender VB, existe un programa para "encontrar las raíces de una ecuación cuadrática". ¿Por qué el resultado calculado es diferente al del libro y incorrecto? ¡Mira el código del programa!

Al aprender VB, existe un programa para "encontrar las raíces de una ecuación cuadrática". ¿Por qué el resultado calculado es diferente al del libro y incorrecto? ¡Mira el código del programa!

La fórmula para encontrar la raíz de una ecuación cuadrática es x = (-b √ (b?-4ac)/(2a)

Entonces hay un error en el programa CmdComputer_Click en el programa, y ​​x2 es escrito por error como xl2. Debe cambiarse a:

Private sub-CmdComputer_Click()

a = Val(txta.text)

b = Val. (txtb.text)

c = Val(txtc. Text)

d = b^2 - (4 * a * c)

XL = ( -b+SQR (D))/(2 * A)'Aquí P se cambia a -b

X2 = (-b-sqr (d))/(2 * a) Aquí P se cambia a -b, xI2 se cambia a X2

msgbox " XL = "+STR(XL)+"+" >O cambiar a:

Sub-CmdComputer_Click() privado

a = Val(txta.text)

b = Val(txtb.text)

c = Val(txtc.text)

d = b ^ 2 - (4 * a * c)

p = -b / (2 * a)

Xl = p+sqr (d)/(2*a )'Aquí no es necesario dividir p por 2*a.

X2 = p-sqr (d)/(2. *a)'Aquí no es necesario dividir p por 2*a.

msgbox " XL = "+STR(XL)+"+" X2 = "+STR(X2)," dos ecuaciones cuadráticas"

Conector final

Además, para evitar que la ecuación tenga raíces reales, puede agregar una declaración de elección, que se cambia a:

Private sub-CmdComputer_Click()

a = Val(txta.Text)

b = Val(txtb.Text)

c = Val(txtc.Text)

d = b ^ 2 - ( 4 * a * c)

Seleccione el caso d' para determinar si △ es mayor que 0.

El caso es & gt0

xl = (- b + Cuadrado(d)) / (2 * a)

x2 = (- b - Cuadrado(d)) / (2 * a)

msgbox " XL = "+STR (XL)+"+" X2 = "+STR(X2),"Dos ecuaciones cuadráticas"

Caso 0

xl = - b / ( 2 * a)

MsgBox "xl=x2="+Str(xl),"Dos ecuaciones cuadráticas"

El caso es & lt0

MsgBox "La ecuación cuadrática no tiene raíces reales ", "La ecuación cuadrática no tiene raíces reales"

Finalizar selección

Finalizar conector