Forum INFOMATH
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le Deal du moment :
SSD interne Crucial BX500 2,5″ SATA – 500 ...
Voir le deal
29.99 €

a puissance n en Pascal ?

4 participants

Aller en bas

a puissance n en Pascal ? Empty a puissance n en Pascal ?

Message par informix Mar 18 Déc - 21:12

salut,

est-ce que la fonction Exposant ou Puissance existe en Pascal? est-ce qu'elle est prédéfinie comme EXP, SIN, COS ... ???

merci
informix
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 6524
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue1000/1000a puissance n en Pascal ? Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par lamia Mar 18 Déc - 22:44

Je crois que ca existe pas en pascal.
Cepandant je te propose deux solutions:
1/ X^n = exp(n*ln(X))

2/ Definir une fonction puissance
Code:
function puissance(X:real , n : integer) : real;
var

    i : integer;
    res : real;
begin
    if(X=0) then
      if (n>0) then res:=0
      else
          res:=? 'cas impossible
  else
      if(n=0) then res:=1
      else
          if(n>0) then
          begin
              res:=1;
              for i:=1 to n do
              res:=res*X;
          end
          else
          begin
              res:=1;
              for i:=1 to -n do
              res:=res*(1/X);
            end;

    puissance:=res;
end;
(Rq: pour le ? j'ai pas su quoi mettre confused )
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6799
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue996/1000a puissance n en Pascal ? Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par manianis Mar 18 Déc - 23:04

x^n n'est pas définie lorsque x=0 et n=0. Ce cas n'est pas à traiter à l'intérieur de cette fonction mais dans le programme principal il faudra empêcher ce cas.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6253
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par lamia Mar 18 Déc - 23:10

Oui, j'ai voulu le traiter à l'intérieur de la fonction alors on le traite dans le programme principal. Alors le code devient:

Code:
function puissance(X:real , n : integer) : real;
var

    i : integer;
    res : real;
begin
    if(X=0) then
        if (n>0) then res:=0

    else
        if(n=0) then res:=1
        else
              if(n>0) then
              begin
                  res:=1;
                  for i:=1 to n do
                  res:=res*X;
              end
              else
              begin
                  res:=1;
                  for i:=1 to -n do
                  res:=res*(1/X);
              end;

    puissance:=res;
end;
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6799
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue996/1000a puissance n en Pascal ? Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par manianis Mar 18 Déc - 23:33

Je vous propose une autre méthode qui est plus optimisée :
Code:
function Puissance(a : real ; b : integer):real;
var
    p, a2 : real;
    i : integer;
begin
    p := 1;
    a2 := a * a;
    for i:=1 to (Abs(b) div 2) do p := p * a2;
    if (b mod 2 <> 1) then p := p * a;
    if (b < 0) then p := 1 / p;
    Puissance := p;
end;

et une autre qui est plus optimisée :

Code:
function puissance(x : real ; a : integer):real;
var
    i : integer;
    pu, p : real;
    neg : boolean;
begin
    pu := 1.0;
    p := x;
   
    neg := (a < 0);
   
    while (a <> 0) do
    begin
        if (a mod 2 <> 0) then pu := pu * p;
        p := p * p;
        a := a div 2;
    end;
   
    if neg then puissance := 1/pu else puissance :=pu;
end;

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6253
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par Napoléon Mar 18 Déc - 23:37

manianis et lamia:
la fonction f: x --> x^x est prolongeable par continuité en zéro.
Donc 0 puissance 0 existe et vaut 1.

Dans les calculatrice, ceci n'est pas pris en compte.
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:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par lamia Mar 18 Déc - 23:44

Admin a écrit:manianis et lamia:
la fonction f: x --> x^x est prolongeable par continuité en zéro.
Donc 0 puissance 0 existe et vaut 1.

Dans les calculatrice, ceci n'est pas pris en compte.

C'est toi qui le dit, personnellement j'en sais rien sur cela Smile
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6799
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue996/1000a puissance n en Pascal ? Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par Napoléon Mar 18 Déc - 23:44

On a discuté ce sujet il y a quelques mois.
Il a été très détaillé. Voir le lien suivant:


Cliquer ici: Meilleure façon pour calculer a puissance n


@+
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:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par Napoléon Mar 18 Déc - 23:46

lamia:
Je n'ai rien inventé Smile
Je vais posté comme nouveau sujet. C'est le moment opportun pour le faire.
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:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par lamia Mar 18 Déc - 23:51

Admin a écrit:lamia:
Je n'ai rien inventé Smile
Je vais posté comme nouveau sujet. C'est le moment opportun pour le faire.

Bonne idée , comme ca, ca nous apportera un plus.
lamia
lamia
Modérateur
Modérateur

Féminin
Nombre de messages : 1936
Age : 38
Localisation : Tunis
Réputation : 53
Points : 6799
Date d'inscription : 04/11/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue996/1000a puissance n en Pascal ? Empty_bar_bleue  (996/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par manianis Mer 19 Déc - 14:17

lim x^x = 1
x --> 0

Attention Nabil le fait qu'il existe une limite pour x^x ne veut pas dire que x^x = 1 lorsque x=0. C'est simplement une limite.

manianis
Nombre Réel
Nombre Réel

Masculin
Nombre de messages : 975
Localisation : Tunisie
Réputation : 4
Points : 6253
Date d'inscription : 11/10/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

http://manianis.sitesled.com/

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par Napoléon Mer 19 Déc - 16:19

manianis:
Il y a ce qu'on appelle la prolongation par continuité, c'est-à-dire, si une fonction n'est pas définie en x0 et pourtant elle admet une limite finie L en x0, alors on peut la rendre "définie en x0" en affectant à f(x0) la limite trouvée L => f(x0) = L.

C'est exactement le cas ici:
f(x) = x^x n'est pas définie au début en zéro.
mais lim f(x) en 0 est finie, alors, f(0) = 1, conséquence de la prolongation par continuité de f en 0.

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:
a puissance n en Pascal ? Left_bar_bleue999/1000a puissance n en Pascal ? Empty_bar_bleue  (999/1000)

https://infomath.1fr1.net

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n en Pascal ?

Message par informix Sam 19 Jan - 21:30

Merci pour la solution!
informix
informix
Nombre Rationnel
Nombre Rationnel

Nombre de messages : 399
Réputation : 4
Points : 6524
Date d'inscription : 19/03/2007

Feuille de personnage
Capacité linguistique:
a puissance n en Pascal ? Left_bar_bleue1000/1000a puissance n en Pascal ? Empty_bar_bleue  (1000/1000)

Revenir en haut Aller en bas

a puissance n en Pascal ? Empty Re: a puissance n 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