begin process at 2010 02 10 11:22:26
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Maths

 > MÉTHODE DE NEWTON : CALCUL D'UNE RACINE CARRÉE

MÉTHODE DE NEWTON : CALCUL D'UNE RACINE CARRÉE




 Description

Cliquez pour voir la capture en taille normale
Le programme suivant calcul la racine carrée d'un nombre donné grâce à la méthode de Newton. La marge d'erreur du calcul est de 0.0001.

Source

  • ///////////////////////////////////////////////////////////
  • // Fichier : uNewton.pas //
  • // Auteur : Stéphane HAIMET //
  • // Date de création : 14/02/08 //
  • // Date de modification : 14/02/08 //
  • ///////////////////////////////////////////////////////////
  • unit uNewton;
  • interface
  • uses
  • Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  • Dialogs, StdCtrls, Buttons;
  • type
  • TForm1 = class(TForm)
  • Label1: TLabel;
  • Label2: TLabel;
  • Label3: TLabel;
  • eIteration: TEdit;
  • eCarree: TEdit;
  • eNombre: TEdit;
  • bCalculer: TBitBtn;
  • bFermer: TBitBtn;
  • lMessage: TLabel;
  • procedure bCalculerClick(Sender: TObject);
  • function verifNbre(nombre:string):string;
  • procedure eNombreChange(Sender: TObject);
  • private
  • { Déclarations privées }
  • public
  • { Déclarations publiques }
  • end;
  • var
  • Form1: TForm1;
  • implementation
  • {$R *.dfm}
  • //Quand on clique sur le bouton calculer :
  • procedure TForm1.bCalculerClick(Sender: TObject);
  • var verif : string;
  • nombre, x0, x, marge : real;
  • n : integer;
  • begin
  • //On vérifie le nombre entré ensuite on fait le calcul
  • verif:=verifNbre(eNombre.text);
  • if(verif='erreur') then
  • begin
  • lMessage.caption:='Entrez un nombre réel positif';
  • end
  • else begin
  • n:=0;
  • nombre:=strtofloat(eNombre.Text);
  • x:=(1+nombre)/2;
  • repeat
  • x0:=x;
  • x:=0.5*(x0+nombre/x0);
  • n:=n+1;
  • marge:=abs((x-x0)/x0);
  • until((marge<0.0001)AND(marge>-0.0001));
  • eIteration.text:=inttostr(n);
  • eCarree.text:=floattostr(x);
  • end;
  • end;
  • //Fonction qui vérifie le nombre entré :
  • function TForm1.verifNbre(nombre:string):string;
  • begin
  • if (strtofloat(nombre)>0) then
  • result:='ok'
  • else result:='erreur';
  • end;
  • //Quand on change l'édit nombre :
  • procedure TForm1.eNombreChange(Sender: TObject);
  • begin
  • lMessage.caption:='';
  • eCarree.Text:='';
  • eIteration.text:='';
  • end;
  • end.
///////////////////////////////////////////////////////////
//  Fichier              : uNewton.pas                   //
//  Auteur               : Stéphane HAIMET               //
//  Date de création     : 14/02/08                      //
//  Date de modification : 14/02/08                      //
///////////////////////////////////////////////////////////

unit uNewton;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Buttons;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    eIteration: TEdit;
    eCarree: TEdit;
    eNombre: TEdit;
    bCalculer: TBitBtn;
    bFermer: TBitBtn;
    lMessage: TLabel;
    procedure bCalculerClick(Sender: TObject);
    function verifNbre(nombre:string):string;
    procedure eNombreChange(Sender: TObject);
  private
    { Déclarations privées }
  public
    { Déclarations publiques }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


//Quand on clique sur le bouton calculer :
procedure TForm1.bCalculerClick(Sender: TObject);
var verif : string;
    nombre, x0, x, marge : real;
    n : integer;
begin
   //On vérifie le nombre entré ensuite on fait le calcul
   verif:=verifNbre(eNombre.text);
   if(verif='erreur') then
   begin
      lMessage.caption:='Entrez un nombre réel positif';
   end
   else begin
      n:=0;
      nombre:=strtofloat(eNombre.Text);
      x:=(1+nombre)/2;
      repeat
         x0:=x;
         x:=0.5*(x0+nombre/x0);
         n:=n+1;
         marge:=abs((x-x0)/x0);
      until((marge<0.0001)AND(marge>-0.0001));
      eIteration.text:=inttostr(n);
      eCarree.text:=floattostr(x);
   end;
end;


//Fonction qui vérifie le nombre entré :
function TForm1.verifNbre(nombre:string):string;
begin
   if (strtofloat(nombre)>0) then
      result:='ok'
   else result:='erreur';
end;


//Quand on change l'édit nombre :
procedure TForm1.eNombreChange(Sender: TObject);
begin
   lMessage.caption:='';
   eCarree.Text:='';
   eIteration.text:='';
end;

end.

 Conclusion

