O uso da variável aux, nesse programa, está correto, mas não...
Para responder a essa questão considere o programa em Pascal InverteVetor.
program InverteVetor;
var
v: array [1..10] of integer;
i, aux: integer;
begin
for i := 10 downto 1 do
readln(v[i]);
for i := 1 to 10 do
begin
aux := v[i];
v[i] := v[11-i];
v[11-i] := aux;
end;
for i := 1 to 10 do
writeln(v[i]);
end.
aux := v[i]; v[i] := v[11-i]; v[11-i] := aux;
pelo bloco de comandos
v[i] := v[11-i]; v[11-i] := v[i];
que o programa funcionaria da mesma forma.