Vous êtes sur la page 1sur 23

MODULE 1 :

RESEAUX, INTERNET, HUMANITE


NUMERIQUE, ALGORITHME ET
PROGRAMMATION EN C

CHAPITRE 1 : ALGORITHMIQUE

LEÇON
ETAPES DE RESOLUTION D’UN PROBLEME
1

Compétences visées :
➢ En se basant sur la documentation, internet, et les problèmes de vie réelle, chaque élève
de première ESTP sera capable à la fin de cette leçon de 2h de décrire les étapes de
résolution d’un problème.

Situation problème :
Votre petit frère de 6e Idriss, rentre des classes avec un devoir dont l’énoncé est le suivant : «
Étant donnés deux nombres entiers positifs, identifier le plus grand de ces deux nombres. »
ensuite, nécessite votre aide pour la résolution de ce problème. En vous basant sur la
documentation ou internet, donner lui les étapes de résolution de ce problème.

Introduction
Chaque jour, l’homme est face à des nombreux problèmes auxquels il doit apporter des
solutions. Pour résoudre ces problèmes il est important de bien présenter les différentes étapes
de résolutions du problème. Au cours de cette leçon nous étudierons ces étapes pour la
conception d’un algorithme.

I-Définitions des concepts


1)Algorithmique : C’est la science des algorithmes.
2)Algorithme : Un algorithme est une suite finie et ordonnée d’instruction donnée à un
exécutant lui permettant de résoudre un problème donné. Autrement dit c’est une suite logique
d’opérations permettant d’arriver à un résultat déterminé.

II-Les étapes de résolution d’un problème


Dans cette partie, nous allons utiliser le problème posé à la situation problème. Comme disait
quelqu’un : « Tout ce qui se conçoit bien s’énonce clairement et les mots pour le dire arrive
aisément ». Alors, construire un algorithme consiste à découvrir les actions qu'il faut organiser
dans le temps, et à choisir la manière de les organiser pour obtenir le résultat escompté par
leurs effets cumulés. Un algorithme est présenté comme suit :
Exemples : préparation du riz sauté, calcul du périmètre d’un champ rectangulaire.
En générale les étapes de résolution d’un problème sont les suivantes :
• L’analyse
• La conception / Algorithme
• La programmation
• Le test

1)L’Analyse : C’est une phase de réflexion au cours de laquelle on identifie les


caractéristiques du Problème à traiter, puis éventuellement on le découpe en une succession
de sous problèmes simples. Autrement dit, c’est la définition du problème en termes de
séquences d’opérations de calcul de stockage de données, etc. ;
2)La conception / Algorithme : C’est la définition précise des données, des traitements
et de leur séquencement ; autrement dit, c’est une phase au cours de laquelle on décrit les
opérations à mettre en œuvre pour obtenir le résultat à partir des données. Le langage
algorithmique employer est suffisamment proche des langages de programmation pour
pouvoir être traduit aisément vers ces derniers.
3)La programmation : C’est le processus qui permet de traduire l’algorithme dans un
langage de programmation (langage permettant d’écrire des programmes informatiques) de
son choix. Ainsi, on distingue plusieurs langages de programmation tels
que : PASCAL, JAVA, C, python, C#, C++, FORTRAN ....
4)Le test : Il correspond au moment où l’utilisateur lance le programme et lui donne les
données en entrée du problème afin que le programme lui donne le résultat après traitement.

III. Les qualités d’un bon algorithme


