Correggo un errore: nella funzione Esponenziale non deve comparire la dichiarazione di variabile i : integer; per i noti problemi relativi alle regole sui campi d'azione delle variabili stesse dichiarate nelle procedure e nelle funzioni. Dunque il programma per il quale chiedo la verifica della correttezza e che generalizza il problema proposto all'inizio di questo post è il seguente:

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

end;{ fine funzione Potenza }

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

end;{ fine funzione Fattoriale }

function Esponenziale( x : real ):real;
var 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;
  write('Fornire il valore della variabile n : ');
  readln(n);
  writeln;
  Esponenziale(x);
  writeln('Il valore di e(x) approssimato al termine di ordine', n ,'e'': ',Esponenziale(x));
  readln;

end.
Grazie a coloro che mi forniranno risposte esaurienti. Ciao!!!