Program PermutacaoRandomica;
type Vetor = array[1..20] of integer;
var A: Vetor;
    n, i: integer;

  procedure Permut (var A: Vetor; n: integer);
  { Obtem permutacao randomica dos numeros entre 1 e n }
  var i, j, b: integer;
  begin
    for i:= n downto 2 do 
      begin
      j:= Trunc (i * Random + 1);
      b:= A[i];  A[i] := A[j];  A[j] := b;
      end;
  end;

begin
  randomize;
  n := 10;
  for i := 1 to n do A[i] := i;
  Permut (A, n);
  for i:= 1 to n do Write(A[i]," ");  writeln;
end.


