Программа выдает ошибку, что нужна точка с запятой после слова shortint

Препод

Почему программа выдает ошибку, что нужна точка с запятой после слова shortint.Помогите завтра нужно очень
program prog_3;
uses crt;
Type M=array[1..n] of shortint= (2,-1,3,-2,1,5,-3,2,4,1) ;
const n=10;
 var   pr,m,i,j,k,x:shortint;T:M;
 f:boolean;
begin
   f:=true;
   m:=n;
   pr:=1;
  writeln('original array');
    for i:=1 to m do
     write(T[i],' ');
     writeln('  ');
    writeln('sorted array');
 for i:=1 to n-1 do
 if f=true then
  begin
   f:=false;
   for j:=i+1 to n do
    if (abs(T[i]) > abs(T[j])) then
       begin
          x:= (T[i]);
          T[i]:=(T[j]);
          T[j]:= (x);
          f:= true;
       end;
  end;
    for i:=1 to m do
     write(T[i],' ');
     writeln(' ');
      pr:=pr*T[1]*T[2]*T[3];
     writeln ('произведение 3-x наименьших по модулю элементов массива равно ', pr);
end.
1 ответ

Препод

program prog_3;
uses
  crt;
const
  n=10;
Type
  M=array[1..n] of shortint;
const
  tt:M=(2,-1,3,-2,1,5,-3,2,4,1);
var
  pr,mm,i,j,k,x:shortint;
  T:M;
  f:boolean;
begin
  T:=tt;
 
  f:=true;
  mm:=n;
  pr:=1;
  writeln('original array');
  for i:=1 to mm do
    write(T[i],' ');
  writeln;
  writeln('sorted array');
  for i:=1 to n-1 do
    if f=true then
    begin
      f:=false;
      for j:=i+1 to n do
        if (abs(T[i]) > abs(T[j])) then
        begin
          x:= (T[i]);
          T[i]:=(T[j]);
          T[j]:= (x);
          f:= true;
        end;
    end;
  for i:=1 to mm do
    write(T[i],' ');
  writeln;
  pr:=pr*T[1]*T[2]*T[3];
  writeln ('произведение 3-x наименьших по модулю элементов массива равно ', pr);
end.