L’intérêt de l’algorithmique réside dans la résolution optimale des problèmes c’est-à-
dire elle permet de gagner du temps et d’obtenir des solutions moins coûteuses. De ce fait,
un algorithme doit :
• Être compréhensible : car un algorithme doit être lu et compris sans difficulté par
une autre personne que celui qui l’a écrit.
• Être lisible : L’algorithme doit respecter une structure bien définie.
• Être de haut niveau : Il ne doit pas faire appel à des notions techniques relatives à
un langage programmation particulier.
• Être défini et précis : ce qui signifie que chaque expression doit être définie sans
ambiguïté
• Être concis : Un algorithme ne doit pas être long. Si c'est le cas, il faut décomposer
le problème en plusieurs sous-problèmes.
• Être structuré : Un algorithme doit être composé de différentes parties facilement
Identifiables.
• Avoir des données d’entrée qui ont un champ d’application bien précis (Ex. nombre
entier, nombre réel ou caractère, etc.…).
• Se terminer après un nombre fini d’opérations.
• Posséder au moins un résultat.
Exercice : Inscription au lycée General Leclerc
A chaque rentrée scolaire au lycée de Koumassi, pour faire partir des effectifs, les
anciens élèves doivent s’acquitter des frais d’inscription, d’APE et des frais d’informatique.
Les nouveaux élèves quant à eux doivent fournir un dossier de recrutement qui contient les
bulletins scolaires de l’année précédente, une demande de recrutement et une photocopie de
l’acte de naissance.
Après étude du dossier, l’établissement sort une liste des candidats retenus. Ces derniers
s’acquitteront également des mêmes frais anciens. L’établissement enregistre les noms dans
sa base de données et affiche les noms des élèves par niveau et par classe.
1. Quels sont les données en entrées ?
2. Quels sont les traitements ? Quels sont les résultats ?
LEÇON
2 GENERALITES SUR LES ALGORITHME

Compétences Visées :
L’élève à la fin de cette leçon devrait être capable de :
• Définir la notion de variable.
• Définir la notion de constante.
• Donner la structure générale d’un algorithme.
Introduction
Un algorithme s’écrit suivant un certain langage appelé Langage de Définition
Algorithmique (LDA). Ce langage utilise un vocabulaire et des règles de construction des
phrases.
I. LES ELEMENTS CONSTITUTIFS D’UN ALGORITHME
1-1 Les identificateurs
Les identificateurs servent à designer les différents « objets » manipulés par l’algorithme.
Comme objet nous pouvons avoir les variables, les constantes, les fonctions, etc.…pour une
structure algorithmique de base nous nous intéresserons aux variables et aux constantes.
➢ Les variables
On appelle variable est un objet dont le contenu peut changer au cours de l’exécution de
l’algorithme.
La syntaxe est la suivante : Var NomVariable : Type de la variable ;
Exemple : Var rayon : entier ; Var surface : réel ;
➢ Les constantes
On appelle constante un objet dont le contenu reste invariant lors de l’exécution d’un
algorithme c’est-à-dire on ne peut le changer pendant l’exécution de l’algorithme.
La syntaxe de déclaration est la suivante : const NomConstante = Valeur ;
Exemple : const pi = 3.14 ; const N = 100 ;
De façon générale, un « objet » a trois caractéristiques à savoir : Son identificateur (qui
est le nom qui l’identifie), son type et sa valeur
Les types sont les caractéristiques des constantes et des variables utilisées dans l’écriture
d’un algorithme. On distingue cinq types de base :
• Entier : C’est un nombre négatif ou positif sans virgule ;
• Réel : C’est un nombre négatif ou positif avec virgule ou pas ;
• Booléen : C’est une donnée qui ne peut prendre que deux états ;
• Le caractère : C’est une donnée alphabétique, ou un symbole ;
• Chaine de caractères : c’est un assemblage de données alphabétique, numérique, un
Symbole.
1-2 Les séparateurs
Dans le langage naturel, les mots sont séparés par un espace, un signe de ponctuation
ou une fin de ligne. Il en est de même pour le langage algorithmique dont les règles vont paraître
naturelles. Les caractères séparateurs comprennent tous les opérateurs (+, -, *, =, ==, < =, >=,
<, >, etc.) ainsi que les caractères dits de ponctuation : ( ) [ ] , . : etc.
1-3 Les commentaires
Les commentaires sont des textes explicatifs destinés au lecteur de l’algorithme et qui n’ont
aucun incident sur l’exécution de l’algorithme. Ils sont placés entre les symboles (/* */) et
peuvent apparaître à tout endroit de l’algorithme cependant, on se limitera à des emplacements
propices à une bonne lisibilité. Les commentaires sont utilisés pour permettre une interprétation
aisée de l’algorithme. Leur utilisation est vivement conseillée. De ce fait, tout texte placé entre
les symboles /* */ sera considéré comme un commentaire. Un commentaire peut s’étendre
sur une ou plusieurs lignes.
II. STRUCTURE D’UN ALGORITHME
La structure d’un algorithme est un schéma qui illustre de façon générale les différentes
articulations ou parties du squelette d’un algorithme. On peut la représenter sous forme
graphique (Algorigramme ou Organigramme) ou sous forme littérale (notation algorithmique)
dans laquelle les mots clés sont soulignés et commencent par une lettre majuscule, ainsi que
des instructions terminées par un point-virgule (;).
LEÇON
LES STRUCTURES SIMPLES EN ALGORITHME
3

