/* Historique: ----------- Module: genaleat.h Auteur: Mohamed Lokbani Version: 1.02 Modifications: 21 février 2003 - M.Lokbani - gcc3.2 + commentaires Copyright (C) 2003 Université de Montréal Département d'informatique et de Recherche Opérationnelle Mohamed Lokbani -- Tous Droits Réservés -- All Rights Reserved -- Description: ----------- GenAleat est une classe permettant la génération des nombres aléatoires uniformément repartis sur un intervalle donné. Cette classe contient les éléments suivants: *) constructeur --------------- GenAleat() Ce constructeur initialise le générateur des nombres aléatoires une fois par programme, et non pas après instanciation de chaque objet. *) fonctions membres -------------------- +) IntAleat(int max) Retourne un nombre aléatoire dans l'intervalle ouvert à droite (i.e. la valeur max n'est pas comprise) [0 ... max). +) IntAleat(int min,int max) Retourne un nombre aléatoire dans l'intervalle [min ... max]. +) DoubleAleat() Retourne un nombre du type double aléatoirement choisi de l'intervalle [0...1) *) variables membres -------------------- +) unique Pour l'initialisation unique objet/classe +) depart Pour initialiser le générateur à un nouveau point de départ, sinon le point de départ sera égal 1. Ceci signifie que le résultat sera identique pour une même session. Exemples d'utilisation ---------------------- +) Instanciation d'un objet à partir de la classe GenAleat: GenAleat valeat; +) valeat.IntAleat(8); Retourne un nombre du type int aléatoirement choisi dans l'intervalle [0...7] ou [0...8) ici la valeur 8 n'est pas comprise. +) valeat.IntAleat(4,12) Retourne un nombre du type int aléatoirement choisi dans l'intervalle [4...12] +) valeat.IntAleat() Retourne un nombre du type int aléatoirement choisi de l'intervalle [0...INT_MAX) Remarques: --------- La valeur INT_MAX est valeur maximale admissible par le système. Cette valeur est définie dans le fichier limits.h d'où la nécessité de son inclusion. */ //--------------------- genaleat.h ------------------------------- #ifndef _GENALEAT_H #define _GENALEAT_H #include class GenAleat { public: GenAleat(); int IntAleat(int max = INT_MAX); int IntAleat(int min, int max); double DoubleAleat(); private: static int unique; static int depart; }; #endif // _GENALEAT_H non définie