Retour Suite
sylvainmahe.site LE SITE de Sylvain Mahé contact@sylvainmahe.site
Article : Sylvain Mahé contact@sylvainmahe.site Incrémenter des nombres avec la classe Iteration L'incrémentation et la décrémentation de nombres en programmation est généralement très aisée, mais la classe Iteration intègre quelques automatismes qui vous aideront lors d'utilisations un peu plus élaborées. En effet avec la classe Iteration il est facile et transparent pour le programmeur d'incrémenter en boucle (avec "overflow", voir ci-dessous) un nombre entier avec une valeur d'incrément égale ou différente de 1 dans un intervalle à ne pas dépasser, soit des limites minimale et maximale, le tout dans une plage positive et/ou négative. Exemple d'utilisation de la classe Iteration : #include <Iteration.h> int main() { Iteration myIteration = Iteration (1, 9, 10, true); while (true) { //incrément de 3 : myIteration.increment (3); //myIteration.value est la valeur incrémentée, lors de cette première itération elle est égale à 2 } return 0; } Comme le montre l'exemple ci-dessus, si la limite minimale est de 1 (1er paramètre MIN), la valeur de départ de 9 (2ème paramètre START), la limite maximale de 10 (3ème paramètre MAX), et que la boucle est autorisée avec true (4ème paramètre LOOP), alors un incrément de 3 donne après calcul la valeur résultante de 2, car ((9 + 3) - (10 - 1)) - 1 = 2. Comme montré dans cet exemple, les limites minimale et maximale peuvent être bloquantes ou passantes, ce qui autorise la boucle de la valeur incrémentée : La boucle tient compte de la différence restante entre respectivement la valeur incrémentée et la limite maximale, ou la valeur décrémentée et la limite minimale. À noter que ces paramètres sont flexibles : Les valeurs indiquées en paramètre peuvent indifféremment être positives ou négatives et inférieures ou supérieures les unes par rapport aux autres, les fonctions implémentées sont prévues à cet effet. Également dans un soucis de robustesse et de transparence pour le programmeur, la fonction d'incrémentation permet d'indiquer des valeurs supérieures à l'intervalle spécifié en paramètre (limites minimales et maximales), de sorte qu'un modulo est effectué donnant dans tous les cas un résultat juste. Pour finir, un incrément négatif est une décrémentation. Exemple de décrémentation avec la classe Iteration : #include <Iteration.h> int main() { Iteration myIteration = Iteration (1, 9, 10, true); while (true) { //décrément de 3 : myIteration.increment (-3); //myIteration.value est la valeur décrémentée, lors de cette première itération elle est égale à 6 } return 0; } D'autres fonctions existent : - min : redéfini la limite inférieure.
- set : redéfini (ou force) la valeur de la variable value.
- max : redéfini la limite supérieure.
- loop : redéfini la possibilité d'incrémenter et de décrémenter en boucle.
- reset : réinitialise la valeur de la variable value à sa valeur de départ (initiée avec le paramètre START), ceci dans les limites imposées par l'intervalle spécifié.
Récapitulatif des fonctions et variables de cette classe : signed long value = 0; Iteration (const signed long MIN, const signed long START, const signed long MAX, const bool LOOP); void increment (const signed long INCREMENT); void min (const signed long MIN); void set (const signed long VALUE); void max (const signed long MAX); void loop (const bool LOOP); void reset();