I. 3 INSTRUCTIONS SIMPLES
Une instruction est un ordre que l‘on donne à la machine.

1- L‘Affectation
L‘Affectation est une opération qui consiste à donner une valeur à une variable.
Sa syntaxe est la suivante : Identificateur de la variable valeur à affecter.
Exemple r 5 ou r = 5
L‘affectation n‘est pas commutative c‘est-à-dire que a=b est différent de b=a ;
Elle est instantanée et valable à un moment donné ;

2- L‘incrémentation et décrémentation
L‘incrémentation est opération qui consiste à augmenter d‘une unité le contenu d‘une
variable. Cette opération peut se faire de deux façons différentes. Soit x la variable à
incrémenter :
x=x+1 : ici on ajoute une unité de façon explicite.
x++ , ++x : ici on ajoute une unité de façon implicite.
On peut aussi vouloir diminuer une variable d‘une unité c‘est la décrémentation. Soit y
la variable à décrémenter :
y=y-1 ; ici on diminue une unité de façon explicite.
y- - , - -y : ici on diminue une unité de façon implicite.

3- Écriture et lecture à l‘écran


La lecture et l’écriture sont deux opérations essentielles pour rendre un programme
interactif.
L’opération d’écriture à l’écran permet d’afficher un texte à l’écran.
On utilise l’instruction Ecrire ou Saisir.
Exemple : Ecrire (‘’bonjour tout le Monde ‘’) ; ou Saisir (‘’bonjour tout le Monde ‘’)
L’opération de lecture permet de lire une valeur au clavier. Cette valeur peut être un
entier, un réel, un caractère ou une chaine de caractère.
On utilise l’instruction Lire ou Afficher
Exemple : Lire (pi) ; ou Afficher (pi) ;
LEÇON
4 LES STRUCTURES DE CONTROLE

Compétences visées
➢ En se basant sur la documentation, chaque élève de 1ère ESTP sera capable à la fin de cette
leçon de 2h d’identifier les structures de contrôle, d’utiliser les structures itératives.
Situation problème :
Après avoir décrit les étapes de résolution d’un problème à votre petit frère Idriss,
catégorisez son problème en identifiant quelle structure de contrôle est adéquate à la résolution
de son problème sachant qu’il vous a dit ceci : « pour trouver le plus grand des deux nombres,
on vérifie si le nombre1 est supérieur au nombre2 si oui écrire le plus grand est nombre1 sinon
c’est le contraire ». Après cela, montrez lui comment utiliser une structure itérative pour dire
bonjour à 100 personnes.
Introduction
Pour fonctionner, un algorithme doit contenir uniquement des instructions
compréhensibles par celui qui devra l’exécuter (l’ordinateur). Les ordinateurs eux-mêmes ne
sont fondamentalement capables d’exécuter que quatre opérations logiques : l’affectation de
variables ; la lecture / écriture ; les tests ; les boucles. Dans cette leçon nous nous limiterons
aux deux dernières opérations à savoir les tests et les boucles. Les opérations élémentaires
relatives à la résolution d’un problème, peuvent en fonction de leur enchainement, être
organisées suivant une famille de structures algorithmiques fondamentales :
•Les structures séquentielles ;
•Les structures alternatives ;
•Les structures itératives ou répétitives.

I- Les structures séquentielles


Les structures séquentielles se caractérisent par une suite d’actions à exécuter
successivement dans l’ordre énoncé. Une structure séquentielle peut donc se présenter de la
manière suivante :

II-Les structures alternatives

