Incrémentation

Un article de Wikipédia, l'encyclopédie libre.

En informatique, l'incrémentation est l'opération qui consiste à ajouter une valeur entière fixée à un compteur. L'opération inverse, la décrémentation, consiste à retirer une valeur entière au compteur.

Cette opération est très courante dans les programmes informatiques, notamment dans les boucles d'itération, si bien que la plupart des langages de programmation implémentent des opérateurs d'incrémentation et de décrémentation. Ainsi, dans un grand nombre de langages, la syntaxe suivante permet d'ajouter ou de retirer une unité à la variable x :

  • x++ (resp. x--) en forme préfixée, qui équivaut à x = x + 1 (resp. x = x - 1)[1];
  • ++x (resp. --x) en forme suffixée, qui équivaut à x = 1 + x (resp. x = 1 - x)[1].

Si la valeur de x, après l'évaluation de l'instruction x++ ou ++x est toujours le successeur de x, il y a néanmoins une subtilité concernant la valeur de retour de l'instruction, selon la forme utilisée ; L'une est la valeur avant incrémentation, l'autre est la valeur après incrémentation :

  • y = x++ équivaut à y = x ; x = x + 1
  • y = ++x équivaut à x = 1 + x ; y = x

D'autres opérateurs permettent d'incrémenter ou de décrémenter par un nombre différent de 1. Par exemple, x += 3.5 ajoute 3.5 à la valeur de x.

[modifier] Exemple

Voici un exemple, écrit en Java, illustrant le fonctionnement des opérateurs d'incrémentation et de décrémentation

class Exemple {
    public static void main(String[] args){
        int i = 0;
        i++;
        System.out.println(i);    // "1"
        ++i;             
        System.out.println(i);    // "2"
        System.out.println(++i);  // "3"
        System.out.println(i++);  // "3"
        System.out.println(i);    // "4"
        System.out.println(i--);  // "4"
        System.out.println(--i);  // "2"
        System.out.println(i);    // "2"
        i -= 2;
        System.out.println(i);    // "0"
    }
}

[modifier] Utilisation dans les noms de logiciels

Le langage C++ tient son nom de l'opérateur d'incrémentation ++ présent dans le langage C dont il est issu. De même, l'éditeur de texte Notepad++ se pose comme une version améliorée du bloc-notes (en anglais : Notepad) de Microsoft.

[modifier] Notes et références

  1. ab « = » désigne ici l'opérateur d'affectation. Cet opérateur varie suivant les langages : on trouve également « := » ou encore « <- »