Aller au contenu principal

🤔 Booléens, Conditions et Débogage

🎯 Objectif

Comprendre ce que sont les booléens, manipuler les comparaisons, structurer des décisions avec if, else, else if, combiner des conditions avec les opérateurs logiques, et utiliser des outils de débogage pour comprendre ce qui se passe dans un programme.


🧠 Type booléen

Un booléen est un type de donnée qui peut prendre deux valeurs seulement : true (vrai) ou false (faux). On les utilise pour vérifier si quelque chose est vrai ou faux.

bool aLesYeuxBleus = false;
bool estMajeur = true;
bool contientLettreT = false;
bool aUtiliseUnExtincteur = false;

👉 Attention ! true n’est pas "true" :

bool ok = true;       // ✔️ correct
string texte = "true"; // ❌ ce n’est pas un booléen

⚖️ Opérateurs de comparaison

Ils comparent deux valeurs et retournent un booléen.

OpérateurSignificationExempleRésultat
>Plus grand que5 > 3true
>=Plus grand ou égal5 >= 5true
<Plus petit que3 < 5true
<=Plus petit ou égal3 <= 2false
==Égal à5 == 5true
!=Différent de5 != 6true

👉 Vue complète : Opérateur

⚠️ = vs ==

  • = : affectation (ex. x = 5)
  • == : comparaison (ex. x == 5)
int x = 5;
if (x == 5) { ... } // ✅ compare
if (x = 5) { ... } // ❌ erreur en C#, car x = 5 n’est pas un booléen

🔁 Structures conditionnelles

if simple

int age = 20;
if (age >= 18)
{
Console.WriteLine("Tu es majeur.");
}
  • Si la condition est true, le bloc est exécuté.
  • Sinon, il est ignoré.

if + else

int argent = 1;
if (argent >= 2)
{
Console.WriteLine("Voici ton paquet de gommes.");
}
else
{
Console.WriteLine("Tu n’as pas assez d’argent.");
}
  • L’un des deux blocs est toujours exécuté.

if + else if + else

int a = 4;

if (a < 3)
{
Console.WriteLine("Petit");
}
else if (a > 5)
{
Console.WriteLine("Grand");
}
else
{
Console.WriteLine("Moyen");
}

🧠 À retenir :

  • Le premier bloc true est exécuté, les autres sont ignorés.
  • Le else est optionnel.
  • On peut ajouter autant de else if que nécessaire.

Plusieurs if indépendants

if (age >= 18)
{
Console.WriteLine("Majeur");
}
if (age < 30)
{
Console.WriteLine("Jeune");
}
  • Les deux blocs peuvent s’exécuter, indépendamment.

👉 Voir plus : if (Structures de contrôle)


🧩 Opérateurs logiques

Permettent de combiner plusieurs conditions.

&& (ET)

Toutes les conditions doivent être vraies.

if (age >= 18 && age < 30)
{
Console.WriteLine("Tu es un jeune adulte 👨‍🎓");
}

|| (OU)

Au moins une condition doit être vraie.

if (age < 4 || age > 99)
{
Console.WriteLine("Tu ne peux pas jouer avec des LEGO 😭");
}

! (NON)

Inverse une condition.

bool estMineur = true;
if (!estMineur)
{
Console.WriteLine("Tu es majeur.");
}

Autres exemples utiles :

// Au moins un des prix est élevé
if (prix1 > 5 || prix2 > 5 || prix3 > 5) { ... }

// Trois couleurs identiques
if (couleur1 == couleur2 && couleur2 == couleur3) {
Console.WriteLine("Les couleurs sont identiques.");
}

👉 Plus de détails : Logique (opérateurs logiques)


🐞 Erreurs fréquentes à éviter

  • Mettre une condition évidente :

    if (true) { ... } // Inutile
  • Oublier les accolades {} quand il y a plusieurs instructions

  • Confondre = (affectation) avec == (comparaison)

  • Ne pas bien grouper les conditions logiques avec des parenthèses :

    // Mauvais
    if (a > 5 && b > 5 || c > 5) { ... }

    // Meilleur
    if ((a > 5 && b > 5) || c > 5) { ... }

🧮 Assignation composée

L’assignation composée simplifie l’écriture :

int a = 7, b = 10;
a += b; // équivaut à a = a + b; → 17
a *= 2; // équivaut à a = a * 2;
a++; // incrémentation
a--; // décrémentation

👉 Explication complète : Assignation composée


🔍 Débogage avec Visual Studio

Le débogueur permet d’exécuter étape par étape et d’observer les valeurs à tout moment :

🛠️ Guide pratique

  1. Placer un point d'arrêt
  2. Lancer en mode débogage (F5)
  3. Utiliser F10 (Step Over) ou F11 (Step Into)
  4. Observer les variables via les fenêtres Locals ou Autos

Vous devez réaliser les labos suivants : 🧪 Labo 2.1A 🧪 Labo 2.1B