Il programma corretto è il seguente:

codice:
program SommaDiDuePolinomi(input,output);
label 99;
const bell=07;
      n=10;
type termine = record
                     coeff : real;
                     esp : integer;
               end;
     pol=array[1..n]of termine;

var p,pol1,pol2,polsomma : pol;
    m,c1,c2 : integer;

procedure leggipolinomio( var p :pol; var c : integer; k : integer);
var i : integer;
begin
     if k>n
     then begin
               writeln(chr(bell),'Errore nei dati di ingresso! - STOP -');
               goto 99
          end
     else
         writeln('Fornire il polinomio in ingresso: ');
         writeln;
         for i:=1 to k
                   do begin
                           readln(p[i].coeff);
                           readln(p[i].esp);
                      end;
     readln(c);
     writeln;
     for i:=1 to k
              do write((p[i].coeff):2:2,' * X^ ',(p[i].esp):2,' + ');
     writeln(c,' = 0');

end;(* fine procedura leggipolinomio *)
procedure Somma( var polsomma : pol; c1,c2 : integer; pol1,pol2 : pol);

var i,d : integer;
begin
     for i:=1 to m
                 do begin
                         polsomma[i].coeff:=pol1[i].coeff+pol2[i].coeff;
                         polsomma[i].esp:=pol1[i].esp;
                    end;
     d:=c1+c2;
     writeln;
     writeln('Il polinomio somma e'': ');
     writeln;
     for i:=1 to m
              do write((polsomma[i].coeff):2:2,' * X^ ',(polsomma[i].esp):2,' + ');
     writeln(d,' = 0');
end;(* fine procedura Somma *)

(*Corpo del programma *)
begin

     writeln('------------------ Dati di ingresso ----------------------------');
     writeln;
     write('Fornire il grado dei polinomi: ');
     readln(m);
     writeln;
     leggipolinomio(pol1,c1,m);
     writeln;
     leggipolinomio(pol2,c2,m);
     Somma(polsomma,c1,c2,pol1,pol2);
     99 :
     readln;


end.
Grazie a tutti. Ciao!!!