Contenu du cours
Chapitre 1 : Démarrage avec le Langage C
Présentation du langage C et de son rôle dans les systèmes embarqués. Comprendre l'importance de la programmation dans le domaine des systèmes embarqués. Aperçu des concepts de base de la programmation.
0/6
Chapitre 2 : Exploration des Variables et des Opérateurs
Découverte des variables : types, déclaration, affectation Jouer avec des opérateurs arithmétiques à travers des exercices
0/3
Chapitre 3 : Prendre des Décisions avec les Instructions Conditionnelles
Introduction aux instructions conditionnelles avec des exemples concrets
0/1
Fondations du Langage C : Premiers Pas dans la Programmation (cours 1)
À propos de la leçon

I. Introduction

Imaginez-vous préparant un café le matin. Vous avez peut-être une routine : si le café est trop chaud, vous attendez qu’il refroidisse ou y ajoutez un peu de lait froid. Si c’est trop froid, vous le réchauffez un peu. Cette capacité à prendre des décisions basées sur différentes situations est exactement ce que nous souhaitons intégrer à nos programmes. En programmation, nous ne gérons pas le café, mais nous devons souvent traiter des informations et réagir en conséquence.

Dans le monde des programmes, prendre des décisions est essentiel. Cela permet à nos logiciels d’être dynamiques, réactifs et adaptatifs. Si vous créez un jeu, par exemple, vous voudriez peut-être que certains événements se produisent si le joueur atteint un certain score, ou que d’autres actions se déclenchent si le joueur perd toutes ses vies. Les décisions sont partout !

Petit aperçu du flux d’exécution d’un programme

Normalement, un programme exécute ses instructions de haut en bas, comme lire un livre de la première à la dernière page. Cependant, nous ne voulons pas toujours que tout soit aussi linéaire. Parfois, en fonction de certaines conditions (comme dans notre exemple du café), nous voulons changer l’ordre dans lequel les choses se passent ou peut-être sauter certaines parties complètement.

Les instructions conditionnelles sont comme des bifurcations sur une route. En fonction de la situation, elles vous guident sur un chemin différent. Au lieu de suivre simplement une ligne droite, votre programme peut maintenant explorer différents itinéraires en fonction des conditions rencontrées. C’est comme si vous aviez un GPS intelligent dans votre code qui vous aide à prendre les meilleures décisions en temps réel.

II. L’instruction if et son complément else : Dualité dans la prise de décisions

1.L’instruction if : Qu’est-ce que c’est ?

L’instruction if est l’une des structures de contrôle les plus fondamentales en programmation. Elle permet à votre programme de prendre des décisions basées sur certaines conditions. Si la condition spécifiée est vraie, le bloc de code associé sera exécuté. Sinon, ce bloc de code sera ignoré.

Pensez-y comme une lumière automatique dans une pièce. Si quelqu’un entre (condition : présence d’une personne), la lumière s’allume. Si personne n’entre, la lumière reste éteinte. L’instruction if fonctionne de la même manière : elle “s’allume” et exécute un bloc de code seulement si une condition spécifique est remplie.

Elle est utile pour de nombreuses raisons :

  • Adaptabilité : Votre code peut réagir à différents scénarios.
  • Sélectivité : Vous pouvez choisir d’exécuter certaines parties de votre code seulement lorsque c’est nécessaire.
  • Intelligence : Votre programme peut prendre des décisions basées sur les informations qu’il traite.

2.L’instruction else : Qu’est-ce que c’est ?

Tout comme if permet d’exécuter un bloc de code lorsque la condition est vraie, else nous permet d’exécuter un bloc de code lorsque cette condition est fausse. Il est le complément naturel de if, offrant une solution pour les cas où la condition if n’est pas satisfaite.

Prenons l’exemple de la lumière automatique à nouveau : avec seulement un if, nous pourrions dire “si quelqu’un entre, allume la lumière”. Avec l’ajout de else, nous pouvons ajouter “sinon, éteins-la”. C’est ce qui rend la combinaison if-else si puissante : elle couvre toutes les possibilités.

3. Exemple pratique sur VS Code : vérifier si une variable est positive

Ouvrez VS Code et créez un nouveau fichier nommé positif.c. Copiez-y le code suivant :

#include <stdio.h>

int main() {
    int nombre;

    printf("Veuillez entrer un nombre : ");
    scanf("%d", &nombre);

    if (nombre > 0) {
        printf("Le nombre %d est positif\n", nombre);
    } else {
        printf("Le nombre %d n'est pas positif\n", nombre);
    }

    return 0;
}

