Avez-vous une question? (216) 97 656 803 hajjriadh@gmail.com
Flutter

Les structures conditionnelles en Dart

Un cours complet pour maîtriser Les structures conditionnelles en Dart.

0 chapitres 0 QCM Accès gratuit

Les structures conditionnelles en Dart

  1. Présentation

    • Dans Dart, les instructions if , if-else et if-else-if sont utilisées pour exécuter un bloc de code basé sur une condition donnée.
    • Dans cette leçon, nous apprendrons la syntaxe et l'utilisation de l'instruction Dart If, de l'instruction Dart If-Else et de l'instruction Dart If-Else-If.
    • L'instruction if vérifie une condition ne fait quelque chose que si la condition est true.
    • L'instruction if else vérifie une condition et fait quelque chose si une condition est true ou une autre chose si la condition est false.
    • Par conséquent, les instructions if et if else vous permettent de faire quelque chose en fonction du résultat d'une condition.
  2. Dart If

    • Dart If est une instruction conditionnelle simple dans laquelle un bloc d'instructions est exécuté si l'expression booléenne donnée est évaluée à true.
    • Syntaxe
      if (boolean_expression) {
           //statement(s)
       }
  3. Dart IF .... ELSE

    • On parle de Structure conditionnelle alternative lorsque le traitement du programme dépend d’une aussi seule condition comme la structure conditionnelle simple IF.
    • Mais dans ce cas, si la condition est vraie, la première expression est exécutée; si la condition est fausse, la deuxième expression est exécutée et l' exécution du programme continue.
    • Syntaxe
      if(condition){
          expression 1;
      }else {
          expression 2;
      }
    • Exemple
      int nombre = 13;
      if(nombre % 2 == 0){
          print("$nombre est paire");
      }else {
          print("$nombre est impaire");
      }
      print("fin du programme");
  4. Dart IF...ELSE IF.. ELSE

    • Cette structure permet de faire plusieurs évaluations de condition à la suite et exécute une certaine expression quand une seule de ces conditions est vraie.
    • Syntaxe
      if(condition 1){
          expression 1
      }else if(condition 1){
          expression 1;
      }else if(condition 2){
          expression 2;
      }else if(condition 3){
          expression 3;
      }else {
          expression 4;
      }
    • Exemple
      double moyenne = 14.56;
      String mention;
      
      if (moyenne >= 10 && moyenne < 12) {
          mention = 'Passable';
      } else if (moyenne >= 12 && moyenne < 14) {
          mention = 'Assez bien';
      } else if (moyenne >= 14 && moyenne < 16) {
          mention = 'Bien';
      } else if (moyenne >= 16 && moyenne < 18) {
          mention = 'Très bien';
      } else if (moyenne >= 18 && moyenne <= 20) {
          mention = 'Execellent';
      } else {
          mention = 'Ajournee';
      }
      
      print("Avec une moyenne de $moyenne, votre mention est $mention");
  5. Dart Switch/Case

    • L'expression switch sert à contrôler les opérations conditionnelles en mettant en place plusieurs conditions. Elle a le même fonctionnement que la structure conditionnelle if .. else .. if tout en offrant une syntaxe plus simple.
    • Si vous vérifiez la valeur d'une seule variable dans if ... else ... if, il est préférable d'utiliser l'instruction switch.
    • Syntaxe de switch/case
        switch (expression){
            case condition1 :
                instruction1
                break;
        
            case condition2 :
                instruction2;
                break;
        
            case condition3 :
                instruction3
                break;
            default :
                instruction par defaut
        }
        • expression est l'expression qui sera évaluée dans les différents cas.
        • L’instruction case permet de définir un certain cas. La valeur qui lui est passée sera évaluée avec l'expression définie au départ.
        • Les mots-clés break indiquent à Dart de quitter l'instruction switch car les instructions du bloc case sont terminées.
        • L’instruction default est exécutée si aucune valeur des différents cas n’est égale à la valeur de switch .

        Les structures conditionnelles en Dart

    • switch/case avec les chaînes de caractères
      • Une instruction switch fonctionne également avec des chaînes de caractères. Essayant l'exemple suivant :
      void main() {
      
        String meteo ='nuageuse';
        switch (meteo) {
          case 'ensoleillée':
          print('Mettez de la crème solaire.');
          break;
          case 'nuageuse':
          print('A vos skis.');
          break;
          case 'pluvieuse':
          print('Apportez un parapluie.');
          break;
          default:
          print("Je ne connais pas ce temps.");
        }
      }
  6. Remplacement des instructions else-if

    • L'utilisation des instructions if est pratique lorsque vous en avez une ou deux conditions, mais la syntaxe peut être un peu verbeuse quand vous avez beaucoup de conditions. Découvrez ce qui suit
    • Exécutez ce code et vous verrez qu'il fait le travail - il en imprime trois comme prévu. La verbosité des lignes else-if rendre le code difficile à lire, cependant.
    • Réécrivez le code ci-dessus en utilisant une instruction switch :
    • Les structures conditionnelles en Dart

    • Remarque : Dans Dart, les instructions switch ne prennent pas en charge les plages comme nombre > 5. Seule la vérification d'égalité == est autorisée. Si vos conditions impliquent des plages, alors vous devez utiliser l'instruction If-else.
    • Autres exemples
    
    import 'dart:io';
    
    void main() {
      stdout.write('Quel temps fait-il ? ');
      String? meteo = stdin.readLineSync();
    
      switch (meteo) {
        case 'ensoleillée':
          print('Mettez de la crème solaire.');
          break;
        case 'nuageuse':
          print('A vos skis.');
          break;
        case 'pluvieuse':
          print('Apportez un parapluie.');
          break;
        default:
          print("Je ne connais pas ce temps.");
      }
    }
    
  7. Application

    1. App01
      • Écrire un programme Dart qui permet à l'utilisateur de déterminer si un triangle est équilatéral, isocèle ou scalène en fonction des longueurs de ses côtés.
      • Le programme doit garantir que l'utilisateur est averti en cas de saisie de longueurs de côtés non valides et doit demander à l'utilisateur de réessayer jusqu'à ce que des valeurs valides soient saisies. Une fois que les longueurs des côtés valides sont saisies, le programme affiche le résultat.
          Regles à respecter
          • Types des triangles
            • Triangle Équilatéral : Un triangle équilatéral est un triangle ayant les trois côtés de longueur égale. Cela signifie que les trois côtés sont de la même longueur, et les trois angles internes sont également égaux. Un triangle équilatéral est donc un triangle équilatéral aux trois côtés et aux trois angles.
            • Triangle Isocèle: Un triangle isocèle est un triangle ayant deux côtés de même longueur (appelés côtés isocèles) et un troisième côté de longueur différente. Les angles opposés aux côtés de même longueur (les côtés isocèles) sont également de même mesure. En d'autres termes, un triangle isocèle a deux côtés égaux et deux angles égaux.
            • Triangle Scalène: Un triangle scalène est un triangle dans lequel les trois côtés ont des longueurs différentes. Aucun des côtés n'est égal à un autre, et par conséquent, les trois angles internes sont également de différentes mesures.
          • L'inégalité triangulaire
            • Les longueurs des côtés ne forment pas un triangle valide lorsque ne sont pas conformes à l'inégalité triangulaire, qui est une règle fondamentale en géométrie. L'inégalité triangulaire stipule que, pour former un triangle valide, la somme de la longueur de deux côtés doit toujours être supérieure à la longueur du troisième côté. En d'autres termes :
            • Si a, b, et c sont les longueurs des côtés d'un triangle, alors pour qu'un triangle soit valide, les conditions suivantes doivent être remplies :
                a + b > c a + c > b b + c > a
            • Si l'une de ces conditions n'est pas satisfaite, les longueurs des côtés ne permettent pas de former un triangle valide. Par exemple, si vous avez une situation où la somme de deux côtés est égale à la longueur du troisième côté (par exemple, a + b = c), cela signifie que les côtés sont alignés et ne peuvent pas former un triangle.
        Solution
        import 'dart:io';
        
        double? saisirLongueurCote(String coteName) {
          double? longueur;
          bool saisieValide = false;
        
          while (!saisieValide) {
            stdout.write("Entrez la longueur du $coteName du triangle : ");
            String longSaisie = stdin.readLineSync()!;
        
            longueur = double.tryParse(longSaisie);
        
            if (longueur != null) {
              saisieValide = true;
            } else {
              print("Veuillez entrer un nombre valide.");
            }
          }
        
          return longueur;
        }
        
        void main() {
          double? cote1 = saisirLongueurCote("premier côté");
          double? cote2 = saisirLongueurCote("deuxième côté");
          double? cote3 = saisirLongueurCote("troisième côté");
        
          if (estTriangle(cote1!, cote2!, cote3!)) {
            // Le reste du code reste inchangé
            if (cote1 == cote2 && cote2 == cote3) {
              print("Le triangle est équilatéral.");
            } else if (cote1 == cote2 || cote2 == cote3 || cote1 == cote3) {
              print("Le triangle est isocèle.");
            } else {
              print("Le triangle est scalène.");
            }
          } else {
            print("Les longueurs des côtés ne forment pas un triangle valide.");
          }
        }
        
        bool estTriangle(double a, double b, double c) {
          return (a + b > c) && (a + c > b) && (b + c > a);
        }
    2. App02
      • Écrire un programme Dart pour afficher le nom du jour en fonction du jour numérique de la semaine en utilisant un if else if et Switch/Case.
      • Solution

        Les structures conditionnelles en Dart

    3. App03: Calculs sur deux nombres en Dart
      • Écrivez un programme en Dart qui demande à l'utilisateur de saisir deux nombres. Ensuite, affichez la somme, le produit, la moyenne et la soustraction de ces deux nombres.
      • Consignes :
        • Demandez à l'utilisateur de saisir deux nombres à l'aide de l'entrée standard.
        • Calculez et affichez la somme, le produit, la moyenne et la soustraction des deux nombres.
        • Utilisez des variables appropriées pour stocker les valeurs saisies et les résultats des calculs.
        • Gérez les cas où l'utilisateur entre des valeurs non valides.
        • Assurez-vous que les résultats sont affichés de manière claire et compréhensible pour l'utilisateur.
        Solution
        import 'dart:io';
        
        void main() {
          stdout.write('Entrez le premier nombre : ');
          double? nombre1 = double.tryParse(stdin.readLineSync() ?? '');
        
          stdout.write('Entrez le deuxième nombre : ');
          double? nombre2 = double.tryParse(stdin.readLineSync() ?? '');
        
          if (nombre1 != null && nombre2 != null) {
            double somme = nombre1 + nombre2;
            double produit = nombre1 * nombre2;
            double moyenne = (nombre1 + nombre2) / 2;
            double soustraction = nombre1 - nombre2;
        
            print('La somme est : $somme');
            print('Le produit est : $produit');
            print('La moyenne est : $moyenne');
            print('La soustraction est : $soustraction');
          } else {
            print('Veuillez saisir des nombres valides.');
          }
        }
        
    4. App04
      • Écrire un programme Dart qui demande à l'utilisateur de saisir un mot. Selon que le mot est de type String affiche à l'utilisateur "le mot saisie est une chaine de caractère, si le mot est de type int affiche le nombre est pair ou impair.
      • Solution