Blog Emmanuel Orchanian

astuce bdd bureautique codage culture débat design énigme français hacking html mathématiques méthodologie santé typographie 

➗➗➗ Connaissez-vous les trois informations pour les divisions utiles en programmation ?

 

 [1566 vues] 2021-11-13 Emmanuel Orchanian

Introduction

Lorsque nous divisons 5 par 2, nous pouvons retirer 3 informations :
5 ➗ 2 =

  • 2.5 c'est le résultat normal... ce que nous indique la calculatrice (quotient de la division décimale)
  • 2 c'est le résultat de la DIVISION ENTIÈRE (quotient de la division euclidienne)
  • 1 c'est le RESTE de la division entière (reste de la division euclidienne)

Rappel : la division euclidienne est celle que nous avions ✈ appris à l'école primaire, sous la forme
5 divisé par 2 donne 2, il reste 1

division euclidienne
Division avec le reste

Programmation

En général

  • La division classique se fait avec l'opérateur /
    Ainsi 5 divisé par 2 s'écrit 5/2
  • La division entière se fait en transformant un float en int (un nombre à virgule en nombre entier),
  • Le reste de la divisions s'obtient par l'opérateur qu'on appelle modulo.
    Par exemple 5 modulo 2 = 1
    parce ce que le reste de la division de 5 par 2 vaut 2 et il reste 1

JavaScript et PHP

  • La division classique (5/2 donne 2.5) se fait avec le slash
    JavaScript let toto = 5 / 2
    PHP $toto = 5 / 2 ;
  • La division entière se fait en transformant les float en int avec une division classique:
    JavaScript let toto = parseInt( 5 / 2 )
    PHP $toto = intval( 5 / 2 ) ou $toto = (int) 5 / 2

    Autre écriture :
    ~~(5/2) parenthèses obligatoires pour la division entière c'est mignon mais ça fait écarquiller les yeux...
    PHP $toto = intdiv( 5 / 2 ) // c'est la fonction consacrée à la division entière ce qu'on apprécie chez PHP , mais comment ça s'appelait déjà ? intdiv ? int_div ? divint ? div_int ? 😭
  • Dans les deux cas, le reste de la division, qu'on apelle le modulo (par exemple le reste de la division de 5 par 2 est 1, donc 5 modulo 2 vaut 1), s’écrie avec le signe pourcent : JavaScript let toto = 5 % 2
    PHP $toto = 5 % 2 ;
    (renvoi 1)

Je répète : choisissez ce qui est le plus confortable pour votre travail collectif

Calculatrice Google

Pour rappel, Google peux résoudre des calculs (ça va plus vite que la calculatrice Windows ou le smartphone mais ça pollue...)

  • Division classique avec le signe /
  • Division entière, il suffit d'enlever ce qu'il y'a après la décimale, par exemple 79/13=6.07692307692, on se dit que ça fait alors 6
  • Pour le reste de la division entière (le modulo), on écrit mod, par exemple 5 mod 2

Utilisation pratique

Supposons un quadrillage avec une certaine largeur et les cases numérotées de la gauche vers la droite et du haut vers le bas, en commençant par zéro.

quadrillage 5
Quadrillage avec une certaines largeur et les case numérotées

Supposons qu'on nomme les colonnes de la gauche vers le droite en commençant par zéro,
de la même manière on nomme chaque ligne du haut vers le bas.

quadrillage coordonnées

Comment retrouver X et Y à partir du numéro de case et de la largeur ?

Nous pouvons retrouver les noms des colonnes et des lignes d'une case grâce à la largeur et le numéro de la case en utilisant la divisons entière et le reste de la division.

  • numéro de LIGNE = numéro de CASE / largeur (division entière)
  • numéro de COLONNE = numéro de CASE % largeur (reste de la division)

Si ça vous a intéressé...

Je publierai d'autres articles sur les pièges de débutant avec les divisions, et la puissance du modulo.

N'hésitez pas à me contacter via Linkedin pour voter quels articles vous désireriez en premier !

Autres articles qui pourraient vous intéresser

Documentation

https://www.delftstack.com/howto/javascript/integer-division-javascript/ : divisons entière en JavaScript

https://www.php.net/manual/fr/function.intdiv.php : divisons entière en PHP

Merci d'avoir lu !
Si en général vous avez une question, une curiosité, n'hésitez pas me contacter.