La résolution de certains problèmes nécessite parfois la mise en place d’un test pour effectuer
une tâche :
•Si le test est positif, on effectue un certain traitement ;
•Sinon, c’est-à-dire si le test est négatif, on effectue un autre traitement. En algorithmique,
on traduit cette situation par des structures alternatives à l’aide d’instructions conditionnelles.
Une structure alternative est une situation dans laquelle on ne peut choisir qu’entre deux
solutions possibles. Si l’une des conditions est réalisée, l’autre ne s’exécute pas et vice-versa.
On distingue la structure alternative complète et la structure alternative réduite. On distingue
alors deux types de structures alternatives : la structure alternative complète et la structure
alternative réduite.

1.Structure alternative complète (Structure SI ... ALORS ...SIN ON ...)


La syntaxe de cette structure est la suivante :

Si condition Alors
Traitement 1 ;
(Instructions à effectuer si la condition est vérifiée)
Sinon traitement 2 ;
(Instructions à effectuer si la condition n’est pas vérifiée)
FinSi

2.Structure alternative réduite (Structure SI ... ALORS ...)

Selon le cas, il se peut que, si la condition n’est pas vérifiée, il n’y ait pas à effectuer de
traitement 2. On écrira ainsi la structure alternative « réduite »
Si condition Alors
Traitement 1 ;
(Instructions à effectuer si la condition est vérifiée)
FinSi

Exemple : Tester le plus grand de deux nombres saisis.


III-Les structures itératives ou répétitives
Toutes les structures itératives répètent l’exécution de traitements. Deux cas sont cependant
à envisager, selon que :
•Le nombre de répétitions est connu à l’avance : c’est le cas des boucles itératives
•Le nombre de répétitions n’est pas connu ou est variable : c’est le cas des boucles
conditionnelles
1.La structure POUR ... ALLANT DE ... A ..., FAIRE
Cette structure est une BOUCLE ITERATIVE ; elle consiste à répéter un certain traitement
un nombre de fois fixé à l’avance. Sa syntaxe est la suivante :
Pour i allant de v1 à v2 pas n faire
Action
Finpour
Remarques :
•La variable i est un compteur, dont la valeur augmente automatiquement de n à chaque tour
et n est le pas. Cette variable permet en définitive de contrôler le nombre entier de tours. Cette
variable est en d’autres termes la variable de contrôle d’itération, caractérisée par sa valeur
initiale, sa valeur finale et son pas de variation.
•La sortie de la boucle s’effectue lorsque le nombre souhaité d’itérations est atteint, c’est-à-
dire lorsque prend la valeur v2.
•Le pas peut ne pas être précisé, dans ce cas il est considéré comme valant 1.
Exemple : Ecrire un algorithme qui affiche 100 fois bonjour.
Pour i allant de 0 à 99 Pas de 1 faire
Afficher (Bonjour) ;
Fin pour
2.La structure TANT QUE ..., FAIRE
Parfois, pour réaliser une tâche, on doit effectuer plusieurs fois les mêmes instructions, sans
que le nombre de fois soit déterminé à l’avance. On utilise alors une BOUCLE
CONDITIONNELLE. Dans cette structure, le même traitement est effectué tant qu’une
condition reste valide ; la boucle s’arrête quand celle-ci n’est plus remplie. Cette structure
répétitive est ainsi formulée :
Tant que condition Faire
Traitement (instructions à effectuer)
FinTantque
Exercice
Écrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse
convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! »,
et inversement, « Plus grand ! » si le nombre est inférieur à 10.
Correction de l’Exercice
Algorithme Nombre ;
Variable N : Entier ;
Debut
N←0;
Ecrire ("Entrez un nombre entre 10 et 20") ;
TantQue N < 10 ou N > 20 faire
Lire (N) ;
Si N < 10 Alors
Ecrire ("Plus grand !") ;
Sinon Si N > 20 Alors
Ecrire ("Plus petit !") ;
FinSi
FinTantQue
Fin
Activité 1 : exercice à faire
Écrire un algorithme qui calcule l’aire d’un cercle de diamètre D ?
Algorithme surface_cercle
Var D, S, R : réél ;
Const π = 3.14 ;
Début
Ecrire (‘’entrée le diamètre D ‘’) ;
Lire (D) ;
R D/2 ;
S π *R^2 ;
Ecrire (‘’l’aire du cercle est : ‘’ S) ;
Fin
LEÇON
3 ALGORIGRAMMES