Enjoy

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  •   Programme 10 OK
    • Newton.cfgTélécharger ce fichier [Réservé aux membres club]Voir ce fichier386 octets
    • Newton.dofTélécharger ce fichier [Réservé aux membres club]Voir ce fichier1 097 octets
    • Newton.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier190 octets
    • Newton.resTélécharger ce fichier [Réservé aux membres club]876 octets
    • uNewton.~ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • uNewton.~dfmTélécharger ce fichier [Réservé aux membres club]1 765 octets
    • uNewton.~pasTélécharger ce fichier [Réservé aux membres club]2 132 octets
    • uNewton.dcuTélécharger ce fichier [Réservé aux membres club]5 105 octets
    • uNewton.ddpTélécharger ce fichier [Réservé aux membres club]51 octets
    • uNewton.dfmTélécharger ce fichier [Réservé aux membres club]1 765 octets
    • uNewton.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier2 132 octets

Télécharger le zip


 Sources du même auteur

Source avec Zip Source avec une capture SIMULATION DE PLUSIEURS TIRAGES DU JEU DE JOKER (LOTTO)
Source avec Zip Source avec une capture CRYPTAGE : MÉTHODE DE TRANSPOSITION
Source avec Zip Source avec une capture CRYPTAGE : MÉTHODE DE SUBSTITUTION
Source avec Zip Source avec une capture MÉTHODE DE GAUSS ET DE CRAMER : RÉSOLUTION DE 10 ÉQUATIONS À...
Source avec Zip Source avec une capture MÉTHODE DICHOTOMIQUE : CALCUL DE RACINE CUBIQUE

 Sources de la même categorie

Source avec Zip Source avec une capture CONVERTISSEUR D'UN NOMBRE DÉCIMAL EN BINAIRE ET HEXADECIMAL par ludokk
Source avec Zip Source avec une capture PREMIER OU PAS? par ludokk
Source avec Zip Source avec une capture CONJECTURE DU CARRÉ DES FACTEURS par Bacterius
Source avec Zip Source avec une capture GÉNÉRATEUR DE NOMBRES PSEUDO-ALÉATOIRES par Bacterius
Source avec Zip Source avec une capture ALGORITHME DE HASH LEA par Bacterius

 Sources en rapport avec celle ci

Source avec Zip Source avec une capture MÉTHODE DE GAUSS ET DE CRAMER : RÉSOLUTION DE 10 ÉQUATIONS À... par bad_dark_spirit
Source avec Zip Source avec une capture MÉTHODE DICHOTOMIQUE : CALCUL DE RACINE CUBIQUE par bad_dark_spirit
Source avec Zip Source avec une capture METHODE DE SUBSTITUTION : RÉSOLUTION DE DEUX ÉQUATIONS À DEU... par bad_dark_spirit
RACINE CARRÉE ENTIÈRE par barbichette
METHODE DE NEWTON par billegate2006

Commentaires et avis

Aucun commentaire pour le moment.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Racine cubique [ par lanosic ] J'aimerais savoir comment on fait pour calculer une racine cubique. Pour une racine carée c'est avec (Sqrt), mais il n'y a pas de fonction pour la rac ???TRES FORT:COMMENT ROMPRE AVEC UNE FORM CARRé [ par djamel001 ] Voila j'aimerais donner une forme à ma form (ah ah ah) genre un rond pour une horloge ou une forme de télé.....vous voyez koi! je vous remercie d'avan Exécution d'une méthode incluse dans un package PL/SQL [ par DeadSoul ] Bonjour,Voici mon problème :Je désire exécuter une méthode PL/SQL incluse dans un package OracleJe connais l'existence de la classe TStoredProcedure, Affichage écran de demarrage [ par lirva ] Bonjour,J'ai suivi la méthode de l'aide pour afficher une Form pendant 3 secondes au démarrage de mon appli :&lt;&lt;procedure TForm1.FormActivate(Sen Problème avec le carré magique [ par Gokuan ] Salut tout le monde, j'ai encore un problème avec le carré magique, mais bon pour ceux qui ne savent pas exactement ce qui est le bute dans le carré m Appel d'une Form [ par apz ] salut, pour appeler une form, certains utilisent la méthode suivante : ------------------------------------------------------------Form1.Show--------- Comparer deux images [ par jperret2 ] Bonjour,Je cherche a détecter les changements sur l'écran de l'ordinateur ou tourne mon soft. Mon idée est de quadriller l'écran carré par carré (diso Choisir la piste d'un cd audio [ par alexistoulotte ] Est-ce que qqn connait une méthode pour aller directement a la piste d'un cd audio que l'utilisateur a choisi (par un edit par exemple).Merci d'avance Libération de ressources [ par nicolaspennaneach ] j'ai une application MDI où chaque fenètre enfant possède un thread pour effectuer certaines opérations. Lorsque j'exécute la méthode formclose d'une pointeur de méthode dans une dll ... [ par silmortes ] Slt !!!!J'ai un soucis j'ai un objet TIBDatabase que je créé dynamiquement dans ma dll : Database := TIBDatabase.Create(NIL); Da


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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,279 sec (3)

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