Нужно поменять местами первый и последний элементы, второй и предпоследний и т.д. В общем виде нужно обменять элементы массива x[i] и x[n+1-i]. Нужно определить верхнюю и нижнюю границы изменения значения переменной i. Пусть, например, в массиве 6 элементов. В этом случае меняются элементы 1-й и 6-й, 2-й и 5-й, 3-й и 4-й. Таким образом, если n четное, то количество повторений равно n/2. Пусть теперь в массиве 5 элементов. В этом случае меняются элементы 1-й и 5-й, 2-й и 4-й, а 3-й элемент остается на месте. Таким образом, если n нечетное, то количество повторений равно (n-1)/2. Эти формулы можно записать следующим образом: n div 2. Приведем текст программы:

Program Problem30_2; 
Var
  X: Array[1..250] Of Integer;
  m,i,temp:Integer;
Begin
  Write('Задайте количество элементов массива: ');
  ReadLn(m);
  WriteLn('Укажите элементы массива');
  For i:=1 To m Do
   Begin
    Write(i,'-й элемент: ');
    ReadLn(X[i]);
   End;
  {Обменяем значения в массиве}
  For i:=1 To m div 2 Do 
   Begin
    temp:=X[i]; 
    X[i]:=X[m+1-i]; 
    X[m+1-i]:=temp;
   End;
  WriteLn('Преобразованный массив');
  For i:=1 To m Do
    Write(X[i],' ');
  WriteLn;
End.
Текст этой программы можно взять здесь.