Compétences visées :
➢ A la fin de cette leçon de 2h, chaque élève de première ESTP sera capable à partir d’un
problème simple, d’écrire un algorithme simple de l’exécuter à la main et d’élaborer son
algorigramme.

Introduction
Un algorigramme ou organigramme : est une représentation graphique de l’algorithme
utilisant des symboles normalisés. les symboles d’organigramme de base sont:

Exercice : Faire l’organigramme de l’algorithme précédent


CHAPITRE 2 : PROGRAMMATION EN C

LEÇON GENERALITES SUR LA PROGRAMMATION EN C


1

Compétences visées :
➢ Définir programmation, langage de programmation et programme informatique
➢ Citer quelques exemples de langage de programmation
Situation problème :
Votre papa est propriétaire d’un supermarché. Il rencontre beaucoup de difficultés pour
effectuer ses calculs et faire le bilan de ventes d’une journée. Son voisin du marché lui suggère
de se procurer un programme informatique pour automatiser ses calculs.
•D’après vous c’est quoi un programme informatique ?
•Quel est l’avantage d’un programme informatique ?
•Citez-en quelques exemples
•Donner les étapes de création d’un programme informatique.

I. DEFINITIONS
Un programme informatique est un ensemble d'opérations destinées à être exécutées par
un ordinateur.
Un langage de programmation est une notation conventionnelle destinée à produire des
programmes informatiques.
La programmation est le processus par lequel un informaticien crée un programme à travers
un langage de programmation.
II.QUELQUES EXEMPLES DE LANGAGES DE PROGRAMMATION
L’ordinateur est une machine automatique qui ne comprend qu’un seul langage : le binaire.
Toute opération effectuée dans celui-ci est transformée en une suite de 0 et 1. On distingue deux
types de langage de programmation : les langages compilés et les langages interprétés. Comme
exemple de langage compilé nous pouvons citer : Le C, Le C+ +, Java, Visual Basic,
Delphi...Comme langage interprété nous pouvons citer : le SQL, le HTML, le JavaScript, le
ASP...
III.INSTALLATION D’UN IDE C
Pour écrire et exécuter un programme C, le programmeur a besoin de trois outils
fondamentaux : l’éditeur de texte, le compilateur et le débuggeur.
•Un éditeur de texte pour écrire le code source du programme. Exemple : Bloc-Notes,
Notepad++...
•Un compilateur pour transformer ("compiler") le code source en binaire.
•Un débogueur qui aide à traquer les erreurs dans le programme. Ces trois outils sont
regroupés dans un logiciel appelé IDE (Integrated Développent Environnent ou Environnement
de développement intégré en français). Parmi les IDE les plus connus, on peut citer :
CodeBlocks, Dev C++, Visual++ Dans le cadre de ce cours, nous utiliserons l’IDE CodeBlocks
dont l’installation se fait en cliquant juste sur l’exécutable et en suivant les étapes. La fenêtre
principale est:

Il reste juste à cliquer sur la création d’un projet pour commencer la saisie du code.
LEÇON ECRITURE D’UN PROGRAMME EN C
2

Compétences visées :
➢ Écrire la structure d’un programme C ;
➢ Traduire un algorithme simple en C ;
➢ Déclarer les variables et constantes ;
➢ Utiliser les opérateurs (arithmétiques, logique, comparaison);
➢ Inclure les bibliothèques stdio.h, stdlib.h, math.h et conio.h ;
➢ Utiliser les fonctions d’entrée/sortie classiques (scanf, printf);
➢ Utiliser un IDE C (Codeblocks, DevC++)
Situation problème
Il vous a été demandé d’écrire un programme en langage C pour l’addition de deux
nombres entiers.
•Ecrire l’algorithme correspondant.
•Quel sera la structure de votre programme C ?
•Quel est l’opérateur utilisé pour additionner deux nombres entiers.

I.STRUCTURE D’UN PROGRAMME C


Le code minimal à l’ouverture CodeBlocks se présente comme suit

