program vetor;

const tam_vet = 7;   
type tipo_vetor = array [1..tam_vet] of integer;

procedure le_vetor(var vet : tipo_vetor);
var
   i : integer;
begin
   for i:= 1 to tam_vet do
   begin
      write('Vet[', i,']: ');
      readln (vet[i]);
   end;
end; 

procedure escreve_vetor(var vet	: tipo_vetor);
var
   i : integer;
begin
   writeln;
   for i:=1 to tam_vet do
      writeln('Vet[', i,']: ', vet[i]);
end; 

procedure troca(var x, y: integer);
var
   aux : integer;
begin
   aux := x;
   x := y;
   y := aux;
end;

procedure inverte_vetor(var vet : tipo_vetor);
var
   i : integer;
begin
   for i := 1 to tam_vet div 2 do
      troca(vet[i], vet[tam_vet - i + 1]);
end; 

procedure ordena(var vet: tipo_vetor);
var
   i, j	:  integer;
begin
   for i:= 1 to tam_vet-1 do
      for j := i+1 to tam_vet do
	 if vet[j] < vet[i] then
	    troca(vet[j], vet[i]);
end;

var
   vet : tipo_vetor;
begin
   le_vetor(vet);
   inverte_vetor(vet); 
   escreve_vetor(vet);
   ordena(vet);
   escreve_vetor(vet);   
end.
