Utilisateur anonyme
-
21 août 2005 à 22:01
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017
-
23 août 2005 à 08:34
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 23 août 2005 à 08:34
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 ...
Nitruk
Messages postés128Date d'inscriptionlundi 8 août 2005StatutMembreDernière intervention20 juillet 2009 23 août 2005 à 00:35
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é.
yvessimon
Messages postés637Date d'inscriptionmardi 22 avril 2003StatutMembreDernière intervention 9 janvier 2017 22 août 2005 à 17:17
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.
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)
23 août 2005 à 08:34
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 ...
23 août 2005 à 00:35
22 août 2005 à 17:17
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
21 août 2005 à 22:01
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)