Ce code minimal comprend :


Les directives de préprocesseur : cette partie est marquée par la présence du caractère dièse
(#), du mot clé « include » et de la bibliothèque à inclure compris entre les caractères « <
»et « > ».
La fonction principale : à l’intérieure de laquelle se trouve toutes les instructions exécutées
par l’ordinateur. La fonction principale est délimitée par les accolades {et}, formée par deux
mots clés : int (qui définit le type de retour de la fonction) et main (qui est le nom de la
fonction)
Les instructions : elles représentent les commandes données à l’ordinateur et sont
délimitées par un point-virgule (;). La fonction principale ici compte deux instructions:
printf("Hello world!\n"); et return 0;
II.VARIABLES ET CONSTANTES EN LANGAGE C
1.Les variables
Une variable est un emplacement dont le contenu peut changer lors de l’exécution d’un
programme.
a. Le nom d’une variable : Le nom d’une variable doit commencer par une lettre ou le
caractère « Underscore » _ . Le langage C fait la différence entre la majuscule et la minuscule,
on dit qu’il est sensible à la casse.
b. Le type d’une variable : Lors de la création d’une variable, on doit préciser son type qui
définit l’ensemble de valeur que peut prendre cette variable. Les types utilisés en langage C
sont :
Int, long : utilisés pour définir les variables devant contenir les nombres entiers relatifs ;
Char : utilisés pour déclarer les caractères ;
Float, double : utilisés pour définir les nombres décimaux.
c. La déclaration d’une variable : La déclaration d’une variable est très simple, il suffit
d’indiquer dans l’ordre le type de la variable, après un espace indiquer le nom de la variable et
ne surtout pas oublier le point-virgule.
d. L’affection d’une valeur à une variable : Affecter une valeur à une variable c’est attribuer
une valeur à cette variable. En langage C, l’affectation se fait avec le caractère « = ».

2.Les constantes
Ce sont des emplacements mémoires dont le contenu reste invariant tout au long de l’exécution
du programme. Leur déclaration se fait de la manière suivante:
const type nom_de_la_constante = valeur;
Exemple : const float pi = 3.14;

III.LES OP ERATEURS AR ITHMETIQUES, LOGIQUES ET DE COMPARAISON


1.Les opérateurs arithmétiques
Ce sont:
•L’opérateur d’addition «+»
•L’opérateur de soustraction «-»
•L’opérateur de division «/»
•L’opérateur de multiplication «*»
•L’opérateur d’incrémentation «++»et de décrémentation «--»
•Le modulo «%»
2.Les opérateurs de comparaison
Ce sont:
•L’opérateur d’égalité «==»;
•L’opérateur de différence«!=»;
•L’opérateur de supériorité stricte «>»
•L’opérateur de supériorité large « > = »
•L’opérateur d’infériorité stricte «<»
•L’opérateur d’infériorité large «<=»
3.Les opérateurs logiques
Utilisés dans les expressions booléennes. On peut citer:
•L’opérateur du «ou logique»: «||»
•L’opérateur du «et logique » : «&&»
•L’opérateur du « non logique » : «!»
IV.L’ENTREE ET LA SORTIE DES DONNEES DANS UN PROGRAMME C
1.L’entrée
C’est une opération de lecture. La fonction qui permet de le faire est scanf (). Elle s’utilise de
la façon suivante :
•Après le mot clé scanf, on doit mettre entre guillemet le caractère %suivi du caractère
correspondant au type de la valeur récupérée ;
•Mettre une virgule
•Mettre le nom de la variable dont on veut récupérer la valeur, précédé du caractère &.

2.La sortie des données


Pour afficher un message à l’écran, on utilise la fonction printf () de la façon suivante :
•Après le mot clé printf, écrire le message à afficher en guillemets ;
•Les caractères spéciaux peuvent être utilisés comme «\n» (pour aller à la ligne après
affichage.

Exercice d’application : Ecrire un programme en langage C qui lit deux nombres entiers au
clavier, effectue l’addition et affiche le résultat à l’écran.
LEÇON LES STRUCTURES DE CONTROLE EN C
3

Compétences visées :

- Utiliser les structures alternatives ;


- Utiliser les structures itératives for et while.

Situation problème :

Abena veut écrire un programme C, qui calcule et affiche la table de multiplication


d’un nombre positif saisi par l’utilisateur. Ce programme devra afficher le message « ce
nombre n’est pas positif » en cas de saisie d’un nombre négatif. Elle sollicite votre aide pour y
parvenir.
Consigne :

1- Enumérer les différentes structures de contrôles utilisé en programmation


(Réponse : alternative et itérative)
2- Quelle structure utilise-t-on dans le cas où la condition se traite en deux cas possibles ?
(Réponse : la structure alternative)
3- Quelle boucle utilise-t-on dans ces deux cas :
- La répétition connue d’un bloc d’instructions d’un programme ? (Réponse : boucle
pour)
- La répétition non connue d’un bloc d’instructions d’un programme ? (Réponse : boucle
tant que)
Introduction
Le langage C propose plusieurs structures de contrôle différentes, qui nous permettent
de nous adapter à tous les cas possibles. Il permet d’utiliser les conditions (structures
alternatives) et les boucles (structures itératives).
1. Les structures alternatives
Il s’agit de tester une condition et d’effectuer une série d’instructions si la condition est
vraie et si elle est fausse, effectuer une autre série d’instructions.
Il existe deux formes de structures alternatives :
• La structure réduite
Syntaxe : if (condition) ;
{
bloc instructions 1
}
Exemple1 : écrivons le programme C qui prend en entrée un nombre puis affiche le message
« ce nombre est paire » si le reste de la division de ce nombre par deux est 0.
Exemple 2 : écrire un programme C qui prend en entrée un âge et affiche le message « vous êtes
majeur » si l’âge entrée est supérieur à 21 ans.

Exemple 3 : écrire le programme C qui prend en entrée un nombre puis affiche le message « ce
nombre est positif » si ce nombre est supérieur à 0.

• Structure complète
Syntaxe : if (condition) {
bloc instructions 1
} else
{
bloc instructions 2
}
Exemple 1 : écrire le programme C qui étudie la parité d’un nombre saisi par l’utilisateur.

Exemple 2 : écrire le programme C qui vous demande d’entrée une note et vous dit si vous avez réussi
ou pas, sachant que l’on réussit si la note est supérieure ou égale à 10.

Exemple 3 : écrire le programme qui vérifie le signe d’un nombre.


2. Les structures itératives
Les structures itératives répètent l’exécution de traitement(s). Deux cas sont cependant
à envisager, selon que :
- Le nombre de répétitions est connu à l’avance, dans ce cas on utilise la boucle for.
- Le nombre de répétitions n’est pas connu, dans ce cas on utilise la boucle while.
• Boucle for
Sa syntaxe est : for (initialisation ; condition ; incrémentation) {
Bloc instructions ;
}
Exemple 1: écrire un programme C qui affiche les 10 premiers nombres.

Exemple 2 : écrire un programme qui calcule la somme des 5 premiers nombres.

Exemple 3 : écrire le programme C qui calcule la table de multiplication d’un nombre saisi.
• Boucle while
Parfois, pour réaliser une tâche, on doit effectuer plusieurs fois les mêmes instructions,
sans que le nombre de fois soit déterminé à l’avance. Dans ce cas l’on utilise la boucle while.
Dans cette structure, le même traitement est effectué tant qu’une condition reste valide ; la
boucle s’arrête quand celle-ci n’est plus remplie. Sa syntaxe est :
while (condition vraie) {
Bloc instructions ;
}
Exemple 1 : écrire un programme C qui affiche les 20 premiers nombres en utilisant la boucle
while.

Exemple 2 : écrire un programme qui vérifie que le nombre saisi est 5.


Exemple 3 : écrire le programme qui calcule la table de multiplication de 5 en utilisant la
boucle while.

Conclusion
Cette leçon nous a permis d’utiliser les structures alternatives et itératives en
programmation C, grâce à ceux-ci l’on peut désormais écrire les programmes plus complexes
en C
Exercice de consolidation
Ecrire un programme C qui lit un nombre n et affiche n fois à l’écran le message « bienvenu
en Première ».
-