Aller au contenu
Kilterra

Tuto Maths #1 La division euclidienne : le modulo et le quotient

Messages recommandés

Salut à tous !

Tout d'abord, vous allez me demander : pourquoi y a t-il "Tuto Maths #1" dans le titre ?

Tout simplement parce que j'ai décide de faire une série du tutos sur différentes utilisations des mathématiques en informatiques. A la fin de chaque tutos je mettrai la liste des tutos que j'ai fait pour que vous puissiez vous y retrouver facilement.
 

Le premier tuto de cette série sera sur la division euclidienne donc le modulo et le quotient, 2 notions peu souvent utilisé en skript mais qui peuvent être utiles quand même.

 

I. Quelques notions

Voici d'abord une petite définition de la division euclidienne.

La division euclidienne ou division entière est une opération qui, à deux entiers naturels appelés dividende et diviseur, associe deux autres entiers appelés quotient et reste, voici un petit exemple en photo.

C'est en faite la première division qu'on apprend en première, il n'y a rien de sorcier sous ce nom la.

Voici un petit exemple :

 exempledivisioneuclidienne.png.401e0ba470047499c876c9eac995ade5.png

 

Maintenant mettons un visage sur les noms évoqués dans la définition.

  • Dividende : C'est le nombre qu'on va diviser (ici c'est 47)
  • Diviseur : C'est le nombre par lequel on va diviser (ici c'est 5)
  • Reste : C'est le nombre qu'il reste une fois qu'on a enlever le plus de fois possible le diviseur (ici c'est 2)
  • Quotient : C'est le nombre qui correspond à combien "il y a a de fois 5 dans le diviseur" (ici c'est 9)

Ce sont toujours des nombres entiers.

Si vous souhaitez davantage d'explications sur tout ça je vous conseille de chercher sur internet, vous trouverez votre bonheur.

 

II. Le quotient

En informatique le quotient d'une division peut servir dans plusieurs cas.

Par exemple si on dois manipuler un tableau à 2 dimensions (c'est un tableau avec plusieurs lignes et plusieurs colonnes). Imaginons que je fais 5 colonnes de 5 lignes chacunes. Maintenant je veux placer tout les nombres entre 0 et 4 inclus dans la première colonne, tout les nombres entre 5 et 9 dans la deuxième et ainsi de suite. Si je veux savoir ensuite dans quelle colonne se place le nombre 16 comment je peux faire ? A moins de tous les compter à chaque fois, on va utiliser la division euclidienne et le quotient. En fait, on va juste prendre le nombre et le diviser par le nombre de lignes (ici c'est 5), car à chaque fois qu'on va changer de colonne le nombre de la première ligne aura augmenté du nombre de lignes.

Voici les premières divisions euclidienne pour mieux comprendre.

Je vous donne juste le quotient de chaque division euclidienne, de plusieurs nombres par 5.

0/5 = 0
1/5 = 0
2/5 = 0
3/5 = 0
4/5 = 0
5/5 = 1
6/5 = 1
7/5 = 1
8/5 = 1
9/5 = 1
10/5 = 2
15/5 = 3
 

Vous aussi vous remarquez quelque chose ? A chaque fois qu'on passe un nombre divisible par 5 on change de quotient.
Maintenant prenez le quotient et rajouter 1 à chaque fois, vous obtenez la colonne. Comment cela se fait-il ? C'est le principe de la division euclidienne en faite. A chaque fois que vous ajoutez 1 le reste de la division va augmenter, jusqu'à ce qu'il soit à son tour divisible par 5, c'est à ce moment la qu'on va changer de colonne.

 

III. Le reste et le modulo

Le reste de la division euclidienne est le nombre qu'il reste une fois qu'on ne peut plus enlever le diviseur au nombre, il est toujours inférieur au diviseur. C'est logique, si il était supérieur ou égale alors on pourrai encore soustraire le diviseur au reste.

A quoi peut bien servir le reste ? A plusieurs chose : reprenons l'exemple utilisé avec le quotient. On a pu obtenir le numéro de la colonne en utilisant le quotient et en lui ajoutant 1. Mais comment obtenir le numéro de lignes ? En utilisant le reste cette fois et en lui ajoutant un. Faîtes un petit schéma et regarder : si on prend le nombre 0 son reste est égale à 0 et il se place ligne 1, avec le nombre 1 : le reste est égale à 1 et il se place ligne 2.

En fait, c'est le même principe qu'avec le quotient, on se fiche de savoir dans quelle colonne le nombre se trouve (on le sait avec le quotient ça) donc on peut enlever le quotient multiplié par le diviseur pour faire comme si on était sur la première colonne, et maintenant on a juste à regarder ce qu'il se passe sur la première colonne, c'est ce qu'on a fait juste au dessus. Voilà une utilité du reste.

On entend aussi souvent parler de modulo, en faite c'est pareil. Un nombre x modulo un nombre y ça revient à chercher le reste de la division euclidienne de a par b. Vous étonnez donc pas si dans un langage de programmation ou dans la vie vous entendez parler de modulo.

 

IV. Et le skript dans tout ça ?

On y venait justement. Voici les moyens de retrouver le quotient et le modulo de deux nombres et 1 exemples d'utilisation chacun.

Pour obtenir le quotient de la division euclidienne de {_x} par {_y} il faut utiliser le calcul : floor({_x}/{_y}). En faite floor() retourne l'arrondi à l'unité inférieur d'un nombre à virgule, si on prend 9 et 2 par exemple : 9/2=4.5 mais le quotient est seulement 4. En faite le quotient est toujours l'entier égale ou inférieur à la division que vous faîte habituellement.

Pour obtenir le modulo de {_x} par {_y} maintenant, il suffit juste d'utiliser l'expression {_x} mod {_y}.

 

Voici un exemple de skript utilisant le modulo maintenant. En faite c'est un décompte partant de 60 qui va envoyer un message à chaque fois que le nombre sera un multiple de 10. Pour savoir si c'est un multiple de 10, on va juste vérifier si le reste du nombre par 10 est égale à 0. Si c'est vrai ça voudra dire que le nombre est divisible par 10 donc que c'est un multiple de 10.

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

Voici un exemple de skript utilisant le quotient maintenant. Ce skript va nous dire si l'argent du joueur est entre 0 et 1000, 1001 et 2000 ect... Pour cela, c'est la même technique que pour le remplissage des colonnes. Si le quotient de l'argent du joueur par 1000 est égale à 0 c'est que son argent est inférieur à 1000 car on ne peut pas enlever au moins 1000 à l'argent du joueur et ainsi de suite.

Hidden Content

    Give reaction or reply to this topic to see the hidden content.

 

 

Voilà j'espère que ce tuto vous a plu, et je vous félicite d'avoir lu jusqu'en bas. Si vous n'avez pas compris certains points n'hésitez pas à me le dire et je les corrigerai avec plus d'explications, mais c'est vrai que c'est pas facile d'expliquer tout ça par écrit.

 

A la prochaine !
Cordialement
Kilterra 

  • J'aime 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Merci pour se tuto, il me sera d'une grande aide ! C'est plus facile d'utiliser le floor et le mod que les autres techniques. Mais y a besoin d'un addon en particulier ? 

Partager ce message


Lien à poster
Partager sur d’autres sites

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant

×

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.