Resolution d'equations trigonometriques

Soyez le premier à donner votre avis sur cette source.

Vue 17 426 fois - Téléchargée 623 fois

Description

C'est un programme pour debutants pour la resolution d'equations trigonometriques sous forme acos(wx)+bsin(wx)=c.
J'aime terminer ce programme en mettant les solutions de l'equation sur le cercle trigonometrique et tracer les rayons correspondants(vous pouvez le faire aussi)

Source / Exemple :


L'algorithme provient du bouquin des calculatrices programables que j'ais transformé à un programme en VB par mes connaissances de debutant.

Conclusion :


J'aime la programation en VB et je fais de mon mieux car je n'ais pas fait de formation dans ce domaine (autoformation).
Donne-moi vos suggestions et conseils .
Merci infiniment

Codes Sources

A voir également

Ajouter un commentaire

Commentaire

cs_CFCTABLE
Messages postés
18
Date d'inscription
samedi 1 mars 2003
Statut
Membre
Dernière intervention
14 avril 2008
-
Private Sub Command1_Click()
' Rendre le programme plus lisible en
' -regroupant les déclarations de variables
' -en faisant des identations (décalages) sur les boucles et conditions
' -ajoutant des explications en commentaires
'
' Attention à width , height.. il est préférable de les associer à la feuille
' - equatrigo.Width etc...
'
' utiliser un contrôle listbox plutot que le textcontrol dans ce cas précis..
'
' Je vous ai remis un exemple pour mettre les solutions sur le cercle.
' Bon courage

Dim PI As Double
Dim D As Double
Dim H As Double
Dim E As Double
Dim J As Double
Dim N As Byte
ReDim K(100) As Double
ReDim L(100) As Double
Dim wa, wb, WR As Integer

PI = 4 * Atn(1)
A = Val(Text1.Text)
B = Val(Text2.Text)
C = Val(Text3.Text)
W = Val(Text4.Text)
D = Sqr(A ^ 2 + B ^ 2)
H = C / D
If Abs(H) > 1 Then
Text5(0).Text = " L'equation n'a pas de solution "
Else
E = Atn(-H / Sqr(-H * H + 1)) + 2 * Atn(1)
J = Atn((B / D) / Sqr(-(B / D) * (B / D) + 1))
For N = 0 To W - 1
K(N) = (E + J + (2 * N * PI)) / W
L(N) = (-E + J + (2 * N * PI)) / W
Next N
equatrigo.Width = Screen.Width * 0.54
equatrigo.Height = Screen.Height * 0.88
equatrigo.Left = (Screen.Width - Width) / 2
equatrigo.Top = (Screen.Height - Height) / 2


WR = 3200
wa = Me.Width * 2 / 3
wb = Me.Height / 2 + 800
equatrigo.DrawWidth = 3
equatrigo.PSet (wa, wb), vbRed
equatrigo.Circle (wa, wb), WR, vbRed

Text5(0).Text = " " & K(0) & " et " & L(0)
For N = 1 To W - 1
Load Text5(N)
Text5(N).Top = Text5(N - 1).Top + 850
Text5(N).Visible = True
Text5(N).Text = " " & K(N) & " et " & L(N)
Next N
For N = 0 To W - 1
equatrigo.Line (wa, wb)-(wa + WR * Cos(K(N)), wb + WR * Sin(K(N))), vbBlack
equatrigo.Line (wa, wb)-(wa + WR * Cos(L(N)), wb + WR * Sin(L(N))), vbBlue
Next N
End If
End Sub

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.