Ce programme demande à l’utilisateur de saisir un nombre. Il utilise ensuite les instructions if et else pour vérifier si ce nombre est positif. Si c’est le cas, il affiche que le nombre est positif. Sinon, il affiche le contraire.

Décryptons ensemble ce que vous venez de taper :

  • Après avoir récupéré un nombre grâce à scanf, nous arrivons à une instruction if. C’est ici que la magie des décisions opère.
  • if (nombre > 0) { … } : Cette ligne vérifie si le nombre entré est supérieur à zéro.
    • Les accolades { … } délimitent ce qui doit être exécuté si la condition est vraie.
  • Astuce sur les accolades : Pensez aux accolades comme à des portes. Si la condition est vraie, la porte s’ouvre et le code à l’intérieur est exécuté.
  • else { … } : Et si la condition n’est pas vraie ? C’est là que else entre en jeu. Si if est la porte qui ne s’ouvre pas, else est la porte de secours qui s’ouvre à la place.
  • printf(“Le nombre %d est positif.n”, nombre); et printf(“Le nombre %d n’est pas positif.n”, nombre); : Ces deux lignes sont vos messages personnalisés selon que le nombre est positif ou non.

Pour exécuter cet exemple :

  1. Compilez le fichier avec la commande : gcc positif.c -o positif
  2. Exécutez le programme avec la commande : ./positif
  3. Saisissez un nombre et observez le résultat !

Cet exemple illustre parfaitement comment nous pouvons utiliser lesinstruction if et else pour prendre des décisions simples basées sur les informations fournies par l’utilisateur.

III. L’instruction else if : Naviguer à travers plusieurs scénarios

1.L’instruction else if : Qu’est-ce que c’est ?

Après avoir découvert le potentiel du duo if-else, vous pourriez vous demander : “Et si j’ai plusieurs conditions à vérifier, pas seulement deux ?” C’est là qu’intervient else if.

Lorsque nous avons plusieurs scénarios ou conditions à vérifier, l’instruction else if agit comme un intermédiaire entre if et else, permettant une évaluation successive des conditions jusqu’à ce que l’une d’entre elles soit vraie.

2. Exemple pratique sur VS Code : Classer un nombre

Imaginez que nous voulons classer un nombre entré par l’utilisateur comme étant soit négatif, soit zéro, soit positif. C’est un cas parfait pour combiner if, else if et else:

#include <stdio.h>

int main() {
    int nombre;

    printf("Entrez un nombre : ");
    scanf("%d", &nombre);

    if (nombre > 0) {
        printf("Le nombre %d est positif\n", nombre);
    } else if (nombre < 0) {
        printf("Le nombre %d est négatif\n", nombre);
    } else {
        printf("Le nombre est zéro\n");
    }

    return 0;
}

Pensez-y comme une lumière

IV. Combinaison avec les opérateurs de comparaison

1. Introduction aux opérateurs de comparaison

Les opérateurs de comparaison sont utilisés pour comparer deux valeurs. Voici les plus courants :

  • == : égal à
  • != : différent de
  • > : supérieur à
  • < : inférieur à
  • >= : supérieur ou égal à
  • <= : inférieur ou égal à

Dans les instructions conditionnelles, ces opérateurs sont cruciaux. Ils permettent de tester des relations entre les valeurs et d’exécuter différents blocs de code en fonction des résultats de ces tests.
Pensez à une application de rencontre. L’application peut montrer différents profils en fonction de la plage d’âge que vous recherchez. Si vous recherchez des personnes âgées de plus de 30 ans, l’application utilise l’opérateur > pour filtrer les résultats.

2. Exemple pratique sur VS Code : déterminer si un utilisateur est majeur à partir de son âge

Imaginez que nous voulons savoir si l’utilisateur de notre programme est majeur ou pas. C’est un scénario classique pour utiliser les opérateurs de comparaison avec if. Voici comment nous pourrions écrire un tel programme :

#include <stdio.h>

int main() {
    int age;
    printf("Entrez votre âge : ");
    scanf("%d", &age);

    if (age >= 18) {
        printf("Vous êtes majeur dans la plupart des pays.\n");
    } else {
        printf("Vous êtes mineur.\n");
    }

    if (age == 18) {
        printf("Félicitations, vous venez juste de devenir majeur!\n");
    } else if (age < 18) {
        printf("Vous avez moins de 18 ans.\n");
    } else if (age > 18) {
        printf("Vous avez plus de 18 ans.\n");
    }

    return 0;
}

