non, on ne peut pas, les bornes des types doivent être entièrement connus à la compilation.
Dans ton cas c'est mort.
par contre, tu peux faire un truc générique, mais il faudra l'instancier avant de l'utiliser.
Code :
- generic
- Borne_Inf is Integer ;
- Borne_sup is Integer;
- procedure Test_Random () is
- type Tirage is range Borne_Inf .. Borne_Sup;
- package Aleatoire is new Ada.Numerics.Discrete_Random (Tirage);
- use Aleatoire; -- Rend Generator, Reset et Random visibles
- T : Tirage;
- G : Generator;
- begin
- Reset (G);
- -- Initialise le générateur (à faire une seule fois)
- for I in 1..30 loop
- T:= Random (G);
- -- Tire un nombre au hasard entre borne_inf et borne_sup
- Put(Integer(T));
- end loop;
- end Test_Random;
|
utilisation :
Code :
- procedure Random_10_20 is new Test_Random(Borne_Inf=>10, Borne_Sup=>20);
|
Mais ce n'est pas exactement ce que tu voudrais faire.
---------------
trainoo.com, c'est fini