Modulo
- Présentation -
En informatique, le programmeur se voit souvent confronté à des problèmes difficiles à résoudres à l'aide des opérateurs classiques. C'est pour cela qu'a été implémenté l'opérateur modulo. Cet opérateur, noté %, Mod, \
respectivement en C (et C++, Java, Pascal...), Basic et Scripting, vous rendra de fière services. Au même titre que la récursivité, il est difficile à employer.
Mais que fait il ? Il retourne le reste de la division entière d'un nombre par un autre. Concrètement, le reste de 10 / 3
est 1. Donc 10 % 3 = 1
. Vous verez que le modulo permet également de simplifier le code...
- Notre Projet -
Cette fois ci, nous avons décidé de créer un jeu pouvant ce jouer à deux. Il est donc nécessaire, à un moment ou à un autre de passer du premier joueur au second. La variable joueur
contiendra donc 1 ou 2 suivant la personne à qui c'est le tour de jouer. Nous allons voir deux méthodes. Une classique et une staïle utilisant les modulos.
- Le Code -
Voici les codes illustrant nos propos.
La version classique:
int joueur; ... if (joueur == 1) joueur = 2; else joueur = 1; ...
La version modulo:
int joueur; ... joueur = rnd(joueur % 2) + 1; ...
Ici, la focntion rnd()
retourne l'arrondi par excès du nombre passé en paramètre. Analysons cette ligne bizarre. Lorsque joueur = 1
, joueur % 2 = 0.5
. Or l'arrondi par excès de 0.5 est 1. Ajouté à 1, on obtient 2, le joueur 2. Et pour joueur = 2
, joueur % 2 = 0
. Ajouté à 1, on obtient le joueur 1.
Voilà, j'espère que cet exemple vous aura donné envie de vous servir de ce fantastique opérateur aussi souvent que possible !
[ Astuces ]