想学习一下做个多文件的控制台程序,只不过有很多语法错误,
怎么改,还得劳驾各位高人。算两个矩阵加法和乘法的程序
program solve;//主程序所在的单元
{$APPTYPE CONSOLE}
uses
  SysUtils,
  printu in 'printu.pas',
  sm in 'sm.pas';
type mat=array[1..5,1..5] of real;
var
  a,b,c,d,e,f,g,h:mat;
  i,j:integer;
begin
  for i:=1 to 5 do
    for j:=1 to 5 do
      readln(a[i,j],b[i,j],e[i,j],f[i,j]);
  sandm(a,b,c,d);
  print(a);
  print(b);
  print(c);
  print(d);
  sandm(e,f,g,h);
  print(e);
  print(f);
  print(g);
  print(h);
end.
//printu.pas 打印矩阵的过程所在的单元
unit printu;
interface
uses
  SysUtils;
type mat=array[1..5,1..5] of real;
procedure print(var a:mat);
implementation
procedure print(var a:mat);
var 
  i,j:integer;
begin
  for i:=1 to 5 do
  begin
    for j:=1 to 5 do
      write(a[i,j]:8:2);
    writeln;
  end;
  writeln;
end;
end.
//sm.pas
unit sm;//求两个矩阵的和与积的过程所在的单元
interface
type mat=array[1..5,1..5] of real;
procedure sandm(var a,b,c,d:mat);
implementation
procedure sandm(var a,b,c,d:mat);
var
  i,j,k:integer;
begin
  for i:=1 to 5 do
    for j:=1 to 5 do
    begin
      c[i,j]:=a[i,j]+b[i,j];
      d[i,j]:=0;
      for k:=1 to 5 do
        d[i,j]:=d[i,j]+a[i,k]*b[k,j];
    end;
end;
end.