PDA

View Full Version : Risoluzione: trovare zeri in funzione


Giangio92
22-10-2010, 15:45
Ciao ragazzi. Non voglio chiedervi di farmi l'esercizio, ma solo che diate un'occhiata a quello che ho fatto e spiegarmi perchè mi esce l'errore. Dunque, lo scopo è quello di disegnare la funzione y = cos(x) / x in VB6. Ecco il codice:
Private Sub Command1_Click()
ix1 = Val(txtx1.Text)
ix2 = Val(txtx2.Text)


'disegna assi cartesiani
Form1.Picture1.Cls
Form1.Picture1.DrawWidth = 1
Form1.Picture1.Scale (-10, 10)-(10, -10)
Form1.Picture1.Line (-10, 0)-(10, 0)
Form1.Picture1.Line (0, 10)-(0, -10)

'disegna i numeri sull'asse x
For xi = -10 To 10 Step 1
Picture1.Line (xi, -0.2)-(xi, 0.2)
Picture1.CurrentX = xi
Picture1.CurrentY = -0.2
Picture1.Print xi
Next xi

'disegna i numeri sull'asse y
For yi = -10 To 10 Step 1
Picture1.Line (-0.2, yi)-(0.2, yi)
Picture1.CurrentX = -0.5
Picture1.CurrentY = yi
Picture1.Print yi
Next yi

'disegna funzione

For ix1 = -10 To ix2 = 10 Step 0.001
y = Cos(x) / x
If y >= -10 Then
Picture1.PSet (x, y), vbBlue
End If
Next

'determinazione zeri di una funzione
For i = ix1 To i = ix2
If ix1 > 0 And ix2 < 0 Or ix1 < 0 And ix2 > 0 Or ix1 = 0 Or ix2 = 0 Then
lblzeri.Caption = ix1 + ix2
End If
Next
End Sub

Ottengo l'errore "Divisione per 0" nella riga Y = cos(x) / x, che deriva dal fatto che il coseno ottenga un determinato valore che renda la divisione impossibile. Come faccio a risolverlo?

__ZERO_UNO__
22-10-2010, 16:24
Io non conosco VB6 ma da che mondo è mondo l'eccezione o errore "divisione per 0" dipende dal fatto che a denominatore hai valore zero, e la matematica insegna che dividere per zero non è possibile.Quindi che colpa ne ha il cos(x)? Qualsiasi valore assuma non causerà mai errore.:D

cionci
22-10-2010, 16:26
Thread chiuso
|
V
http://www.hwupgrade.it/forum/showthread.php?t=1649196