Back

Correction exercices structures conditionnelles et boucles en dart Série 01

Correction exercices structures conditionnelles et boucles en dart Série 01

  • Exercice 01

    • Énoncé
    • Correction
      • import 'dart:io';
        import 'dart:math';
        
        void main() {
          print('Veuillez saisir un nombre pour vérifier s\'il est premier ou non');
          int? nbr = int.parse(stdin.readLineSync()!);
          print('$nbr');
          if (verifierPremier(nbr)) {
            print('$nbr est un nombre premier');
          } else {
            print('$nbr n\'est pas premier');
          }
        }
        
        bool verifierPremier(int nbr) {
          if (nbr <= 1) {
            return false;
          }
          for (int i = 2; i <= sqrt(nbr); i++) {
            if (nbr % i == 0) {
              return false;
            }
          }
          return true;
        }
        



  • Exercice 02

    • Énoncé
    • Correction
      • import 'dart:io';
        
        void main() {
          print(
              "Les nombres premiers inférieurs à un nombre saisie par l'utilisateur:");
          print('Veuillez saisir un nombre entier positif');
          int? nbr = int.parse(stdin.readLineSync()!);
          print("Liste des nombres premiers inférures à $nbr");
          print('----------------------------');
          int somme = 0, nombre = 0;
          for (int i = 2; i <= nbr; i++) {
            //verifierPremier(i);
            bool nbrTrouve = false;
            int j = i ~/ 2;
            //print("La valeur de j est :$j");
            for (int t = 2; t <= j; t++) {
              if (i % t == 0) {
                nbrTrouve = true;
                break;
              }
            }
            if (nbrTrouve == false) {
              somme += i;
              nombre += 1;
              stdout.write('$i ');
            }
          }
          print('\nLa somme des entiers premiers trouvés est : $somme');
          print('Le nombre des entiers premiers trouvés est : $nombre');
        }
        
  • Exercice 03

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          int sommePair = 0, sommeImpair = 0, sommePremiers = 0;
          for (int i = 2; i <= 100; i++) {
            if (i % 2 == 0) {
              sommePair += i;
            } else {
              sommeImpair += i;
            }
            if (verifierPremier(i)) {
              sommePremiers += i;
            }
            if (i != 100) {
              stdout.write("$i, ");
            } else {
              stdout.write(i);
            }
          }
          print("\nLa somme des nombres pairs est: $sommePair");
          print("La somme des nombres impairs est: $sommeImpair");
          print("La somme des nombres premiers est: $sommePremiers");
        }
        
        bool verifierPremier(int num) {
          int j = 0;
          if (num <= 1) {
            return false;
          }
          j = num ~/ 2;
          for (int i = 2; i <= j; i++) {
            if (num % i == 0) {
              return false;
            }
          }
          return true;
        }
  • Exercice 04

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          stdout.write('Veuillez saisir un nombre entier positif : ');
          int? nbr = int.parse(stdin.readLineSync()!);
          for (int i = 0; i < nbr; i++) {
            for (int j = (nbr - i); j > 1; j--) {
              stdout.write(" ");
            }
            for (int j = 0; j <= i; j++) {
              stdout.write("* ");
            }
            stdout.writeln();
          }
        }
  • Exercice 05

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          stdout.write('Veuillez saisir un nombre entier positif : ');
          int? nbr = int.parse(stdin.readLineSync()!);
          for (int i = 0; i < nbr; i++) {
            for (int j = 0; j <= i; j++) {
              stdout.write(" ");
            }
            for (int k = 0; k <= nbr - 1 - i; k++) {
              stdout.write("* ");
            }
            stdout.writeln();
          }
        }
        
  • Exercice 06

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          stdout.write('Veuillez saisir un nombre entier positif : ');
          int? nbr = int.parse(stdin.readLineSync()!);
          for (int i = 0; i < nbr; i++) {
            for (int j = 0; j < i; j++) {
              stdout.write(" ");
            }
            for (int k = 0; k <= nbr - 1 - i; k++) {
              stdout.write("* ");
            }
            stdout.writeln();
          }
          ////////////////////////////////////////////////
          for (int i = 0; i < nbr; i++) {
            for (int j = (nbr - i); j > 1; j--) {
              stdout.write(" ");
            }
            for (int j = 0; j <= i; j++) {
              stdout.write("* ");
            }
            stdout.writeln();
          }
        }
        
  • Exercice 07

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          int premier_nbr = 0, deuxieme_nbr = 0, nbrNombre = 0, nbrSomme = 0;
          do {
            stdout.write('Saisir le premier nombre: ');
            premier_nbr = int.parse(stdin.readLineSync()!);
          } while (premier_nbr < 0);
          do {
            stdout.write('Saisir le deuxieme nombre: ');
            deuxieme_nbr = int.parse(stdin.readLineSync()!);
          } while ((deuxieme_nbr < 0) || (deuxieme_nbr <= premier_nbr));
        
          for (int i = premier_nbr; i < deuxieme_nbr; i++) {
            if ((i % 7 == 0) && (i % 3 == 0) && (i % 5 == 0)) {
              nbrNombre += 1;
              nbrSomme += i;
              stdout.write("$i ");
            }
          }
          print("\nLe nombre des nombres trouves est : $nbrNombre");
          print("La somme des nombres trouves est : $nbrSomme");
        }
        
  • Exercice 08

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          int sommeNbr = 0;
          stdout.write("Bonjour, Veuillez saisir un entier.");
          int number = int.parse(stdin.readLineSync()!);
          for (var i = 1; i <= number; i++) {
            if (number % i == 0) {
              sommeNbr += number;
              stdout.write("$i ");
            }
          }
          print("\nLa somme des diviseurs du : $number est : $sommeNbr");
        }
  • Exercice 09

    • Énoncé
    • Solution
      • import 'dart:io';
        import 'dart:math';
        
        void main() {
          print("Tapez exit pour quitter le jeu");
          jeuDevinettes();
        }
        
        jeuDevinettes() {
          final random = Random();
          int nombreAleatoire = random.nextInt(100);
          int tentative = 0;
        
          while (true) {
            tentative += 1;
            stdout.write("Veuillez choisir un nombre entre 0 et 100 :");
            String numeroChoisi = stdin.readLineSync()!;
        
            // Assurez-vous que l'utilisateur ne dépasse pas les limites
            if (numeroChoisi.toLowerCase() == "exit") {
              print("\nBye");
              break;
            } else if (int.parse(numeroChoisi) > 100) {
              print("Merci de ne pas dépasser 100");
              continue;
            }
        
            // Logique principale
            if (int.parse(numeroChoisi) == nombreAleatoire) {
              print("Bingo ! Vous avez essayé $tentative tentatives\n");
              continue;
            } else if (int.parse(numeroChoisi) > nombreAleatoire) {
              print("Tu es plus haut");
              continue;
            } else {
              print("Tu es plus bas");
              continue;
            }
          }
        }
  • Exercice 10

    • Énoncé
    • Solution
      • import 'dart:io';
        
        void main() {
          double note1 = 0, note2 = 0, note3 = 0;
          do {
            stdout.write("Saisir la premiere  note :");
            note1 = double.parse(stdin.readLineSync()!);
          } while ((note1 < 0) || (note1 > 20));
        
          do {
            stdout.write("Saisir la deuxieme  note :");
            note2 = double.parse(stdin.readLineSync()!);
          } while (note2 < 0 || note2 > 20);
          do {
            stdout.write("Saisir la troisieme  note :");
            note3 = double.parse(stdin.readLineSync()!);
          } while (note3 < 0 || note3 > 20);
        
          double myennAri = (note1 + note2 + note3) / 3;
          double myennEnc = 0;
        
          if ((note1 <= note2 && note2 <= note3) ||
              (note3 <= note2 && note2 <= note1)) {
            myennEnc = (note1 + note3) / 2;
          } else if (note2 <= note1 && note2 <= note3 ||
              note3 <= note1 && note2 <= note2) {
            myennEnc = (note3 + note2) / 2;
          } else {
            myennEnc = (note1 + note2) / 2;
          }
        
          print("La moyenne arithmétique:  $myennAri");
          print("La moyenne d'encourage: $myennEnc");
        
          if (myennAri > myennEnc) {
            print("La meilleure  note est: $myennAri");
          } else {
            print("La meilleure  moyenne est: $myennEnc");
          }
        }
        
  • Exercice 11

  • Exercice 12



  • Riadh HAJJI

    Abonnez vous à notre chaîne YouTube gratuitement