• 4 mars 2025

[5/16] Les conditions if / else

Introduction

Dans ce chapitre, on va parler de conditions, c’est-à-dire comment dire à ton programme : "Si cette chose est vraie, fais ça. Sinon, fais autre chose." C’est une compétence essentielle pour coder des apps intelligentes.

En programmation, vous allez souvent devoir effectuer des vérifications sur certaines conditions. Est-ce que cette condition est remplie ? Que dois-je faire si c’est le cas ? Que faire si la condition n’est pas vérifiée ? Toutes ces questions, vous allez pouvoir y répondre avec du code.

Qu’est-ce qu’une condition ?

Imaginez que vous vous trouviez dans un restaurant. Le serveur vous demande : “Voulez-vous un dessert ?”

  • Si vous voulez un dessert, vous répondre “Oui, une glace au chocolat s’il vous plait”.

  • Sinon, vous répondez “Non merci, juste un café”.

Eh bien votre cerveau a utilisé une condition pour répondre. En Swift, c’est pareil : vous pouvez exécuter du code uniquement si une condition est remplie, et un autre code sinon. En Swift, on traduit cette logique avec des blocs if/else.

Syntaxe de base d’un bloc if / else

Voici comment écrire une condition en Swift :

if condition {
    // Code exécuté si la condition est vraie
} else {
    // Code exécuté si la condition est fausse
}

Comprenez qu’à la place de condition, vous devez forcément avoir une variable qui est de type Bool, ou une opération qui donne un résultat de type Bool.

Par exemple :

  • Si faitBeau est true, le programme affiche : On sort faire un pique-nique !

  • Si faitBeau est false, il affiche : On reste à la maison regarder un film.

Voici comment cela se traduirait avec du code :

if faitBeau {
    print("On sort faire un pique-nique !")
} else {
    print("On reste à la maison regarder un film."*)*
}

Remarque : le bloc else est optionnel. On pourrait très bien écrire uniquement un bloc if. Dans ce cas, il est possible qu’aucun code ne s’exécute si la condition n’est pas remplie.

Les opérateurs dans les conditions

Les conditions utilisent souvent des opérateurs pour vérifier des valeurs. Voici les plus courants :

  • == : Égal à (exemple : score == 100)

  • != : Différent de (exemple : age != 18)

  • < : Inférieur à (exemple : poids < 70)

  • > : Supérieur à (exemple : taille > 180)

  • <= : Inférieur ou égal à (exemple : note <= 10)

  • >= : Supérieur ou égal à (exemple : vitesse >= 50)

Voici un exemple, pour calculer le message affiche en fonction du score d’un jeu :

let score = 85

if score >= 90 {
    print("Tu as un A ! Bravo 🎉")
} else if score >= 75 {
    print("Tu as un B ! Bien joué 👍")
} else if score >= 50 {
    print("Tu as un C. Pas mal, mais peut mieux faire.")
} else {
    print("Tu as un D. Allez, on bosse un peu plus la prochaine fois !")
}

Remarque : Oui, on peut tout à fait empiler plusieurs blocs else if à la suite, si on souhaite créer plusieurs conditions.

Dans cet exemple :

  • Si le score est >= 90, le programme affiche : Tu as un A ! Bravo 🎉

  • Si le score est entre 75 et 89, il affiche : Tu as un B ! Bien joué 👍, etc.

Combiner des conditions avec les opérateurs logiques

On peut aussi vérifier plusieurs conditions en même temps avec les opérateurs logiques :

  • && : ET (toutes les conditions vraies) (exemple : age >= 18 && age < 65)

  • ! : NON (inverse) (exemple : !estConnecté)

Voici un exemple pour vérifier l’âge de l’utilisateur :

let age = 17

if age >= 18 && age <= 25 {
    print("Tarif jeune appliqué 🎟️")
} else if age < 18 {
    print("Tarif enfant appliqué 🧒")
} else {
    print("Tarif adulte appliqué 💳")
}

if seul : Pas toujours besoin de else

Il est bon de préciser que le bloc if peut très bien être ajouté sans le bloc else :

let aFiniLeTravail = true

if aFiniLeTravail {
    print("Félicitations, tu peux te détendre maintenant !")
}

Si aFiniLeTravail est false, rien ne se passe.

Conditions imbriquées (Nested Conditions)

Nous venons de voir comment créer des conditions. Mais parfois, nous avons besoin de vérifier plusieurs conditions avant de pouvoir exécuter du code. Pour cela, on peut empiler différentes conditions, un peu comme des poupées russes :

let aFaim = true
let aDeLargent = true

if aFaim {
    if aDeLargent {
        print("Tu peux aller manger au resto 🍕")
    } else {
        print("Pas d’argent ? Fais-toi un sandwich à la maison. 🥪")
    }
} else {
    print("Pas faim ? Pas besoin de manger.")
}

Opérateur ternaire : Une condition en une ligne

Pour les cas simples, on peut utiliser l’opérateur ternaire pour écrire une condition sur une seule ligne.

Syntaxe :

condition ? valeurSiVrai : valeurSiFaux

Exemple :

let temperature = 25
let message = temperature >= 20 ? "Il fait chaud 🌞" : "Il fait frais ❄️"
print(message) // Affiche : Il fait chaud 🌞

Supposons que nous voulions créer une app qui vérifie si l’utilisateur est connecté avant de lui afficher son tableau de bord (ce que vous serez amenés à faire très souvent, croyez-moi…)

let estConnecté = false

if estConnecté {
    print("Bienvenue sur votre tableau de bord !")
} else {
    print("Veuillez vous connecter pour accéder à votre compte.")
}

Conclusion

Les conditions sont comme des feux de signalisation : elles permettent de guider votre programme pour qu’il sache quoi faire dans chaque situation. Il existe plusieurs façons de créer des conditions : avec le bloc if, le bloc else, ou encore la condition ternaire.

0 comments

Sign upor login to leave a comment