Contactez-nous

Exemple : vérifier si un nombre est pair ou impair

Découvrez un exemple pratique pour maîtriser les conditions en Ruby. Apprenez pas à pas à utiliser la structure if/else et l'opérateur modulo (%) pour vérifier si un nombre est pair ou impair.

Le problème : poser une question mathématique simple

Pour mettre en pratique la structure conditionnelle if/else, nous allons résoudre un problème classique et facile à comprendre : déterminer si un nombre entier donné est pair ou impair. C'est un exemple parfait car la logique est binaire : un nombre est soit l'un, soit l'autre. Il n'y a pas de troisième possibilité.

Ce cas d'usage va nous permettre de combiner deux concepts : la logique conditionnelle avec if/else et un opérateur arithmétique très utile, le modulo (%). Cet opérateur, que nous allons découvrir, est la clé pour résoudre ce problème de manière élégante et efficace.

L'outil mathématique : l'opérateur modulo (%)

Avant d'écrire notre condition, nous avons besoin d'un moyen de savoir si un nombre est divisible par 2. C'est là qu'intervient l'opérateur modulo. L'opération a % b ne donne pas le résultat de la division, mais le reste de la division entière de a par b.

Voyons quelques exemples pour bien comprendre :

  • 10 % 2 donne 0, car 10 divisé par 2 fait 5, et il reste 0.
  • 11 % 2 donne 1, car 11 divisé par 2 fait 5, et il reste 1.
  • 12 % 5 donne 2, car 12 divisé par 5 fait 2, et il reste 2.

La logique devient alors évidente : un nombre est pair si et seulement si le reste de sa division par 2 est égal à 0. C'est cette condition (nombre % 2 == 0) que nous allons utiliser dans notre structure if.

Ecrire le code avec la structure `if/else`

Maintenant que nous avons notre condition, nous pouvons l'intégrer dans une structure if/else pour afficher le message approprié. Nous allons définir une variable number, puis construire notre bloc conditionnel pour tester sa parité.

# Notre nombre de test
number = 11

# La condition vérifie si le reste de la division par 2 est égal à 0
if number % 2 == 0
  # Ce bloc s'exécute si la condition est VRAIE
  puts "Le nombre #{number} est pair."
else
  # Ce bloc s'exécute si la condition est FAUSSE
  puts "Le nombre #{number} est impair."
end

Avec number = 11, l'expression 11 % 2 == 0 s'évalue à 1 == 0, ce qui est false. Par conséquent, Ruby ignore le premier bloc de code et exécute celui de la clause else, affichant :

Le nombre 11 est impair.

Si nous avions initialisé number = 10, la condition 10 % 2 == 0 aurait été true, et le message affiché aurait été "Le nombre 10 est pair."

Pourquoi cet exemple est-il fondamental ?

Cet exercice, bien que simple, illustre parfaitement le processus de pensée d'un développeur :

  1. Analyser le problème : Distinguer entre un cas 'pair' et un cas 'impair'.
  2. Identifier l'outil logique : Reconnaître que c'est une situation binaire, idéale pour une structure if/else.
  3. Trouver la condition technique : Traduire la définition mathématique ('divisible par 2') en une expression de code (nombre % 2 == 0).
  4. Implémenter la solution : Assembler l'outil logique et la condition pour créer un code fonctionnel.

Maîtriser ce processus est la clé pour résoudre des problèmes bien plus complexes. Vous venez de mettre en oeuvre votre premier algorithme de décision en Ruby.