Menu
Coddy logo textTech

Opérateur modulo

Fait partie de la section Fondamentaux du Journey Dart de Coddy — leçon 18 sur 94.

L'opérateur modulo (%) nous donne le reste après division. Explorons comment il fonctionne avec quelques exemples simples.

Opération modulo basique

void main() {
  int dividend = 10;
  int divisor = 3;
  int remainder = dividend % divisor;
  
  print('Remainder of $dividend ÷ $divisor = $remainder');
}

Sortie : Remainder of 10 ÷ 3 = 1

Lorsque nous divisons 10 par 3, nous obtenons 3 avec un reste de 1. L'opérateur modulo % capture cette valeur de reste.

Vérification des nombres pairs et impairs

Nous pouvons déterminer si un nombre est pair ou impair en utilisant l'opérateur modulo :

void main() {
  int number = 15;
  int remainder = number % 2;
  
  print('$number % 2 = $remainder');
  
  // Les nombres pairs ont un reste de 0 lorsqu'ils sont divisés par 2
  bool isEven = remainder == 0;
  
  // Utilisation d'une évaluation booléenne directe au lieu de if/else
  String result = isEven ? '$number is even' : '$number is odd';
  print(result);
}

Sortie :

15 % 2 = 1
15 is odd
challenge icon

Défi

Facile

Créez un programme qui utilise l'opérateur modulo (%) pour résoudre les problèmes suivants :

  1. Déclarez une variable entière totalMinutes avec une valeur de 197
  2. Calculez et stockez le nombre d'heures complètes dans totalMinutes en utilisant la division entière
  3. Calculez et stockez les minutes restantes en utilisant l'opérateur modulo
  4. Affichez l'heure en heures et minutes avec le format EXACT suivant :
197 minutes is 3 hours and 17 minutes.

Ensuite :

  1. Déclarez une variable entière coins avec une valeur de 57
  2. Calculez et stockez combien de quarters (25 pièces) peuvent être formés à partir de coins
  3. Calculez et stockez les pièces restantes en utilisant l'opérateur modulo
  4. Affichez le résultat avec le format EXACT suivant :
57 coins can be divided into 2 quarters and 7 remaining coins.

Aide-mémoire

L'opérateur modulo (%) retourne le reste après la division :

int remainder = 10 % 3; // remainder = 1

Vérification des nombres pairs/impairs :

int number = 15;
bool isEven = (number % 2) == 0; // false, 15 is odd

Exemple de conversion de temps :

int totalMinutes = 197;
int hours = totalMinutes ~/ 60;     // Integer division: 3
int minutes = totalMinutes % 60;    // Remainder: 17

Essayez vous-même

void main() {
  // Déclarez vos variables ici
  int totalMinutes = ?;
  
  // Calculez les heures et les minutes restantes
  int hours = totalMinutes ? 60;
  int remainingMinutes = totalMinutes ? 60;
  
  // Affichez le résultat du temps
  print("$totalMinutes minutes is $hours hours and $remainingMinutes minutes.");
  
  // Calculez les quarters et les pièces restantes
  int coins = ?;
  int quarters = coins ~/ ?;
  int remainingCoins = coins % ?;
  
  // Affichez le résultat des pièces
  print("$coins coins can be divided into $quarters quarters and $remainingCoins remaining coins.");
}
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fondamentaux