Ouvrez VS Code et créez un nouveau fichier nommé age_verifier.c.

  • Copiez et collez le code, puis enregistrer le fichier.
  • Compilez le fichier avec la commande : gcc age_verifier.c -o age_verifier.
  • Exécutez le programme avec la commande : ./age_verifier.
  • Entrez votre âge et observez les différentes réponses du programme en fonction de l’âge que vous saisissez.

V.Exercices pratiques: Quelques problèmes simples pour mettre en pratique ce qui a été appris

Voici quelques exercices pour renforcer la compréhension des instructions conditionnelles et des opérateurs de comparaison en C. Pour chaque exercice, j’inclurai une description de ce que vous devrez faire ainsi que le squelette de code que vous devrez compléter.

Exercice 1: Pair ou impair?

Écrire un programme qui demande à l’utilisateur d’entrer un entier et détermine si ce nombre est pair ou impair.

#include <stdio.h>

int main() {
    int nombre;

    // Demandez à l'utilisateur d'entrer un nombre entier

    // Utilisez l'opérateur de modulo pour vérifier si le nombre est pair ou impair

    // Affichez le résultat

    return 0;
}

Exercice 2: Notes et grades

Écrire un programme qui demande à l’utilisateur d’entrer une note (sur 100) et affiche le grade correspondant selon le système de notation suivant: A pour 90-100, B pour 80-89, C pour 70-79, D pour 60-69, et F pour moins de 60.

#include <stdio.h>

int main() {
    int note;

    // Demandez à l'utilisateur d'entrer une note

    // Utilisez if, else if et else pour déterminer le grade

    // Affichez le grade

    return 0;
}

Exercice 3: L’âge et les catégories

Écrire un programme qui demande l’âge de l’utilisateur et l’informe dans quelle catégorie d’âge il se situe: enfant (0-12), adolescent (13-17), adulte (18-64), ou senior (65+).

#include <stdio.h>

int main() {
    int age;

    // Demandez à l'utilisateur d'entrer son âge

    // Utilisez plusieurs instructions if/else if pour déterminer la catégorie d'âge

    // Affichez la catégorie d'âge

    return 0;
}

Exercice 4: Comparaison de nombres

Écrire un programme qui demande deux nombres à l’utilisateur et affiche le plus grand des deux.

#include <stdio.h>

int main() {
    int num1, num2;

    // Demandez à l'utilisateur d'entrer deux nombres

    // Utilisez if/else pour comparer les nombres et déterminer lequel est le plus grand

    // Affichez le plus grand nombre

    return 0;
}

Conclusion

Le Cours 1 d’Initiation à la Programmation en Langage C pour les Systèmes Embarqués vous a équipé des compétences essentielles pour commencer à naviguer dans le vaste univers de la programmation C. Nous avons exploré les origines du langage, appris à établir un environnement de développement, et réalisé des programmes simples mais fondamentaux.

Les chapitres ont été conçus pour construire votre compréhension bloc par bloc – de la structure de base d’un programme C à la manipulation des variables et des opérateurs, et enfin, à l’application des instructions conditionnelles qui sont cruciales pour le contrôle du flux d’exécution dans les programmes embarqués.

Anticipation du Cours 2: Les Fondamentaux des Boucles et des Fonctions À présent, tournons notre attention vers le Cours 2. Nous nous immergerons dans les fondamentaux des boucles et des fonctions. Vous apprendrez comment automatiser les tâches répétitives sans réécrire de code inutilement, comment simplifier les programmes complexes et les rendre plus efficaces grâce aux boucles for, while, et do-while.

Les fonctions seront également un sujet clé, où vous découvrirez comment modulariser votre code pour une meilleure réutilisabilité et lisibilité. Ce sont des compétences précieuses pour programmer des systèmes embarqués, où l’efficacité et l’optimisation sont primordiales.

En maîtrisant ces outils, vous serez bien préparé pour aborder des problèmes de programmation plus avancés et plus spécifiques aux systèmes embarqués. Préparez-vous à plonger plus profondément dans la programmation en C avec enthousiasme et curiosité. Le Cours 2 vous attend avec des concepts captivants et des compétences pratiques supplémentaires pour enrichir votre parcours en programmation.

Participer à la discussion
Ajouter aux favoris