Salve amici del Forum!!!Qualcuno mi sa spiegare qual'è l'errore nel programma, che riporto di seguito, redatto in Pascal, che ha il compito di calcolare e(x) in forma approssimata assegnando ad x ed n valori opportuni (con x variabile ed n=5) e seguendo la nota formula di McLaurin secondo cui:

e(x)=1+x+x^2/2!+x^3/3!+x^4/4!+....

poichè il programma medesimo pur risultando sintatticamente corretto, non mi visualizza il risultato finale. Forse il problema è nel compilatore ( mi riferisco alla necessità dell'uso opportuno dell'istruzione readln per visualizzare il risultato con Dev-Pascal )?
Riporto di seguito il testo del programma:

codice:
program EsponenzialeApprossimato(input,output);
const n=5;
var  x : real;
function Potenza( x : real): real;
begin
     if n=0
     then Potenza:=1
     else Potenza:=x*Potenza(n-1);

end;{ fine funzione Potenza }

function Fattoriale( n : integer): integer;
begin
     if n=0
     then Fattoriale:=1
     else Fattoriale:=n*Fattoriale(n-1);

end;{ fine funzione Fattoriale }

function Esponenziale( x : real ):real;
var i : integer;
    Somma : real;
begin
  Somma:=0;
  for i:=1 to n
           do begin
                   Somma:=Somma+((Potenza(x))/(Fattoriale(i)));
                   readln;
              end;
  Esponenziale:=Somma;
readln;
end;{ fine function Esponenziale }
{ Corpo del programma }
begin

  writeln('----------------------------- Dati di ingresso -------------------------------');
  writeln;
  write('Fornire il valore della variabile x : ');
  readln(x);
  writeln;
  Esponenziale(x);
  writeln('Il valore di e(x) approssimato al termine di ordine', n ,'e'': ',Esponenziale(x));
  readln;

end.
Forse è scorretta l'istruzione Fattoriale(i), per calcolare di volta in volta n!, poichè si usa un parametro che è una variabile facendolo passare per parametro per valore ( tuttavia i assume di volta in volta valori costanti nella sommatoria ) ?
Ringraziando da ora chiunque sia in grado di fornirmi una risposta corretta saluto tutti. Ciao!!!