IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Exercices Discussion :

[Facile][Indispensable] Exercice 1.2.1 : Les structures conditionnelles avec l'instruction "if. . .else"


Sujet :

Exercices

  1. #1
    Expert éminent sénior

    Avatar de vermine
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    6 582
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2008
    Messages : 6 582
    Points : 79 912
    Points
    79 912
    Par défaut [Facile][Indispensable] Exercice 1.2.1 : Les structures conditionnelles avec l'instruction "if. . .else"
    Exercice 1.2.1 : Les structures conditionnelles avec l'instruction "if...else"
    Apprendre le JavaScript avec l'aide de membres experts


    Bonjour,

    Nous sommes en train de mettre en place une série d'exercices pour apprendre le JavaScript et Node.js.

    Autran, Gnuum et ABCIWEB ont participé à la rédaction de ce second exercice qui porte sur la structure conditionnelle if...else. L'exercice est accompagné d'indications théoriques et d'une solution. Bien entendu, cette solution n'est pas nécessairement unique.

    • Objectif : Manipuler les structures conditionnelles de type if...else.
    • Niveau : Facile
    • Exigence : Indispensable


    Exercice 1.2.1 : Les structures conditionnelles avec l'instruction "if...else"

    Vous pouvez ensuite discuter avec les auteurs des problèmes que vous avez rencontrés, de vos interrogations ainsi que de vos remarques ou conseils.

    Découvrez également tous nos exercices JavaScript !

    Courage !

  2. #2
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2016
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2016
    Messages : 40
    Points : 54
    Points
    54
    Par défaut
    Bonjour,

    Voici ma solution pour cet exercice :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
     
    var a = 2; 
    var b = 3; 
    var c = 2; 
     
    if (a == b && b == c) { 
        console.log("Les 3 variables sont identiques.");  
    } else { 
        if (b == c || a == c || a == b) { 
            console.log("2 des variables sont de valeurs égales."); 
        } else { 
            console.log("Les 3 variables sont différentes."); 
        } 
    }

  3. #3
    Rédacteur

    Avatar de autran
    Homme Profil pro
    Développeur Java
    Inscrit en
    Février 2015
    Messages
    1 241
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2015
    Messages : 1 241
    Points : 7 653
    Points
    7 653
    Billets dans le blog
    55
    Par défaut
    Parfait Touit
    Juste un détail, comme les 3 variables sont du même type primitif numérique tu peux faire un test d'égalité stricte a===b
    Développeur Java
    Site Web

  4. #4
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Oui bonne solution et proprement codée.

    A noter que le JavaScript ne propose pas d'instruction elseif comme d'autre langages mais que l'on peut quand même aplatir la structure de cette manière:
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    'use strict'; 
     
    var a = 2; 
    var b = 2; 
    var c = 2; 
     
    if (a === b && b === c) { 
        console.log("Les 3 variables sont identiques.");  
    } else if (b === c || a === c || a === b) { 
        console.log("2 des variables sont de valeurs égales."); 
    } else { 
        console.log("Les 3 variables sont différentes."); 
    }
    {gnu: ["um", "cki"]}

  5. #5
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Salut,

    Curieusement je me suis un peu pris la tête malgré la simplicité apparente (c'était donc intéressant comme exercice), du coup j'ai deux solutions :

    Ma première solution c'était celle-ci :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    var a = 1, b = 3, c = 7;
     
    if (a === b) {
        if (b === c) console.log("Les trois variables sont identiques");
        else console.log("deux des variables sont de valeurs égales (a et b)");
    }
    else if (a !== c) {
        if (b !== c) console.log("Les trois variables sont différentes");
        else console.log("deux des variables sont de valeurs égales (b et c)");
    }
    else console.log("deux des variables sont de valeurs égales (a et c)");

    C'est un peu plus long (pas forcément moins rapide) car je précise quelles sont les deux variables qui sont de valeurs égales...

    Mais en fait l'exercice étant moins exigeant (il ne demande pas cette précision) j'ai aussi fait sans cette précision :

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    var a = 1, b = 3, c = 7;
     
    if (a === b && b === c) console.log("Les trois variables sont identiques");
        else if (a !== c && b !== c && a !== b) console.log("Les trois variables sont différentes");
               else console.log("deux des variables sont de valeurs égales");

    Je vais regarder la solution maintenant...

  6. #6
    Membre expérimenté
    Avatar de Gnuum
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Mars 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 215
    Points : 1 715
    Points
    1 715
    Billets dans le blog
    1
    Par défaut
    Tes solutions sont bonnes.

    Je sais qu'on a souvent envie d'en faire plus et cela peut-être une bonne pratique dans le travail si on ne rentre pas dans le surengineering (prévoir à l'avance des choses qui coûte beaucoup de temps de dev mais qui ont peu de chance de servir un jour).
    En revanche, si tu fais des concours ou tests techniques, le respect stricte des consignes est plutôt à privilégier car c'est souvent l'un des critère d'évaluation.
    Dans notre cas, ce n'est pas forcément important mais la solution 2 rentre plus dans ce cadre.

    En ce qui concerne ton code, les indentations devant le else if et else ne sont pas nécessaires voire plutôt mauvaises. Bien que ce soit possible de ne pas mettre d'accolades dans le cas où une seule instruction doit être exécutée si une condition est validée, cette possibilité est très peu utilisée pour plusieurs raisons:

    • uniformité du visuel
    • évolution plus simple du code lié
    • diff plus compréhensible si rajout de ligne
    {gnu: ["um", "cki"]}

  7. #7
    Membre expert
    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    2 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 2 873
    Points : 3 717
    Points
    3 717
    Par défaut
    Merci.

    Oui pour l'indentation c'est une habitude qui me vient d'autres langages... Mais c'est vrai que lorsque je lance une indentation automatique ces indentations sont supprimées...

Discussions similaires

  1. Réponses: 9
    Dernier message: 30/04/2016, 21h40
  2. Probleme sur les structures conditionnelles
    Par minus1992 dans le forum Général Python
    Réponses: 3
    Dernier message: 25/02/2015, 08h24
  3. Exercices sur les structures conditionnelles
    Par alibouriga dans le forum Pascal
    Réponses: 5
    Dernier message: 24/03/2013, 22h11
  4. Structure conditionnelle avec CheckedBox
    Par the watcher dans le forum Langage
    Réponses: 7
    Dernier message: 11/12/2009, 13h49
  5. Les structures de répétition - l'instruction FOR
    Par Imanou dans le forum Langage
    Réponses: 6
    Dernier message: 17/01/2008, 19h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo