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 !