begin process at 2012 02 16 08:57:03
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > EQUATIONS DU TROISIÈME DEGRÉ

EQUATIONS DU TROISIÈME DEGRÉ


 Information sur la source

Note :
Aucune note
Catégorie :Maths Classé sous :équations, résolution, troisieme degré Niveau :Débutant Date de création :31/01/2008 Date de mise à jour :02/02/2008 09:03:04 Vu / téléchargé :7 237 / 442

Auteur : CFCTABLE

Ecrire un message privé
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Réponse à Abdelelansari qui a fait un post sur ce même sujet.
Voir le ZIP... J'ai fait les modifications du post de Abdelelansari et j'ai mis un habillage VB6 pour tester.

Source

  • Private Sub Command1_Click()
  • Dim PI As Double
  • PI = 4 * Atn(1)
  • Dim w As Variant
  • Dim e As Double
  • Dim f As Double
  • Dim g As Double
  • Dim p As Double
  • Dim q As Double
  • Dim k As Double
  • Dim x As Double
  • Dim t As Double
  • Dim s1 As Double
  • Dim s2 As Double
  • Dim s3 As Double
  • Dim s4 As Double
  • Dim s5 As Double
  • Dim s6 As Double
  • Dim a, b, c, d As Double
  • a = Val(Text1.Text)
  • b = Val(Text2.Text)
  • c = Val(Text3.Text)
  • d = Val(Text4.Text)
  • 'On Error Resume Next ... supprimé car s'il y a une erreur il vaud mieux le savoir et la traiter... surtout en maths!
  • If a = 0 Then w = MsgBox("C'est une équation du second degré!!.", vbCritical, "Trop facile!"): Exit Sub
  • e = b / (3 * a)
  • f = c / a
  • g = d / a
  • p = f - 3 * e * e
  • q = 2 * e * e * e - e * f + g
  • k = 4 * p * p * p / 27 + q * q
  • If Abs(k) < 0.000000001 Then k = 0 'à cause des erreurs machine, arrondi ..etc...
  • If k < 0 Then
  • x = 3 * q / (2 * p) * Sqr(-3 / p)
  • t = (Atn(-x / Sqr(-x * x + 1)) + PI / 2) / 3
  • s1 = Sqr(-4 * p / 3) * Cos(t) - e
  • s2 = Sqr(-4 * p / 3) * Cos(t + 2 * PI / 3) - e
  • s3 = Sqr(-4 * p / 3) * Cos(t + 4 * PI / 3) - e
  • Text5.Text = " Les trois solutions sont : " & s1 & " et " & s2 & " et " & s3
  • ElseIf k = 0 Then
  • s4 = -e - Rqbik(4 * q)
  • s5 = -e + Rqbik(q / 2)
  • Text5.Text = " Les deux solutions sont : " & s4 & " et " & s5
  • Else
  • s6 = -e + Rqbik(((Sqr(k) - q) / 2)) - Rqbik(((Sqr(k) + q) / 2))
  • Text5.Text = " La solution est : " & s6
  • End If
  • End Sub
Private Sub Command1_Click()
Dim PI As Double
PI = 4 * Atn(1)
Dim w As Variant

Dim e As Double
Dim f As Double
Dim g As Double
Dim p As Double
Dim q As Double
Dim k As Double
Dim x As Double
Dim t As Double
Dim s1 As Double
Dim s2 As Double
Dim s3 As Double
Dim s4 As Double
Dim s5 As Double
Dim s6 As Double

Dim a, b, c, d As Double


a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
d = Val(Text4.Text)

'On Error Resume Next ... supprimé car s'il y a une erreur il vaud mieux le savoir et la traiter... surtout en maths!

If a = 0 Then w = MsgBox("C'est une équation du second degré!!.", vbCritical, "Trop facile!"): Exit Sub

e = b / (3 * a)
f = c / a
g = d / a
p = f - 3 * e * e
q = 2 * e * e * e - e * f + g
k = 4 * p * p * p / 27 + q * q

If Abs(k) < 0.000000001 Then k = 0 'à cause des erreurs machine, arrondi ..etc...

If k < 0 Then
   x = 3 * q / (2 * p) * Sqr(-3 / p)
   t = (Atn(-x / Sqr(-x * x + 1)) + PI / 2) / 3
   s1 = Sqr(-4 * p / 3) * Cos(t) - e
   s2 = Sqr(-4 * p / 3) * Cos(t + 2 * PI / 3) - e
   s3 = Sqr(-4 * p / 3) * Cos(t + 4 * PI / 3) - e
   Text5.Text = " Les trois solutions sont : " & s1 & " et " & s2 & " et " & s3
ElseIf k = 0 Then
   s4 = -e - Rqbik(4 * q)
   s5 = -e + Rqbik(q / 2)
   Text5.Text = " Les deux solutions sont : " & s4 & " et " & s5
Else
   s6 = -e + Rqbik(((Sqr(k) - q) / 2)) - Rqbik(((Sqr(k) + q) / 2))
   Text5.Text = " La solution est : " & s6
End If
End Sub


 Conclusion

  

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

02 février 2008 09:03:05 :
modifications du code de Abdelelansari pour tenir compte du fait que VB ne veut pas de nombres négatifs dans le calcul des racines impaires (fonction Rqbik) debuggage pour le cas où k=0 voir ligne If Abs(k) < 0.000000001 Then k = 0 Suppression de parenthèses inutiles.

 Sources du même auteur

