Результат Turbo Pascal не виден

#pascal

#паскаль

Вопрос:

можете ли вы сказать мне, где ошибка. Я хочу записать в консоль содержимое a [i] в каждом для запуска. Вывод может состоять из 6 цифр. Есть предупреждение компилятора:

/usr/bin/ld.bfd: предупреждение: link.res содержит разделы вывода; вы забыли -T?

…Программа завершена с кодом выхода 0

 program Hello;

type aha = array [1..6] of integer;

var 
a: aha;
n,x,i: integer;

begin
a[1]:=2;
a[2]:=6;
a[3]:=4;
a[4]:=2;
a[5]:=4;
a[6]:=3;

n:=6;

x:=a[1];

for i:=2 to n do
begin
{
  if (a[i-1]>= x) then
  begin
  a[i]:=a[i] - x div 2;
  end;
  
  else 
  begin
  a[i]:=a[i]   x;
  x:= x   mod x(a[i]   1);
  end;
  
  writeln (a[i]);
}
end;
end.
 

Комментарии:

1. Я не знаю, что означает предложенный параметр «-T» для компилятора, но я знаю, что пара фигурных скобок «{» и «}» заставляет его рассматривать все промежуточное как комментарий. Удалите их. Возможно, также добавьте a readln: непосредственно перед end. , чтобы окно консоли оставалось открытым.

2. Кроме того, удалите точку с запятой (;) перед else . Это ошибка, так как if condition then begin ... end else begin ...end; является составным оператором. У вас ошибка в строке `x:= x mod x(a[i] 1);` У вас не может быть оператора, за которым сразу следует mod оператор.

3. Предупреждение -T можно игнорировать. Это связано с аспектом миграции в некоторых дистрибутивах Linux