Hola María
En primer lugar te inserto el código fuente y despues explicaré algo:
program randoms;
uses crt;
const
Max = 90;
type
ConjNum = 1..Max;
Numeros = set of ConjNum;
var
Num : array[1..Max] of integer;
valor,i,j : integer;
conjunto : Numeros;
begin
clrscr;
randomize;
conjunto := [];
for i := 1 to 10 do
begin
repeat
valor := random(90)+1
until (valor in conjunto) = false;
num[i] := valor;
conjunto := conjunto+[valor];
writeln(Num[i])
end;
end.
Bien. Al declarar el tipo ConjNum estableces el rango en que oscilarán el valor de los numeros y que serán los producidos por el random.La funcion REPEAT repetirá el random hasta que el numero producido sea diferete a todos los numeros contenidos en el conjunto; despues se suma el valor del random a la posición correspondiente del vector y tambien en el conjunto para evitar que se
repita.
Espero te solucione el problema.
Suerte