Exercice 18/38

Soit quatre variables var1, var2, resultat1 et resultat2 déjà déclarées. Les variables var1 et var2 contiennent un nombre.
Dans le fichier "script.js" :

  • incrémentez var1 puis affectez le résultat à resultat1;
  • affectez var2 à resultat2 puis incrémentez var2;
  • cliquez sur "Soumettre ma réponse".

Leçon 18/38

Il existe en fait deux façons d'utiliser les opérateurs pour incrémenter et décrémenter.

var nombre1 = 0;
var nombre2 = 0;
nombre1++; // = 1
++nombre2; // = 1

Les deux variables ont été incrémentées, mais la différence se fait au niveau de la priorité de l'opération.

Exemple 1

var nombre = 0;
var resultat = ++nombre; // Ici on incrémente 'nombre' puis on l'affecte à 'resultat'
alert(nombre); // = 1
alert(resultat); // = 1

Exemple 2

var nombre = 0;
var resultat = nombre++; // Ici on affecte 'nombre' (qui vaut 0) à 'resultat' puis on incrémente 'nombre'
alert(nombre); // = 1
alert(resultat); // = 0

Commentaires les mieux notés

  • agiuge-21

    bonjour voici mon code var resultat1 = var1++; idem pour var resultat 2 et on me répond que je ne dois modifier la variable des résultats... Je ne comprends pas

  • farjallah.refka-37

    bnjour, mon message d'erreur est: Vous n'avez pas correctement assigné de valeur à la variable resultat1.

  • raphael.choisi

    Merci Mram !

  • markitobcn

    merci

