Votre question

Visual basic: algo résolvant une équation du second degré

Tags :
  • Delta
  • Programmation
Dernière réponse : dans Programmation
29 Novembre 2005 23:22:52

Bonjour à tous,

Je débute en visual basic et j'ai un petit exercice à réaliser mais, malheureusement, j'ai de gros problèmes concernant la syntaxe.
Il serait très gentil qu'une ame charitable vienne m'aider un peu :-)

Exercice:
Ecrire un algo qui résoud n'importe quelle équation du second degré, c'est à dire une équation du type Ax²+Bx+C=0

J'ai déja commencé l'exercire, les zones ayant une autre couleur sont les parties que je n'ai pas réussi à faire.

L'interface graphique se présente sous cette forme: un bouton qui lance la saisie de A,B et C et qui donne la solution dans une boite de text "text1" (facultatif, il est tout à fait possible de donner la réponse grace à un "msgbox", je donne juste des idées)


ALGO:

Option Explicit
Dim a As Single
Dim b As Single
Dim c As Single
Dim delta As Single
Dim x0 As Single
Dim x1 As Single
Dim x2 As Single


Private Sub Command1_Click()
a = InputBox("A=", Saisie)
b = InputBox("B=", Saisie)
c = InputBox("C=", Saisie)
delta = (b * b) - 4 * a * c
x0 = ((-b) / (2 * a))
x1 = (-b + racine carré deltaracine carré delta
End If
End If

end sub



Merci de m'aider ;-)

Autres pages sur : visual basic algo resolvant equation second degre

29 Novembre 2005 23:38:02

la racine carrée c'est exposant 1/2 si je me souviens bien donc : delta^(1/2).

et pour ta ligne avec la msgbox c'est :
Else: msgbox ("Il existe deux solutions qui sont " & X1 & "et " & x2)
30 Novembre 2005 07:04:36

Merci! J'ai déjà corrigé pas mal d'erreur mais mon algo bug quand delta est inférieur à 0 et je ne sais pas de quoi cela peut venir.

Est ce que j'ai mal placé "x1" et "x2" ?


ALGO:
Option Explicit
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim delta As Integer
Dim x0 As Integer
Dim x1 As Integer
Dim x2 As Integer



Private Sub Command1_Click()
a = InputBox("A=", "Saisie")
b = InputBox("B=", "Saisie")
c = InputBox("C=", "Saisie")
delta = (b * b) - 4 * a * c
x0 = ((-b) / (2 * a))
x1 = ((-b + ((delta) ^ (1 / 2))) / (2 * a))
x2 = ((-b - ((delta) ^ (1 / 2))) / (2 * a))

If delta < 0 Then
MsgBox ("Pas de solution")
ElseIf delta = 0 Then
MsgBox ("Il existe une unique solution qui est " & x0)
Else: MsgBox ("Il existe deux solutions qui sont " & x1 & " et " & x2)
End If

End Sub



Merci
30 Novembre 2005 09:03:03

J'ai édité mon message car je me suis rendu compte que j'avais fait une erreur pour la déclaration des variables:

C'est "Dim <nom variable> As Integer"
J'avais mis ".....As single" et je crois bien que cela concerne les caractères... Je suis un boulet...

Contenus similaires
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS