Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment : -28%
-28% Machine à café avec broyeur ...
Voir le deal
229.99 €

[résolu]Exercice: Approximation de Ln(1+x) en Pascal

2 participants

Aller en bas

[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty exercice log algo

Message par raouf ben aicha Ven 25 Juin - 22:28

on donne ln (1+x)=x- x²/2+ x3/3- x4/4+....,
ou encore ln (1+x)=∑+infinii=1  ((-1)i+1 xi ) /i


Écrire un algorithme log dl qui permet de saisir un réel x
et calculer une valeur approchée de ln (1+x) à l’ordre n ou n est un entier
strictement positif saisie au clavier

raouf ben aicha
Entier Naturel
Entier Naturel

Masculin
Nombre de messages : 1
Localisation : sousse
Réputation : 0
Points : 5266
Date d'inscription : 25/06/2010

Revenir en haut Aller en bas

[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty Exercice: Approximation de Ln(1+x) en Pascal

Message par Napoléon Ven 25 Juin - 22:41

Voilà, tu as réussi à poser ta première question Smile

Bienvenue.

Voilà une solution qui déterminer une valeur approché de Ln(1+x) à
condition que x soit dans
l'intervalle ]-1, 1] (attention x>-1, et x<=1). Cette condition
est très importante. Tu ne l'as pas
mentionnée dans ton énoncé.

Regarde ce lien pour plus de détails sur l'intervalle ]-1, 1].
http://serge.mehl.free.fr/anx/dev_lim.html


SOLUTION

Code:
uses wincrt;

const EPSILON = 0.0001;  {l'erreur d'approximation}

function logdl(x: real):real;
var
  Som,Xn,A,B: real;
  i: integer;

begin
  Xn := -1;
  i := 0;
  Som := 0;
  repeat
      i := i + 1;  {l'indice i}
      Xn := -Xn*X;  {calcul de (-1)^(i+1).x^i}
      A := Xn/i;    {Calculer U(i)}
      i := i + 1; 
      Xn := -Xn*X; 
      B := Xn/i;    {Calculer U(i+1)}
      Som := Som + A + B; {Calculer la somme des U(i)}

  until (i>100) or (abs(A - B) <= EPSILON); {la condition d'arrêt}

  logdl := Som;
end;

procedure Saisie(var x: real);
begin
  repeat
    write('Donner un réel positif X : ');
    readln(x);
  until (x>-1) and (x<=1);
end;

var
  X: real;
begin

  Saisie(X);

  Writeln('Approximation de Ln(1+X) = ',logdl(X):2:5);

end.

Tu remplacer la boucle REPEAT que j'ai mise, par une boucle FOR puisque ton exercice a défini l'ordre de l'approximation de Ln(1+x) par l'entier "n".

Bon courage.

Invite tes amis au forum.


Dernière édition par nabiL le Ven 25 Juin - 22:47, édité 1 fois
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7870
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
[résolu]Exercice: Approximation de Ln(1+x) en Pascal Left_bar_bleue999/1000[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty Re: [résolu]Exercice: Approximation de Ln(1+x) en Pascal

Message par Napoléon Ven 25 Juin - 22:45

Voilà une autre solution plus conforme à ton énoncé :

Code:
uses wincrt;

function logdl(x: real; n: integer):real;
var
  Som,Xn,A,B: real;
  i: integer;

begin
  Xn := -1;
  i := 0;
  Som := 0;
  for i:=1 to n do
  begin
      Xn := -Xn*X; 
      Som := Som + Xn/i;
  end;

  logdl := Som;
end;

procedure Saisie(var x: real; var n: integer);
begin
  repeat
    write('Donner un entier > 0 : ');
    readln(n);
  until (n>0);


  repeat
    write('Donner un réel positif X : ');
    readln(x);
  until (x>-1) and (x<=1);
end;

var
  X: real;
  N: integer;
begin

  Saisie(X, N);

  Writeln('Approximation de Ln(1+X) = ',logdl(X, N):2:5);

end.
Napoléon
Napoléon
Admin
Admin

Masculin
Nombre de messages : 2934
Localisation : Tunisie
Réputation : 122
Points : 7870
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
[résolu]Exercice: Approximation de Ln(1+x) en Pascal Left_bar_bleue999/1000[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

[résolu]Exercice: Approximation de Ln(1+x) en Pascal Empty Re: [résolu]Exercice: Approximation de Ln(1+x) en Pascal

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum