TRINOME DU SECOND DEGRES

Signaler
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
-
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017
-
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/33366-trinome-du-second-degres

Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

pour ne rentrer que des valeurs numérique dans chacun des événements onKeyPress des edit met le code
procedure TfmTrinome.donnee1KeyPress(Sender: TObject; var Key: Char);
begin
// SEULE LES CHIFFRES 0 à 9 et les caractères ,.-
// #8 POUR POUVOIR EFFACER
// decimalseparator LE S2PARATEUR DECIMAL DU SYSTEME
if pos(key,'0123456789,.-'#8+decimalseparator )=0 then key :=#0;
// CELON LA FRAPPE DE . ou , c'est decimalseparator qui est pris en compte
if pos(key, ',.') <>0 then key := decimalseparator;
// LE decimalseparator n'est accepté qu'une seule fois
if (key=decimalseparator ) and ( pos(decimalseparator, donnee1.Text) <> 0 ) then key :=#0;
// LE SIGNE - n'est accepté qu'au début
if ( donnee1.SelStart<>0) and (key='-') then key :=#0;

end;

remarque
les quantités à calculer sont
signe(Delta)
-b /(2a)
sqrt( abs(Delta) ) /(2a)

suivant le signe de delta on ajoute ou non ...
Messages postés
128
Date d'inscription
lundi 8 août 2005
Statut
Membre
Dernière intervention
20 juillet 2009

Je préfère mettre l'exe pour que les membres de CodeS-SourceS qui ne programment pas en Pascal Objet puissent bénéficier du programme, meme si le code source ne leur est d'aucune utilité.
Messages postés
637
Date d'inscription
mardi 22 avril 2003
Statut
Membre
Dernière intervention
9 janvier 2017

Tous est dans la representation des nombre complexes en langage informatique.

La résolution avec delta négatif se fait en séparant les parties réelles et imaginaires.
en untilisant une tabl[0..1 , 0..1] il est possible de ranger les solutions telque:

La partie réelle est mise dans une table[0,0] et table[1,0] et la partie imaginaire dans le table[0,1]et table[1,1] . Table[0,1] contient la racine carré de la valeur absolue. comme il y a 2 racines imaginaires l'une est positive l'autre négative,Table[1,1]=-Table[0,1].

si delta est positif ou nul alors la partie imaginaire est nule d'ou Table[1,1]=-Table[0,1]= 0. et les solutions sont dans Table[0,0] et Table[1,0].

est-ce claire ...

Il existe des programmes avec des nombres complexe..somme multiplication ... pour cela on utilise des vecteurs ou tables ou alors des variants

Voir des exmples sur le site DELPHI

en modifiant légérement la formule de " CptPingu "

on a
-> (-b /(2a) + i*Rac( |Delta| ) ) /(2a)
-> (-b /(2a) - i*Rac( |Delta| ) ) /(2a)


Pour visualiser les solutions alors on visualise la partie réelle puis imaginaire.

Bon courage

Pour info x^4 + a.x^3 + b.x^2 + c.x + d =0
a des solutions avec des racines carré et cubique.

pour x^5 et plus alors c'est autre chose
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
1_Tu ne met pas le .exe, on compilera ton programme.
2_Tu ne met pas les fichiers suivants: .~dfm, .dof, .~pas, .cfg
3_Pas besoin de copier tout ton code dans la fenetre source. Tu ne colle que le principe que tu veu illustrer
4_Pour resoudre un polynome négatif: Delta<0 2 solution:
Soit: ax²+bx+c
Les solutions sont:
-> (-b-(i*Rac(-Delta)))/(2a)
-> (-b+(i*Rac(-Delta)))/(2a)

Avec I=Rac(-1)