regola di cartesio

verifica della regola di cartesio e sua applicazione con dati prefissati o inseriti da tastiera
data una equazione completa di secondo grado, si considerano i coefficienti
(preceduti dal segno + o -):si calcola il discriminante per riconoscere se le radici saranno
reali o complesse; si applica la regola dei segni; si calcolano le radici e si verifica
la esattezza della regola ; si sostituiscono i valori trovati per le radici nella equazione
e si verifica che questa risulta uguale a zero
esercitazione con visual basic su powerpoint

 

Private Sub CommandButton1_Click()
Rem regola di cartesio
Rem ogni permanenza indica radice negativa
Rem ogni variazione indica radice positiva
Rem due permanenze > due radici negative
Rem due variazioni > due radici positive
Rem una permanenza e una variazione:abs(negativa)> abs(positiva)
Rem una variazione e una permanenza:abs(positiva)> abs(negativa)
equa1 = ("x * x + 7 * x + 12")
equa2 = ("x * x - 4 * x + 3")
equa3 = ("x * x + 8 * x - 9")
equa4 = ("x * x - 2 * x - 15")

Call verifica(1, 7, 12, equa1)
ListBox1.AddItem ("----------------")
Call verifica(1, -4, 3, equa2)
ListBox1.AddItem ("----------------")
Call verifica(1, 8, -9, equa3)
ListBox1.AddItem ("----------------")
Call verifica(1, -2, -15, equa4)
ListBox1.AddItem ("----------------")

End Sub

Private Sub verifica(a, b, c, equa)
ListBox1.AddItem (equa)
discriminante = b * b - 4 * a * c
ListBox1.AddItem ("discriminante=" & discriminante)

If discriminante >= 0 Then
d = Sqr(discriminante)
x1 = (-b + d) / (2 * a)
x2 = (-b - d) / (2 * a)
ListBox1.AddItem ("x1=" & x1)
ListBox1.AddItem ("x2=" & x2)
End If
If d < 0 Then
ListBox1.AddItem ("------------------")
ListBox1.AddItem ("discriminante negativo= " & discriminante)
ListBox1.AddItem ("radici complesse")
ListBox1.AddItem ("---------------------")
End If
If Sgn(b) = Sgn(a) And Sgn(c) = Sgn(b) Then
ListBox1.AddItem ("2 permanenze:due radici negative")
End If
If Sgn(b) <> Sgn(a) And Sgn(c) <> Sgn(b) Then
ListBox1.AddItem ("2 variazioni:due radici positive")
End If
If Sgn(b) = Sgn(a) And Sgn(c) <> Sgn(b) Then
ListBox1.AddItem ("1 permanenza,1 variazione:due radici discordi:abs(negativa) > abs(positiva)")
End If
If Sgn(b) <> Sgn(a) And Sgn(c) = Sgn(b) Then
ListBox1.AddItem ("1 variazione,1 permanenza:due radici discordi:abs(positiva) > abs(negativa)")
End If
ListBox1.AddItem ("verifica equazione sostituendo radici trovate")
ListBox1.AddItem ("a * x1 * x1 + b * x1 + c = " & a * x1 * x1 + b * x1 + c)
ListBox1.AddItem ("a * x2 * x2 + b * x2 + c = " & a * x2 * x2 + b * x2 + c)
End Sub

Private Sub CommandButton2_Click()
ListBox1.Clear
End Sub

Private Sub CommandButton3_Click()
Rem inserimento coefficienti della equazione
a = TextBox1.Text
b = TextBox2.Text
c = TextBox3.Text

d = b * b - 4 * a * c
If d >= 0 Then
equa = (a & " x^2 " & b & " x " & c)
Call verifica(a, b, c, equa)
Else
ListBox1.AddItem ("------------------")
ListBox1.AddItem ("discriminante negativo= " & d)
ListBox1.AddItem ("radici complesse")
ListBox1.AddItem ("---------------------")
End If

End Sub

Private Sub CommandButton4_Click()
Label1.Visible = True
End Sub

Private Sub CommandButton5_Click()
Label1.Visible = False
End Sub

vedi cartesio.ppt