Définir un sous-type avec des bornes spéciales [ADA] - Ada - Programmation
Marsh Posté le 18-01-2004 à 22:15:48
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 :
|
utilisation :
Code :
|
Mais ce n'est pas exactement ce que tu voudrais faire.
Marsh Posté le 21-01-2004 à 15:17:30
Si je comprends bien, Katkiller voudrait pouvoir définir un invariant, c'est ça ?
Marsh Posté le 21-01-2004 à 19:22:10
BifaceMcLeOD a écrit : Si je comprends bien, Katkiller voudrait pouvoir définir un invariant, c'est ça ? |
J'ai l'impression qu'il voulait un type parceque son package générique Ada.Numerics.Discrete_Random lui en demandait un. Sans se poser beaucoup plus de questions, il débute.
Marsh Posté le 18-01-2004 à 11:09:27
Salut les gens,
j'ai cette procédure en ada (jusque la tout va bien...).
Ma question est la suivante: Peut-on définir les bornes d'un sous-type (ici "Tirage" ) avec les paramètres d'appels de la fonction. Si oui, avec quelle ruse de guerre ? ( ou un indice...)
procedure Test_Random (
Borne_Inf : Integer := 0;
Borne_Sup : Integer := 1 ) 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;
Merci d'avance