sistema lineare con turbo 1.1 su mac

PROGRAM equa5;
(* sistema a due o tre equazioni con numeri reali *)
    type 
     matq=array[1..3,1..3] of real;
     var 
     ds,dx,dy,dz:real;
     i,j,n:integer;
     h:string;
     S,Ax,Ay,Az:matq;
     a:array[1..3,1..4] of real;
 
  
  function det(a:matq):real;
   begin
    det:=a[1,1]*a[2,2]*a[3,3]+a[2,1]*a[3,2]*a[1,3]+a[1,2]*a[2,3]*a[3,1]+
    -a[1,3]*a[2,2]*a[3,1]-a[2,1]*a[1,2]*a[3,3]-a[3,2]*a[2,3]*a[1,1];
    end;
    
   
procedure secondo;
begin
clearscreen;
 for i:=1 to 2 do
    begin
    writeln('scrivi valori coefficienti e termine noto della equazione n.',i);
   for j:=1 to 3 do
    begin
     write('dato ',i,',',j,'=');readln(a[i,j]);
      end;     
      end;
      
      ds:=a[1,1]*a[2,2]-a[2,1]*a[1,2];
      dx:=a[1,3]*a[2,2]-a[2,3]*a[1,2];
      dy:=a[1,1]*a[2,3]-a[2,1]*a[1,3];
                 
      
      clearscreen;
      if ds=0 then
       begin
        if (dx=0) or (dy=0) then
         begin
          writeln('sistema indeterminato')
           end
           else
           begin
            writeln('sistema impossibile');
             end
             end
             else
              begin
               writeln('x=',dx/ds:8:2);
               writeln('y=',dy/ds:8:2);               
               end; end;      
     
  
  procedure terzo;
begin
 clearscreen;
   for i:=1 to 3 do
    begin
    writeln('scrivi valori coefficienti e termine noto della equazione n.',i);
   for j:=1 to 3 do
    begin
     write('dato ',i,',',j,'=');readln(a[i,j]);
      end;
      write('termine noto =');readln(a[i,4]);
      end;
      for i:=1 to 3 do
       begin
        for j:=1 to 3 do
          S[i,j]:=a[i,j];
           end;
       for i:=1 to 3 do
             begin
              ax[i,1]:=a[i,4];
              ax[i,2]:=a[i,2];
              ax[i,3]:=a[i,3];
              end;     
              
       for i:=1 to 3 do
             begin
              ay[i,1]:=a[i,1];
              ay[i,2]:=a[i,4];
              ay[i,3]:=a[i,3];
              end;
       for i:=1 to 3 do
             begin
              az[i,1]:=a[i,1];
              az[i,2]:=a[i,2];
              az[i,3]:=a[i,4];
              end;
                   
      ds:=det(S);
      dx:=det(Ax);
      dy:=det(ay);
      dz:=det(az); 
      clearscreen;
      if ds=0 then
       begin
        if (dx=0) or (dy=0) or (dz=0) then
         begin
          writeln('sistema indeterminato')
           end
           else
           begin
            writeln('sistema impossibile');
             end
             end
             else
              begin
               writeln('x=',dx/ds:8:2);
               writeln('y=',dy/ds:8:2);
               writeln('z=',dz/ds:8:2);
               end; end;      
            
  
  procedure azione;
  begin
   clearscreen;
   writeln('soluzione sistemi numerici interi a due,tre equazioni');
   writeln;
   writeln('1...sistema a due equazioni');
   writeln('2...sistema a tre equazioni');
   writeln('0...fine operazione');
   writeln('scelta ? ');readln(n);
   if n=1 then secondo;
   if n=2 then terzo;
   writeln('----------------------------------------------');
   write('scrivi 1 per altro sistema;2 per finire ');readln(h);
   if h='1' then azione;
   end;
   
   begin
    clearscreen;azione;clearscreen;
     end.