81 Commentaires

  • raphael.choisi

    raphael.choisi

    Merci Mram !

    le 15/12/2016 à 16h31

  • markitobcn

    markitobcn

    merci

    le 30/10/2016 à 12h43

  • paris.laureline

    paris.laureline

    Si cela peut aider : j'ai finalement compris que l'incrémentation c'est le fait d' "ajouter", une fois cette notion acquise, le reste est indiqué littérairement dans la consigne.

    le 24/05/2017 à 10h27

  • atif.souidi

    atif.souidi

    je ne comprend mon erreur et pourquoi mes comentaires ne s'aficche pas ????

    le 21/09/2016 à 15h01

  • mram

    mram Administrateur

    les commentaires sont soumis à validation avant d'être affichés publiquement.

    le 21/09/2016 à 21h25

  • atif.souidi

    atif.souidi

    avez-vous utilisé l'operateur ++ dans les 2 cas ? euh oui.

    le 22/09/2016 à 18h21

  • mram

    mram Administrateur

    Non, ligne 1 il y a une petite erreur de syntaxe.

    le 22/09/2016 à 23h53

  • ykaercher

    ykaercher

    Bonjour il me semble que ce soit correctement écrit: var init1 = 0; var resultat1 = ++init1; alert(init1); alert(resultat1); var init2 = 0; var resultat2 = init2++; alert(init2); alert(resultat2);

    le 08/09/2016 à 12h08

  • mram

    mram Administrateur

    Ligne 2 il faut mettre "++" après et non devant. Concernant la fenêtre résultat, c'est normal, il n'y a pas de résultat à afficher à chaque exercice Javascript.

    le 28/03/2017 à 01h06

  • mram

    mram Administrateur

    Non, lignes 1 et 6 inutiles, les variables sont déjà déclarées comme dit dans l'énoncé. Et pas besoin d'utiliser alert(), c'est pas demandé dans l'énoncé.

    le 08/09/2016 à 14h34

  • aminehadef

    aminehadef

    Bonjour je ne comprend pas mon erreur ++init1; init1=resultat1; init2=resultat2; init2++;

    le 09/12/2016 à 03h05

  • markitobcn

    markitobcn

    là je n'y arrive pas du tout!

    le 27/10/2016 à 00h52

  • mram

    mram Administrateur

    Votre code doit tenir en 2 lignes, il faut mixer le code des lignes 1 et 2 pour le premier cas, et le code des lignes 3 et 4 pour le deuxième cas.

    le 09/12/2016 à 23h03

  • aminehadef

    aminehadef

    a ok merci beaucou

    le 10/12/2016 à 01h36

  • sofiane.abba236

    sofiane.abba236

    Quel est mon erreur svp ?

    le 11/12/2016 à 17h49

  • mram

    mram Administrateur

    Vos lignes 1 et 2 sont inutiles, ces variables existent déjà. Et le code à partir de la ligne 7 est inutile aussi. Et lignes 3 et 4 c'est là qu'il faut utiliser "resultat1" et "resultat2"

    le 27/10/2016 à 09h24

  • raphael.choisi

    raphael.choisi

    Bjr, le message d'erreur dit: "Avez-vous bien utilisé l'opérateur ++ correctement dans les deux cas?" dans le code suivant: ++init1;init1=resultat1; init2++;init2=resultat2;

    le 12/12/2016 à 20h11

  • mram

    mram Administrateur

    @sofiane.abba236 : je ne peux pas vous dire, le contenu de votre fichier script.js au moment de votre commentaire est vide...

    le 13/12/2016 à 10h52

  • mram

    mram Administrateur

    @raphael.choisi : votre code est trop compliqué, il suffit d'écrire resultat1 = ...; et resultat2 = ...; Bien sûr il faut remplacer les points de suspension par l'incrémentation de "init1" dans le premier cas, et de "init2" dans le second cas.

    le 13/12/2016 à 10h55

  • markitobcn

    markitobcn

    là je ne sais vraiment plus… help !

    le 27/10/2016 à 11h35

  • mram

    mram Administrateur

    Il faut affecter (avec le signe =) "init1" à "resultat1" et "init2" à "resultat2". Mais dans un cas on va utiliser "++" (pour incrémenter donc) juste avant "init" et dans l'autre cas juste après. Le code tient en 2 lignes.

    le 29/10/2016 à 17h07

  • m.boudjema

    m.boudjema

    Je ne comprends pas mon erreur. A vrai dire, je ne comprends pas la logique de l'exercice et je peine à comprendre Java dans son ensemble si bien que je n'ai jamais de résultat affiché dans l'encadré sous mon code.

    le 24/03/2017 à 10h52

  • sarahberri-70

    sarahberri-70

    Bonsoir, je ne comprend pas mon erreur pour cet excerice. Pourriez-vous m'aider svp ? Merci

    le 30/12/2018 à 20h53

  • meriam

    meriam Administrateur

    bonjour, vous utilisez des variables init1 et init2 qui n'existent pas, il faut que vous utilisez var1 et var2 au lieu de init1 et init2 (lisez bien l'énoncé).

    le 31/12/2018 à 12h16

  • bernardraphael13

    bernardraphael13

    bonjour mon code semble bon mais j'ai le message d'erreur La valeur de "resultat1" est incorrecte. La valeur de "resultat2" est incorrecte. pouvez vous m'indiquer une piste pour corriger cette erreur merci d'avance.

    le 26/06/2017 à 08h24

  • mram

    mram Administrateur

    On a eu un souci de Proxy sur le serveur, normalement c'est corrigé.

    le 29/06/2017 à 16h57

  • lmordier

    lmordier

    Salut, je ne comprend pas mon erreur : resulat1 = ++init1;resulat2 = init2++

    le 11/12/2017 à 15h38

  • lmordier

    lmordier

    ok j'ai vu mon erreur : "resulat" au lieu de "resultat" XD

    le 11/12/2017 à 15h45

  • mram

    mram Administrateur

    Bonjour, oui attention au fautes de frappes !

    le 14/12/2017 à 21h11

  • philippe.essengue-91

    philippe.essengue-91

    voici mon code: var resultat1; ++var1; alert(var1); alert(resulat1); On me dit que je n'ai pas correctement assigné de valeur à la var resultat1

    le 18/02/2019 à 16h29

  • meriam

    meriam Administrateur

    il faut séparer la déclaration des variables resultat1 et resultat2 et l'affectation des resultats.

    le 18/02/2019 à 16h53

  • veronique.nollet

    veronique.nollet

    Bonjour, j'ai le message d'erreur suivant : Avez-vous bien utilisé l'opérateur ++ correctement pour les deux cas ? j'ai beau essayé toutes les façons de position pas moyen. var result1= init1++; alert(init1); var result2= ++init2; alert(result2); Quel est le bon script svp ?

    le 06/04/2018 à 16h37

  • mram

    mram Administrateur

    Bonjour, pas besoin de mettre alert() ici.

    le 11/04/2018 à 01h05

  • v_sede

    v_sede

    ça va commencer à devenir compliqué pour valider 100% de la leçon si à chaque exercice le résultat ne peut pas être affiché... 3eme de suite ça commence à faire beaucoup!

    le 29/06/2017 à 11h23

  • mram

    mram Administrateur

    On a eu un souci de Proxy sur le serveur, normalement c'est corrigé.

    le 29/06/2017 à 17h35

  • duboisdelphine-16

    duboisdelphine-16

    Bonjour, je sèche complètement, quelle est mon erreur : resultat1=++init1; alert(resultat1); resultat2=init2++; alert(resultat2);

    le 24/03/2018 à 17h16

  • boutinsephora

    boutinsephora

    J'ai du mal à trouver la solution.

    le 29/06/2017 à 16h51

  • mram

    mram Administrateur

    Les lignes 1 et 3 sont inutiles. Et pas besoin de mettre "var" devant car les variables existent déjà.

    le 29/06/2017 à 17h38

  • duboisdelphine-16

    duboisdelphine-16

    c'est bon, j'avais deux espaces en trop

    le 24/03/2018 à 19h33

  • mickaelmangaud

    mickaelmangaud

    Bon bah ça n'a pas l'air de fonctionner, j'ai tenté d'incrémenter avant d'affecter mais ça ne fonctionne pas non plus...

    le 25/09/2017 à 16h10

  • mram

    mram Administrateur

    Bonjour, vous vous étiez trompé. Dans un cas on met ++ devant la variable, dans l'autre on le met après.

    le 29/09/2017 à 00h48

  • aymoh-14

    aymoh-14

    svp quelqu'un peut m'aider

    le 10/12/2018 à 17h08

  • meriam

    meriam Administrateur

    vous devez manipuler seulement les variables var1, var2,resultat1,resultat2 . incrémentez var1 puis affectez le résultat à resultat1 ce qui donne (resultat = ++var1) .

    le 11/12/2018 à 09h33

  • andre.isetta

    andre.isetta

    bonjour j'ai bien resultat1=++init1; et resultat2=init++; et message suivant :Avez-vous bien utilisé l'opérateur ++ correctement pour les deux cas ?

    le 25/08/2017 à 11h36

  • mram

    mram Administrateur

    Bonjour, et oui il faut mettre le code JS dans le fichier prévu à cet effet :)

    le 30/08/2017 à 13h08

  • diminga_mendy

    diminga_mendy

    Je ne comprends pas ce qu'il faut faire !

    le 19/09/2017 à 18h37

  • mram

    mram Administrateur

    Bonjour, votre code est correct. Qu'est ce que vous n'avez pas compris ?

    le 20/09/2017 à 15h50

  • pauline.morganti

    pauline.morganti

    Je ne comprends pas ma faute resultat1= init1++ resultat2= init2++

    le 07/11/2017 à 09h57

  • mram

    mram Administrateur

    Bonjour, sur la première ligne, la position des ++ n'est pas bonne. Revoyez l'énoncé pour vous aider.

    le 07/11/2017 à 23h18

  • bruel.william-2

    bruel.william-2

    Bonjour, pourriez vous m'aider ?

    le 25/04/2018 à 16h37

  • mram

    mram Administrateur

    Bonjour, il faut toujours un ; à la fin d'une instruction.

    le 29/04/2018 à 03h19

  • yurilecomte-94

    yurilecomte-94

    help

    le 13/08/2018 à 16h25

  • mram

    mram Administrateur

    Quel est votre message d'erreur svp ? Ca sera plus facile pour vous aider.

    le 17/08/2018 à 06h16

  • aymoh-14

    aymoh-14

    Erreur(s) : Vous ne devez pas modifier l'instruction: "var resultat1;".

    le 11/12/2018 à 11h39

  • meriam

    meriam Administrateur

    Vous n'avez pas déclaré les variables resultat1 et resultat2 avec le mot clé var.

    le 11/12/2018 à 12h02

  • maggyrez-27

    maggyrez-27

    resultat1 = init1++; resultat2 = init2++; Bonjour, je ne trouve pas mon erreur

    le 04/06/2018 à 16h54

  • pauline.morganti

    pauline.morganti

    Ne fonctionne pas non plus resultat1= ++init1 resultat2= init2++

    le 08/11/2017 à 13h25

  • mram

    mram Administrateur

    Bonjour, il ne faut pas oublier les ";" à la fin de chaque instruction.

    le 11/11/2017 à 12h59

  • djamchid

    djamchid Administrateur

    j'ai eu le message ".. variable init1 ..", merci de corriger dans le backoffice, la variable s'appelle en fait var1

    le 10/01/2019 à 11h06

  • monmonmillet

    monmonmillet

    je ne comprend pas pourquoi ça ne valide pas , ou est mon erreur ???

    le 21/09/2017 à 10h11

  • mram

    mram Administrateur

    Bonjour, dans la dernière version de votre code, ligne 1, le "++" doit être collé à la variable à laquelle il s'applique.

    le 22/09/2017 à 17h53

  • valerie.cohen0-81

    valerie.cohen0-81

    Bonjour, cela ne fonctionne pas : resultat1 = "++init1"; resultat2 = "init2--";

    le 21/03/2018 à 13h00

  • mram

    mram Administrateur

    Bonjour, pourquoi mettre des guillemets ? Car là ce n'est que du texte du coup.

    le 24/03/2018 à 05h39

  • antoine.rouchon-11

    antoine.rouchon-11

    Merci beaucoup bloqué sur un détail insignifiant merci !

    le 04/04/2019 à 20h03

  • nkeshimanabrice-37

    nkeshimanabrice-37

    Moi aussi merci beaucoup...

    le 14/03/2019 à 10h59

  • ad.yeli-37

    ad.yeli-37

    c'est un exo qui se joue sur des détails :

    le 30/09/2018 à 20h11

  • nkeshimanabrice-37

    nkeshimanabrice-37

    Moi aussi merci beaucoup...

    le 14/03/2019 à 10h56

  • groulard.ronan-45

    groulard.ronan-45

    Je ne comprend pas mon erreur, tout me parrait juste mais quand je soumet la réponse, le message d'erreur suivant s'affiche "Vous devez placer l'opérateur d'incrémentation avant la variable init1", mais il n'y a pas de variable init1

    le 04/04/2019 à 09h28

  • meriam

    meriam Administrateur

    erreur à la ligne 6, il faut affecter var2 à resultat2 puis incrémentez var2 ce qui donne resultat2 = ++var2

    le 04/04/2019 à 15h56

  • farjallah.refka-37

    farjallah.refka-37

    ok merci beaucoup

    le 13/03/2019 à 18h13

  • aymoh-14

    aymoh-14

    merci beaucoup encore désolé pour le dérangement

    le 11/12/2018 à 14h53

index.html
script.js
<!DOCTYPE HTML> <html> <head> <title>Ordre des opérateurs d'incrémentation et de décrémentation</title> <script src="script.js"></script> </head> <body> </body> </html>
var var1 = 5 var var2 = 4 var resultat1; var resultat2;