Source avec Zip LISTE DE FICHIERS SUR UN DISQUE EN VB6
Source avec Zip CALCUL DE LA FONCTION LOGARITHME

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR HEXAVIGÉSIMAL par shaeks
Source avec Zip Source avec une capture Source .NET (Dotnet) CRYPTOGRAPHIE AFFINE par Tigrou66
Source avec Zip Source avec une capture SCANNER FLEX par lajouad
Source avec Zip EQUATIONSECONDDEGRÉ,MATH,DEGRÉ par shadkitenge
Source avec Zip Source .NET (Dotnet) SOMME DE CHIFFRES CONTENUE DANS UN NOMBRE par alpha5

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) RÉSOLUTION DU MASTERMIND par alpha5
Source avec Zip RÉSOLUTION ÉQUATION DU SECOND DEGRÉ DANS LE CORPS DES COMPLE... par betamu
Source avec Zip Source avec une capture Source .NET (Dotnet) APPRENDRE À RÉSOUDRE UN SUDOKU par kbalist
Source avec Zip Source avec une capture Source .NET (Dotnet) RÉSOLUTION EXPLIQUÉE DE SUDOKU par al1brn
Source avec Zip Source avec une capture Source .NET (Dotnet) RÉSOLUTION DE L'ÉQUATION DE LA CHALEUR par Arnal88

Commentaires et avis

Commentaire de betamu le 05/02/2008 16:17:49

Dans le cas ou n > 0 l'extraction classique
de racines carrées ne marche pas.
Si n > on a deux racines
    N1 = sqr(n)
    N2 = -sqr(n)
Si n < 0 on peut écrire
  n = |n| e^[i (2 k + 1) Pi]
  avec k = ... -3,-2,-1,0,1,2,3,...
dans l'ensemble des nombres complexes (C).
Et dans ce cas :
sqr(n) = sqr(|n|) e^(i k Pi) e^(i Pi/2)
on a deux racines carrées imaginaires pures
    N1 =  i sqr(|n|)
    N2 = -i sqr(|n|)
Le problème est traité incomplètement.
----------------------
D'autre part :
Une équation de degré 3 à coefficients réels
a toujours 3 racines.
Cas 1 : 3 racines réelles distinctes
    P(x) = a (x - x1) (x - x2) (x - x3) = 0
cas 2 : 1 racine réelle et 1 racine double
    P(x) = a (x - x1) (x- x2)^2 = 0
cas 3 : une racine triple
    P(x) = a (x - x1)^3 = 0
cas 3 : 1 racine réelle et 2 racines complexes
    P(x) = a (x - x1) (x - (m + i n)) (x - (p + i q)) = 0
    ( ces racines sont d'ailleurs conjuguées
      m=p et n=-q )
-------------------
Mais que se passe-t-il si les coefficients a,b,c et
l'inconnue sont toutes complexes ?
-------------------
C'est CARDAN qui avait résolu définitivement les
équations du 3-ième degré introduisant ainsi les
calculs des nombres imaginaires ou complexes.

Commentaire de CFCTABLE le 06/02/2008 10:17:34

Je comprend ton soucis de précision. Sur ce cas, je ne fais que répondre du point de vue programmation à Abdelelansari . Je pense qu'il avait l' intention de traiter uniquement les solutions réelles et des coefficients rééls. Pour le coté maths, je lui laisse le soin de répondre.

Sinon je suis d'accord avec toi sur ces remarques.

Commentaire de Abdelelansari le 07/02/2008 16:14:24

  Abdelelansari:
Je remercie fort bien BETAMU et CFCTABLE et je vous dit que je suis un prof de math mais debutant en programation plus precisement en math.D'autre part je vous dit que vous avez raison seulement et comme a dit CFCTABLE je m'interesse aus equations a coefficients reéls.
                           Merci

Commentaire de Guillaume170194 le 10/07/2011 23:13:32

C'est quoi la fonction "Rqbik"

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

résolution d'équations style "lnx=arctgx+cste" [ par guillaume ] je cherche comment résoudre en V B une équation du genre " ln(x) = arctg(x) + cste ", pour une macro Excel, afin de récupérer la valeur de x ( même si Résolution d'un système d'équations à l'aide de matrices [ par Xam44 ] Bonjour tout le monde je recherche des cours sur la gestion des matrices pouvant gérer plusieurs équations, ou un module pouvant m'aider à assimiler l résolution d'écran [ par izzabel ] bonsoir (le thème est le 1e de la liste, alors comme j'y connais rien...) hier je téléchargeais un jeu quand d'un seul coup les icônes deviennent imme résolution écran - redimensionner controles [ par guice11 ] bonjour, alors voilà je suis sous vb 2005, j'ai fais une application sur un pc avec comme résolution 1440*900 mais sur un autre pc de résolution 1280* Adapter l'affichage des formulaires en fonction de la résolution d'écran [ par csemde ] Bonjour à tous. J'aimerai savoir s'il existe une façon de faire sous VB6 pour adapter l'affichage de mes formulaires en fonction de la résolution de adapter la fenetre automatiquement à la résolution de pc [ par sihammaster ] Bonjour, j'ai googlé avant de poser ma question mais toujours pas de solution. Je travail sous vb.net, je veux que les fenêtres de mon application s'a Pb de résolution dans un flux video Webcam [ par otelle ] Bonjour, Quelqu'un saurait il m'expliquer pourquoi les paramètres de Webcam qui sont remonter à l'aide de avicap32.dll ne sont pas exhaustifs. En eff Graphics et résolution d'écran [ par fiber88 ] Bonjour à tous, Je cherche à mettre un point sur une carte géographique avec des Coordonnées GPS jusque la ça va mais si je change la résolution de mo


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,591 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales