cs_lebienestrare
Messages postés96Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention23 mars 2008
-
8 nov. 2006 à 15:39
cs_santiago69
Messages postés91Date d'inscriptionjeudi 18 novembre 2004StatutMembreDernière intervention17 décembre 2008
-
11 nov. 2006 à 21:15
Bonjour,voilà le code que j'ai utlisé pour une méthode de dichotomie sous vb6:
Private Sub Command1_Click()
Dim xr As Double, xl As Double, xm As Double, x As Double, f(x) As Double, epsilon As Double
epsilon = 0.001
xr = 6
xl = 0
f(x) = 15 * x ^ 4 - 60 * x ^ 3 + 20 * x ^ 2 + 8 * x - 4
'Méthode de dichotomie
'Start loop
Do While (xr - xl) > epsilon
'Calcule le milieu du domaine de définition
xm = (xr + xl) / 2
'Find f(xM)
If ((f(xl) * f(xm)) > 0) Then
'jette la moitié de gauche
xl = xm
Else
'jette la moitié de droite
xr = xm
End If
Loop
Label1.Caption = xm
End Sub
j'ai de doute à propos de : Label1.Caption = xm;
Lors de l'exécution j'ai une erreur qui dit :constante requise, en m'indiquant que l'erreur est au niveau de f(x) dans la partie déclaration,
qq'1 peut me donner une idée de quoi s'agit cette erreur?
merci d'avance
cs_lebienestrare
Messages postés96Date d'inscriptionsamedi 6 mai 2006StatutMembreDernière intervention23 mars 2008 8 nov. 2006 à 20:59
un ptit truc svp, je veux que lorsqu'on saisit des lettres ou des points ds mes zones de texte, je vx ke ça m'affiche un msgbox me disant que c'est pas permi
(je sais ke c pa le bon endroit pr poser cette question mais puisk'on a commencé,on termine;))
merci
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 8 nov. 2006 à 23:03
Salut,
si la fonction n'est pas continue dans l'interval de calcul,
la méthode par recherche dichotomique n'est pas possible
ce qui est le cas ici:
fonction croissante, puis décroissante, et de nouveau croissante
cs_santiago69
Messages postés91Date d'inscriptionjeudi 18 novembre 2004StatutMembreDernière intervention17 décembre 2008 11 nov. 2006 à 21:15
Salut,
T'as qu'a utiliser :
Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
Select case KeyCode
Case vbKey0, vbKey1, vbKey2, vbKey3, vbKey4, vbKey5, vbKey6, vbKey7, vbKey8, vbKey9
Case else
MsgBox "Que des chiffres"
End Select
End Sub
Le pb, c'est que cette methode n'empeche pas de coller du texte a partir du presse papier dans le controle.
Tu peux alors utiliser
Private Sub Text1_Change()
et verifier a chaque modif que Text1.Value est convertible en CLng()
Une fois de plus, le pb des 2 methodes est de pouvoir annuler l'evenement qui a provoque l'erreur.
Bonne prog
Santiago
il y a 10 types de personnes : ceux qui comprennent le binaire et ceux qui ne le comprennent pas.