0% ont trouvé ce document utile (0 vote)
21 vues60 pages

Introduction à l'Algorithmique 2025-2026

Utile

Transféré par

anielkouadio68
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
21 vues60 pages

Introduction à l'Algorithmique 2025-2026

Utile

Transféré par

anielkouadio68
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Yezaba©

Année Académique: 2025-2026

TC et PREPA Techno 1

INFORMATIQUE

Algorithmique

Chargé du cours : YEO Zana


Courriel: [Link]@[Link]
Yezaba
©

2
PREREQUIS

o Raisonnement logique ;

o Connaitre la logique mathématique serait un avantage


considérable.
Yezaba
©

3
OBJECTIFS GÉNÉRAUX DU COURS

❑ Être capable d’Ecrire un algorithme pour résoudre un


problème connu;

❑ Être capable de Comprendre un algorithme déjà écrit.


Yezaba
©

4
PROGRESSION

1. Introduction à l’Algorithmique
CM
2. Les Tests ou Structures Conditionnelles (Alternatives)
TD ch1 + CM
3. Les Boucles ou Structures Itératives (Répétitives)
TD ch2 + CM
Yezaba

Chapitre 1 :
©
Introduction à Algorithmique 5
1. Concepts de Base de l’Algorithmique
1.1. Algorithme et Algorithmique
1.2. Programme et Programmation
1.3. Langage de Programmation

2. Les Etapes vers la Programmation


2.1. Analyse
2.2. Ecriture de l'algorithme
2.3. Ecriture du programme

3. Variables et Instructions de Base


3.1. Notion de Variable
3.2. Instruction / Bloc d’instructions
3.3. L’affectation de variables
3.4. Expressions et Opérateurs
3.5. La lecture et l’écriture
Yezaba
Introduction à ©

Algorithmique Introduction 6
Yezaba
Introduction à ©

Algorithmique Introduction 7
L’Homme sait résoudre un certain nombre de problèmes complexes en suivant
des procédés logiques.
Cependant l’arrivée des ordinateurs et de l’informatique a révolutionné la façon
de travailler de l’Homme.

En effet les ordinateurs, une fois guidés dans la résolution d’un problème, aussi
complexe soit-il, arrivent à le résoudre désormais en des temps records, là où
l’Homme prendrait plus de temps.

Il devient donc indispensable de s’approprier un tel outils, de savoir lui


communiquer nos taches.
La communication avec l’ordinateur suppose la connaissance d’un code, aussi
bien compris par l’Homme que par l’ordinateur.

Il faut savoir également résoudre un problème réel en le rendant logique du


point de vu de l’ordinateur.
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 8

Un Algorithme est une suite finie d’instructions élémentaires, constituant un schéma de calcul ou
de résolution d’un problème.
Il s’exprime dans un pseudo langage appelé Langage de Description Algorithmique (LDA), à la
fois proche du langage courant, et des langages de programmation.

Par conséquent l'Algorithmique est le domaine d'étude des algorithmes, qui prend en compte
leur conception, leur compréhension et leur optimisation.

Un algorithme peut se comparer à une recette de cuisine.

▪ Le résultat est comme le plat à cuisiner.

▪ Les données sont l’analogue des ingrédients de la recette.

▪ Les règles (instructions) de transformations se comparent aux


directives ou instructions de la recette
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 9

Exemples pratiques d'algorithmes:


▪ Procédure pour une recette de cuisine
▪ Procédure de résolution d'un rubik's cube
▪ Procédure pour donner une valeur approximative de la racine carré d’un nombre
▪ Etc.
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 10


Exemple détaillé : recette de cuisine

Un algorithme peut se comparer à une recette de cuisine.

Le résultat c’est comme le plat à cuisiner.


Les données sont l’analogues des ingrédients de la recette.
Les règles (les instructions) de transformations se comparent aux directives ou instructions de la recette

Comment faire une omelette ?

⇒ Préciser la liste des ingrédients et le processus


détaillé de la cuisson
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 11


Exemple détaillé : résolution d'un rubik's cube

Etape 1: Construction de la croix sur la face du haut


Etape 2: Construction de la première couronne (face du haut)
Etape 3 : Construction de la deuxième couronne
Etape 4: La croix sur la dernière face
Etape 5: Placer les arêtes
Etape 6 : Placer les coins
Etape 7: Orienter les coins

[Link]
[Link]
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 12


Exemple détaillé : valeur approximative de la racine carrée de X

Pour trouver une valeur approximative de √x


o Prendre une approximation initiale arbitraire G
o Améliorer cette approximation en calculant la moyenne arithmétique entre G et x/G
o Continuer jusqu'à atteindre la précision souhaitée.
Pour x=2
G = 1, X/G = 2, G = ½ (1+ 2) = 3/2 = 1.5
X/G = 4/3 G = ½ (3/2 + 4/3) = 17/12 = 1.416666
X/G = 24/17 G = ½ (17/12 + 24/17) = 577/408 = 1.4142156

Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.1. Algorithme et Algorithmique 13

L’objectif principal de l’algorithmique est de :

❑ Permettre au programmeur de s’affranchir des particularités et des contraintes


propres à un langage de programmation donné

❑ Ceci va permettre dans un premier temps, de se concentrer d’abord sur la


résolution du problème, avant de penser au spécificités des langages de
programmation.

❑ Puis dans un second temps, d’avoir par la suite des programmes bien écrits. Un
programme bien écrit, est un programme facile à lire, à comprendre, à modifier
et à corriger, surtout pour une personne étrangère à sa conception.
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.2. Programme et Programmation 14

Un Programme correspond à la description d’une méthode de résolution pour un


problème donné.

Cette description est effectuée par une suite d’instructions d’un langage de
programmation, à la différence d'un algorithme qui est écrit dans un pseudo-
langage(LDA), compris uniquement par l'homme.

Ces instructions permettent de traiter et de transformer les données (entrées) du


problème à résoudre pour aboutir à des résultats (sorties).

Un programme n’est pas une solution en soi mais une méthode à suivre pour trouver
les solutions.

La Programmation est par conséquent, l’ensemble des activités orientées vers la


conception, la réalisation, le test et la maintenance de programmes.
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.3. Langage de Programmation 15


Un Langage de Programmation On peut classer les langages de programmation selon plusieurs critères
ou Langage Informatique est un (niveau, paradigme, génération). Selon le paradigme de programmation
code de communication, (manière de concevoir et structurer le code)
permettant à un être humain de 1. Langages impératifs / procéduraux
dialoguer avec une machine (un On décrit comment exécuter les instructions étape par étape.
ordinateur) en lui soumettant des Exemples : Fortran, Cobol, C, Pascal.
instructions et en analysant les 2. Langages orientés objet (POO)
données matérielles fournies par Organisation autour des objets (attributs + méthodes).
le système. Favorise la modularité et la réutilisation.
Exemples : Java, C++, Python, C#.
3. Langages fonctionnels
Le langage informatique est
Basés sur les fonctions mathématiques, évitent les variables globales et les
l’intermédiaire entre le
effets de bord.
programmeur et la machine. Exemples : Ocaml, Lisp, Haskell, Scala, Elixir.
4. Langages logiques
Il permet d’écrire des programmes Basés sur la logique formelle et les règles.
(suite consécutive d’instructions) Exemples : Prolog, Mercury.
destinés à effectuer une tache 5. Langages déclaratifs
donnée. On décrit ce que l’on veut obtenir, sans détailler comment.
Exemples : SQL (bases de données), HTML (structure web).
Yezaba
Introduction à 1. Concepts de Base de l’Algorithmique ©

Algorithmique 1.3. Langage de Programmation 16


Remarques :

❑ Un programme est un algorithme, mais un algorithme n'est pas un programme.


En effet un programme est un algorithme écrit dans un langage de programmation spécifique.

❑ Un langage de programmation est un langage compris par l'ordinateur.

❑ La rédaction d’un algorithme est un exercice de réflexion qui se fait sur papier.

❑ L'algorithme est indépendant du langage de programmation.


Par exemple, on utilisera le même algorithme pour une implantation en Java, en C++ ou en Visual Basic

Un programme informatique permet à l’ordinateur de résoudre un problème.


Cependant, bien avant de communiquer à l’ordinateur comment résoudre ce problème, Il faut
en premier lieu pouvoir le résoudre nous-même.
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 17

L’étape préalable qui permettra d’aboutir à l’écriture d’un programme est l’écriture d’un algorithme,
qui lui-même est précédé d’une analyse.

Problème Analyse Algorithme Programme Solution


Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.1. L’Analyse 18

L’analyse est la phase de réflexion, qui permet d’identifier les caractéristiques du problème
à traiter puis de découper ce problème en successions de taches simples et distinctes.
Elle consiste à :

❑ Identifier les données sur lesquelles portent le problème

❑ Classer ses données en données d’entrée(DE) et en données de sortie(DS) ou résultat

❑ Recherche d’une méthode de résolution du problème :


Il s’agit de faire ressortir les opérations et les enchainements d’actions élémentaires pour
permettre d’aboutir aux résultats attendus, à partir des données dont on dispose.
Les étapes de résolution découvertes ne sont pas forcément dans l’ordre ; elles le seront
pendant la phase d’écriture de l’algorithme.
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.1. L’Analyse 19

Données d'Entrée(DE) • Moyens de départ

Démarche • Procédé ou méthode de resolution

Données de Sortie(DS) • Objectif final


Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.1. L’Analyse 20


Exemple : 2 + + = 0 Remarque :
DE : a, b, c
DS : 1 et 2 (les solutions) la recherche d’une méthode de résolution
Données intermédiaires (découvertes pendants l’analyse) : Δ consiste généralement à :
Démarche:
1er cas : a = 0 équation de degré 1 qui est + =0 ❑ Dégager l’idée générale (idée de base)
qui sert de fondement à la démarche ;
b = 0, alors elle peut être trouvée en appliquant le
c=0 solution = R
problème à un petit exemple.
c≠0 Impossible (Pas de solution)
b≠0 une solution égale à − / Dans l’exemple précèdent l’idée de base est
de faire une étude de cas suivant les valeurs
2e cas : a ≠ 0 équation de degré 2 de a, b et c.
Calcul de Delta(Δ) : ∆ = 2 − 4
Δ = 0 on a une solution double : − /2 ❑ Exploiter l’idée de base pour résoudre le
problème.
Δ<0 Pas de solution dans R
− − ∆ − + ∆
Δ>0 2 solutions distinctes :
2 2
𝑎
𝑎
𝑒
𝑡
𝑏
𝑏
𝑏
𝑎
𝑐
𝑎
𝑥
𝑥
𝑥
𝑏
𝑥
𝑐
𝑏
𝑥
𝒄
𝑏
𝒃
𝑎
𝑐
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.1. L’Analyse 21

REMARQUE :

Il n’existe pas de méthode


Exemple : Multiplication par addition On veut miracle pour découvrir un
faire la multiplication de 2 nombres x*y, mais on algorithme concernant un
ne dispose que de l’addition (+). problème non encore résolu.
Faire l’analyse de l’algorithme qui permet de
faire ce produit. La découverte d’un algorithme
est donc un acte créatif, faisant
appel à l’intuition, la réflexion
et surtout à l’expérience.
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.2. Ecriture de l’Algorithme 22


Si l’analyse est bien faite, cette étape consiste simplement à ordonner les actions dégagées
précédemment en respectant la syntaxe et le vocabulaire du LDA.

L’algorithme pourrait donc se présenter sous la forme suivante :

ALGORITHME Exemple
/* la partie des déclarations */
CONSTANTE // Les constantes nécessitent une valeur des leur
// déclaration
CSTE1=20:ENTIER;
CSTE2=“Bonjour”:CHAINE;
VARIABLE
var1, var2:REEL;
var3:CHAINE;
DEBUT // Corps de l’algorithme
/* les instructions ici */
FIN
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.2. Ecriture de l’Algorithme 23

Remarques :

❑ Les doubles slash (//) précèdent les commentaires sur une seule ligne, tandis que les textes
encadrés par /* et */ sont pour les commentaires sur plusieurs lignes.

❑ Un commentaire est un texte ajouté a un algorithme/programme servant à le décrire,


facilitant ainsi sa compréhension par les humains. Il est donc séparé reconnaissable grâce à
une syntaxe particulière, ce qui fait qu'en général, le commentaire est ignoré par
l’ordinateur lors de l’exécution du programme.
Yezaba
Introduction à 2. Les Etapes vers la Programmation ©

Algorithmique 2.3. Ecriture du Programme 24

Il s’agira d’une réécriture de l’algorithme défini dans le LDA, dans un langage cible de
programmation (C, JAVA, PHP, etc.).

C’est la phase la plus facile, dans la mesure où il s’agit de remplacer simplement les
mots clés et les structures du LDA, par leurs équivalents, dans le langage cible.
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.1. Notion de Variable 25


Pour effectuer son travail, un algorithme a besoin de mémoriser des informations, par
exemple les valeurs de a, b et c pour la résolution d’une équation du type ax2+bx+c = 0.

Pour cela, il utilise des variables ou dans d’autres cas des structures de données.
Une Variable est un moyen de stocker et d’organiser des données pour faciliter leur
utilisation et leur modification.
Elle est matérialisée dans l’ordinateur par la réservation d’un espace mémoire.

Dans un algorithme, elle est représentée par un objet qui est parfaitement défini par la
connaissance de trois caractéristiques essentielles :

❑ Son nom (identificateur)

❑ Son type

❑ Sa valeur
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.1. Notion de Variable 26


Identification d'un objet

Il est représenté par une suite quelconque de caractères alphanumériques, sans


interruption, commençant obligatoirement par une lettre, y compris Under score (_).

Il est recommandé de choisir un identificateur expressif, significatif, c.à.d. en rapport


avec la nature de l’objet.

Conseil : pour la lisibilité du code choisir des noms significatifs qui décrivent les
données manipulées exemples : noteEtudiant, prixTTC, prixHT
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.1. Notion de Variable 27


Identification d'un objet
Le type d’un objet est l’ensemble des valeurs possibles qu’il peut prendre : c’est l’ensemble
de définition.
Un objet peut être une constante (sa valeur est fixe) ou une variable.

ENTIER

Scalaire CARACTERE
(simple) BOOLEEN Remarque :
REEL
Dans cette partie du cours,
Types nous nous limitons aux types
TABLEAU simples.

ENREGISTREMENT
Structurés
FICHIER

LISTE CHAINEE
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.1. Notion de Variable 28


Déclaration d'une variable / constante

<VARIABLE> liste identificateurs: <TYPE>;


//identificateurs separés par des virgules, lorsqu’il y en a plusieurs

Exemple:

VARIABLE i, j, k: ENTIER;
x, y: REEL;
ok: BOOLEEN;
ch1, ch2: CHAINE;

Remarque :

Une variable est l'association d'un nom avec un type, permettant de mémoriser
une valeur de ce type.
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.1. Notion de Variable 29


Déclaration d'une variable / constante
Une constante est une structure de données simple dont la valeur ne change pas au cours de
l'exécution du programme, elle peut être un nombre, un caractère, ou une chaine de caractères.
En pseudocode, on notera comme suit :

<CONSTANTE> IDENTIFICATEUR = valeur: <TYPE>;

❑ Par convention, les noms de constantes sont en majuscules.


❑ Une constante doit toujours recevoir une valeur dès sa déclaration.

Exemple : pour calculer la surface d’un cercle, la valeur de pi est une constante mais
le rayon est une variable.

CONSTANTE PI=3.14: REEL;


MAXI=32: ENTIER;
SALUT=“Bonjour”: CHAINE;
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.2. Instruction / Bloc d’instructions 30


Une instruction est un ensemble de caractères permettant au programmeur de déterminer une action à
mener par son algorithme.

Cette action peut être l’affectation d’une valeur à une variable, l’exécution d’une fonction(sous
programme/algorithme), l’écriture d’une condition, l’entrée dans une itération ou encore bien autre chose.

Une séquence a pour rôle de séparer deux actions. Dans le LDA, on l’exprime par le « ; »

Un bloc d’actions est une suite d’instructions élémentaires formant un tout cohérant et traité comme une
instruction unique. Dans le LDA, un bloc est délimité par DEBUT et FIN (voir l’encadré suivant).

DEBUT Remarque :
instruction 1;
… En utilisant le séparateur d’instruction (action), plusieurs actions peuvent
instruction n; être écrites sur la même ligne, mais pour une question de lisibilité, il est
FIN préférable d’avoir une action par ligne.
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.3. L’affectation de variable 31


L’affectation/assignation consiste à attribuer une valeur à une variable
(c’est-à-dire remplir ou modifier le contenu d'une zone mémoire).
En LDA, l'affectation est notée par le signe ←

var ← e;// attribue la valeur e à la variable var

❑ e peut être une valeur, une autre Exemple


variable ou une expression
VARIABLE i, j, k: ENTIER;
x, y: REEL;
❑ var et e doivent être de même
ok: BOOLEEN;
type ou de types compatibles
ch1, ch2: CHAINE;
DEBUT
❑ L’affectation ne modifie que ce qui i←10.3;
i←1; j←i;
est à gauche de la flèche ok←’MPSI’;
k←i+j; ok←FAUX;
j←x;
x←10.3; x←j;
ch1←’IC1’; ch2←ch1;
FIN
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.3. L’affectation de variable 32

Remarques

❑ Les langages de programmation C, C++, Java, … utilisent le signe égal (=) pour l’affectation ←

❑ Lors d’une affectation, l’expression de droite est évaluée et la valeur trouvée est affectée à la
variable de gauche. Ainsi, A←B est différente de B←A

❑ L’affectation est différente d'une équation mathématique :


❖ Les opérations x ← x+1 et x ← x-1 ont un sens en programmation et se nomment
respectivement incrémentation et décrémentation, ce sont des affectation particulières.
❖A+1 ← 3 n'est pas possible en langages de programmation et n'est pas équivalente à A ← 2

❑ Certains langages donnent des valeurs par défaut aux variables déclarées. Pour éviter tout
problème il est préférable d'initialiser les variables déclarées.
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.4. Expressions et Opérateurs 33


Une expression peut être une valeur, une variable ou une opération constituée de
variables reliées par des opérateurs.

Exemples : 1; b; a*2; a+3*b-c;

L'évaluation de l'expression fournit une valeur unique qui est le résultat de l'opération.
Les opérateurs dépendent du type de l'opération, ils peuvent être :
❑ Des opérateurs arithmétiques : +, -, *, /, % (modulo), ^(puissance)
❑ Des opérateurs logiques : NON(!), OU (| |), ET (&&)
❑ Des opérateurs relationnels : =, <=, >=
❑ Des opérateurs sur les chaînes : & (concaténation).

Une expression est évaluée de gauche à droite mais en tenant compte des priorités des
opérateurs.
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.4. Expressions et Opérateurs 34


Opérateurs Booléens :
Remarques :
Associativité des opérateurs ET et OU
❑ On ne peut pas additionner un entier et un caractère. a ET (b ET c) = (a ET b) ET c,
Toutefois dans certains langages on peut utiliser un a OU (b OU c) = (a OU b) OU c
opérateur avec deux opérandes de types différents, Commutativité des opérateurs ET et OU
c’est par exemple le cas avec les types arithmétiques a ET b = b ET a,
(4 + 5.5) a OU b = b OU a
Distributivité des opérateurs ET et OU
❑ La signification d’un opérateur peut changer en a OU (b ET c) = (a OU b) ET (a OU c),
fonction du type des opérandes. L’opérateur + avec a ET (b OU c) = (a ET b) OU (a ET c)
des entiers effectue l’addition, 3+6 vaut 9, avec des Involution (homographie réciproque) :
chaînes de caractères il effectue la concaténation NON NON a = a
"bonjour" + " tout le monde" vaut "bonjour tout le Loi de Morgan :
monde"* NON (a OU b) = (NON a) ET (NON b),
NON (a ET b) = (NON a) OU (NON b)
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.5. La lecture et l’écriture 35


Les instructions de lecture et d'écriture permettent à la machine de communiquer avec l'utilisateur.

La lecture permet d'entrer des donnés à partir du clavier.


En LDA, on note : LIRE(var);
la machine met la valeur entrée au clavier dans la zone mémoire nommée (variable) var.

Remarque : Le programme s'arrête lorsqu'il rencontre une instruction LIRE() et ne se poursuit qu'après la
saisie de l’entrée attendue par le clavier et de la touche Entrée (cette touche signale la fin de l’entrée).

Conseil : Avant de lire une variable, il est fortement conseillé d’écrire des messages à l’écran, afin de
prévenir l’utilisateur de ce qu’il doit saisir.

L'écriture permet d'afficher des résultats à l'écran (ou de les écrire dans un fichier).
En LDA, on note : ECRIRE (liste d’expressions);
la machine affiche les valeurs des expressions décrite dans la liste.
Ces instructions peuvent être des variables ayant des valeurs, des nombres ou des commentaires sous forme
de chaines de caractères.
Exemple : ECRIRE (a, b+2, "Message");
Yezaba
Introduction à 3. Variables et Instructions de Base ©

Algorithmique 3.6. Exemples 36


Exercice 1 : Quelles seront les valeurs des variables a, Exercice 2 : Écrire un algorithme qui demande
b, c et d après exécution de l’algorithme ci-dessous. un nombre entier à l'utilisateur, puis qui calcule
et affiche le carré de ce nombre.
ALGORITHME Variables
VARIABLE Exercice 3 : Écrire un algorithme qui permet
a, b, c, d: ENTIER; d’effectuer la saisie d’un nom, d’un prénom et
DEBUT // Corps de l’algorithme affiche ensuite le nom complet.
//c←7;
c←4; Exercice 4 : Écrire un algorithme qui calcule la
b←c+2; surface et le volume d’une sphère dont le rayon
c←c+1;
/* a←4; */ est introduit par l’utilisateur.
FIN
Exercice 5 : Écrire un algorithme qui demande
à l’utilisateur de saisir deux nombres entiers et
Exercice 7 : Écrire un algorithme qui demande les de échanger le contenu des 2 variables.
coordonnées de deux points A(xa, ya) et B(xb, yb)
(d’abscisses différentes) et calcule le coefficient Exercice 6 : Écrire un algorithme qui permet de
directeur de la droite (AB), la longueur du segment saisir 3 nombres et d’afficher leur somme, leur
[AB] et les coordonnées du milieu de [AB], C (xc, yc). produit et leur moyenne arithmétique.
Yezaba

Chapitre 2 :
©
Les Structures Conditionnelles / Alternatives 37

1. Le principe
1.1. Conditions
1.2. Instructions Conditionnelles

2. La structure conditionnelle minimale


3. La structure conditionnelle à plus de 2 options
4. Les tests imbriqués
Yezaba
Les Structures Conditionnelles 1. Le Principe ©

/ Alternatives 1.1. Conditions 38

Une condition est une expression écrite entre parenthèse à valeur booléenne.

Une condition composée est une condition formée de plusieurs conditions


simples reliées par des opérateurs logiques : ET, OU et NON

Exemples :

❑ x compris entre 2 et 6 : (x >= 2) ET (x < =6)

❑ n divisible par 3 ou par 2 : (n%3=0) OU (n%2=0)


Yezaba
Les Structures Conditionnelles 1. Le Principe ©

/ Alternatives 1.2. Instructions Conditionnelles (tests) 39

La structure alternative utilise toujours


une condition.

Les instructions conditionnelles servent


à n'exécuter une instruction ou un bloc
d'instructions que si une condition est
vérifiée.

Si le test de la condition donne vraie,


alors la suite d’instructions 1 s’exécute,
dans le cas contraire c’est la suite
d’instructions 2 qui s’exécute.
Yezaba
Les Structures Conditionnelles 2. Structure Conditionnelle Minimale
©

/ Alternatives 40
La syntaxe en LDA est la suivante :
SI(condition)ALORS
instruction;//une seule instruction
SI(condition)ALORS
SI(condition)ALORS DEBUT
instruction1;//une seule instruction instructionSi 1;
SINON …
instruction2;//une seule instruction instructionSi n;
FIN
SINON
SI(condition)ALORS DEBUT
//syntaxe pour plus d’une instruction instructionSinon 1;
DEBUT …
instructionSi 1; instructionSinon n;
… FIN
instructionSi n;
FIN
Yezaba
Les Structures Conditionnelles 2. Structure Conditionnelle Minimale
©

/ Alternatives 41

Une syntaxe alternative et courante est la suivante :

SI(condition)ALORS
instructionSi 1;
SI(condition)ALORS …
//syntaxe avec finsi instructionSi n;
instructionSi 1; Ou dans le cas SINON
… avec un sinon instructionSinon 1;
instructionSi n; …
FINSI instructionSinon m;
FINSI
Yezaba
Les Structures Conditionnelles 2. Structure Conditionnelle Minimale
©

/ Alternatives 42
Remarques :

❑ La condition ne peut être que vraie ou fausse


❑ Si la condition est vraie alors seules les instructions1 sont exécutées, si la
condition est fausse seules les instructions2 sont exécutées
❑ La condition peut être une expression booléenne simple ou une suite
composée d’expressions booléennes

Exercice 1 : Écrire un algorithme qui demande un nombre entier à l'utilisateur, puis


qui teste et affiche s'il est divisible par 7 ou non

Exercice 2 : Écrire un algorithme qui demande un nombre réel puis affiche sa valeur
absolue.
1- Utilisez SI… ALORS… SINON,
2- puis SI… ALORS
Yezaba
Les Structures Conditionnelles 3. Structure Conditionnelle à plus de 2 options
©

/ Alternatives 43
La syntaxe en LDA est la suivante :
SI(condition1)ALORS
instruction1; //ou suite d’instructions
SINON SI(condition2)ALORS
instruction2; //ou suite d’instructions
...
SINON
instruction3; //ou suite d’instructions

Remarque: Dans certains langages de programmation, une variante SELONQUE var VAUT
de la structure alternative est le choix multiple ou SELONQUE. DEBUT
Il permet une représentation plus claire et plus concise d’un valeur1:Action 1;
ensembles d’alternatives portant sur différentes valeurs d’une même valeur2:Action 2;
variable ou expression. …………
Elle utilise donc une variable/expression de référence dont la valeur valeurN:Action N;
est comparée à une liste de valeurs. defaut:Action d;
FIN
Sa syntaxe en LDA se trouve ci-contre :
Yezaba
Les Structures Conditionnelles 3. Structure Conditionnelle à plus de 2 options
©

/ Alternatives 44

Exercice 3 : Écrire un algorithme qui demande un nombre réel puis affiche s’il est négatif,
positif ou nul.

Exercice 4 : Le prix de disques compacts (CD) dans un espace de vente varie selon le nombre
à acheter :
• 300 FCFA l’unité, si le nombre de CD à acheter est inférieur à 10,
• 250 FCFA l’unité, si le nombre de CD à acheter est compris entre 10 et 20,
• 200 FCFA l’unité, si le nombre de CD à acheter est au-delà de 20.
Écrivez un algorithme qui demande à l’utilisateur le nombre de CD à acheter, puis qui calcule
et affiche le prix à payer.

Remarques :

❑ Un SINON se rapporte toujours au dernier SI qui n’a pas encore de SINON associé
❑ Il est recommandé de structurer le bloc associé à SI et celui associé à SINON
Yezaba
Les Structures Conditionnelles 4. Les tests imbriqués
©

/ Alternatives 45
Les tests peuvent avoir un degré quelconque d'imbrications.
La syntaxe en LDA est la suivante :

SI(condition1)ALORS
SI(condition2)ALORS
instruction1; //ou suite d’instructions
SINON
instruction2; //ou suite d’instructions
SINON
SI(condition3)ALORS
Instruction3; //ou suite d’instructions
Yezaba
Les Structures Conditionnelles 4. Les tests imbriqués
©

/ Alternatives 46

Exercice 5 : Écrire un algorithme qui permet de Lire deux variables réelles a et b et un opérateur
simple : +, -, *, / et Ecrire le résultat.

Exercice 6 : Ecrire un algorithme qui demande 2 nombres à l’utilisateur, puis l’informe si leur
produit est négatif, positif ou nul.

Exercice 7 : Ecrire un algorithme qui analyse si un candidat est admissible au concours de la


Gendarmerie Nationale de Côte d’Ivoire. Un candidat doit satisfaire les conditions suivantes
(règles couramment appliquées) :
o Âge : être âgé de 18 à 25 ans inclus.
o Sexe : Masculin ou Féminin.
o Taille minimale : au moins 1,68 m pour les hommes, et au moins 1,65 m pour les femmes
Yezaba

Chapitre 3 :
©
Les Boucles ou Structures Itératives 47

1. Introduction

2. La boucle POUR

3. La boucle TANTQUE

4. La boucle REPETER ... JUSQUA

5. Choix d'une boucle


Yezaba
Les Boucles ou 1. Introduction
©

Structures Itératives 48

Les boucles servent à répéter l'exécution d'un groupe d'instructions un certain


nombre de fois. On distingue trois sortes de boucles :

❑ La boucle POUR ou avec compteur : on y répète des instructions en faisant


évoluer un compteur (variable particulière) entre une valeur initiale et une
valeur finale.

❑ La boucle TANTQUE : on y répète des instructions tant qu'une certaine


condition est réalisée

❑ La boucle JUSQUA : on y répète des instructions jusqu'à ce qu'une


certaine condition soit réalisée
Yezaba
Les Boucles ou 2. La boucle POUR
©

Structures Itératives 49
Sa syntaxe en LDA POUR compteur ← valInit A valFin, PAS DE valPas
est la suivante : instruction 1;// ou bloc d’instructions

Remarques :

❑ Le nombre d'itérations dans une boucle Pour est connu avant le début de la boucle

❑ Le compteur est une variable de type entier (ou caractère). Elle doit être déclarée.

❑ Le pas est un entier qui peut être positif ou négatif. Le pas peut ne pas être mentionné, car par
défaut sa valeur est égal à 1. Dans ce cas, le nombre d'itérations est égal à ( valFin – valInit + 1)

❑ valInit et valFin peuvent être des valeurs, des variables définies avant le début de la boucle ou
des expressions de même type que compteur
Yezaba
Les Boucles ou 2. La boucle POUR
©

Structures Itératives 50
Déroulement d’une boucle POUR :

1) valInit est affectée à la variable compteur


2) On compare la valeur du compteur et valFin :
a) Si la valeur du compteur est > à valFin dans le cas d’un
pas positif (ou si compteur est < à valFin pour un pas
négatif), on sort de la boucle et on continue avec
l'instruction qui suit la boucle POUR
b) Si compteur est <= à valFin dans le cas d'un pas positif
(ou si compteur est >= à valFin pour un pas négatif),
les instructions seront exécutées
i. Ensuite, la valeur du compteur est incrémentée de
la valeur du pas si pas est positif (ou
décrémenté si pas est négatif)
ii. On recommence l'étape 2 : La comparaison entre
compteur et valFin est de nouveau effectuée, et
ainsi de suite …
Yezaba
Les Boucles ou 2. La boucle POUR
©

Structures Itératives 51
Remarques:

❑ Il faut éviter de modifier la valeur du compteur (et de valFin ) à l'intérieur de la


boucle. En effet, une telle action perturbe le nombre d'itérations prévu par la
boucle POUR, rend difficile la lecture de l'algorithme et présente le risque
d'aboutir à une boucle infinie.

❑ Les instructions d'une boucle peuvent être des instructions itératives. Dans ce cas,
on aboutit à des boucles imbriquées.

Exercice 1 : Ecrire un algorithme qui permet d’afficher n fois le message « J’apprendrai


désormais mes leçons ».

Exercice 2 : Ecrire un algorithme qui fait le calcul de x à la puissance n où x est un réel


non nul et n un entier positif ou nul.
Yezaba
Les Boucles ou 3. La boucle TANTQUE
©

Structures Itératives 52
Sa syntaxe en LDA est : TANTQUE(condition)FAIRE
instruction 1;// ou bloc d’instructions

La condition (condition de contrôle de la boucle)


est évaluée avant chaque itération.

Si la condition est vraie, on exécute les instructions


(corps de la boucle), puis, on retourne tester la
condition.

Si elle est encore vraie, on répète l'exécution, … Si la


condition est fausse, on sort de la boucle et on exécute
l'instruction qui est après le TANTQUE.

Il est possible que les instructions à répéter ne soient


jamais exécutées.
Yezaba
Les Boucles ou 3. La boucle TANTQUE
©

Structures Itératives 53
Remarques :

❑ Le nombre d'itérations dans une boucle TANTQUE n'est pas connu au moment d'entrée dans
la boucle. Il dépend de l'évolution de la valeur de la condition
❑ Une des instructions du corps de la boucle doit absolument changer la valeur de la condition
de vrai à faux (après un certain nombre d'itérations), sinon le programme va tourner
indéfiniment (boucle infinie).
i←1;
Exemple de boucle infinie : TANTQUE(i>0)FAIRE
i←i+1;// incrémenter i

Exercice 3 : Ecrire un algorithme qui fait le calcul de x à la puissance n où x est un réel


non nul et n un entier positif ou nul.
Exercice 4 : En investissant chaque année 10 000 F CFA à intérêts composés de 7%,
après combien d’années serons-nous millionnaire ?
Yezaba
Les Boucles ou 3. La boucle TANTQUE
©

Structures Itératives 54

Exercice 5 : Ecrire un algorithme qui permet d’afficher un menu à


l’utilisateur, ayant la forme suivante :

Saisir :
1 : pour un ajout
2 : pour une modification
3 : pour une suppression

NB : l’utilisateur doit forcément saisir un nombre dans l’ensemble {1, 2, 3}

Exercice 6 : Ecrire un algorithme qui détermine le premier nombre entier N


tel que la somme de 1 à N dépasse strictement 100.
Yezaba
Les Boucles ou 4. La boucle REPETER…JUSQUA
©

Structures Itératives 55
Sa syntaxe en LDA est : REPETER
instruction 1;// ou bloc d’instructions
JUSQUA(condition)

La condition est évaluée après chaque itération.

Les instructions entre Répéter et jusqu’à sont exécutées


au moins une fois et leur exécution est répétée jusqu’à
ce que la condition soit vraie (tant qu'elle est fausse).
Yezaba
Les Boucles ou 4. La boucle REPETER…JUSQUA
©

Structures Itératives 56
Exercice 7 : Ecrire un algorithme qui permet d’afficher un menu à l’utilisateur,
ayant la forme suivante :

Saisir :
1 : pour un ajout
2 : pour une modification
3 : pour une suppression

NB : l’utilisateur doit forcément saisir un nombre dans l’ensemble {1, 2, 3}

Exercice 8 : Ecrire un algorithme qui détermine le premier nombre entier N tel


que la somme de 1 à N dépasse strictement 100 (avec la boucle REPETER…
JUSQUA).
Exercice 9 : Ecrire un algorithme qui compte le nombre de bits nécessaires pour
coder en binaire un entier n.
Yezaba
Les Boucles ou 5. Choix d’une boucle
©

Structures Itératives 57

« TANTQUE » ou « REPETER… JUSQUA »

❑ La séquence (le bloc) d'instructions est exécutée au moins une fois dans la boucle
REPETER… JUSQUA, alors qu'elle peut ne pas être exécutée dans le cas du
TANTQUE.

❑ La séquence d'instructions est exécutée si la condition est vraie pour TANTQUE et si


la condition est fausse pour REPETER… JUSQUA.

❑ Dans les deux cas, la séquence d'instructions doit nécessairement faire évoluer la
condition, faute de quoi on obtient une boucle infinie.
Yezaba
Les Boucles ou 5. Choix d’une boucle
©

Structures Itératives 58

❑ Si on peut déterminer le nombre d'itérations avant l'exécution de la boucle, il est plus


naturel d'utiliser la boucle POUR.

❑ S'il n'est pas possible de connaître le nombre d'itérations avant l'exécution de la boucle,
on fera appel à l'une des boucles TANTQUE ou REPETER… JUSQUA. Pour le choix entre
TANTQUE et REPETER… JUSQUA :

▪ Si on doit tester la condition de contrôle avant de commencer les instructions de la


boucle, on utilisera TANTQUE

▪ Si la valeur de la condition de contrôle dépend d'une première exécution des


instructions de la boucle, on utilisera REPETER… JUSQUA.
Yezaba
Les Boucles ou 5. Choix d’une boucle
©

Structures Itératives 59
Quelle boucle Voulez vous?

Nombre itération connu? oui POUR

Non

Valeur condition depend


d’une premiere oui REPETER
execution de la boucle?

Non

TANTQUE
Yezaba
Les Boucles ou 6. Exercices
©

Structures Itératives 60
Exercice 10 : Écrire un algorithme permettant de Lire un nombre entier n et de calculer sa
factorielle.

Exercice 11 : Soit la suite numérique suivante : = − + , >0 = .


Écrire un algorithme qui calcul le terme un et la somme Sn. = .
=

Exercice 12 : Soit le problème suivant relatif à une suite de Fibonacci.


= − + −, , , . Ecrire un algorithme qui permet de trouver la valeur
du terme .

Exercice 13 : Écrire un algorithme qui affiche la somme des n premiers entiers naturels,
n’étant un entier saisi au clavier. L’algorithme devra proposer la possibilité à l’utilisateur de
recommencer le calcul pour un autre entier.

Exercice 14 : Ecrire 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.
𝒌
𝟎
𝒏
𝒌
𝑺
𝒖
𝒒
𝒏
𝒏
𝒏
𝟏
𝒏
𝟐
𝟎
𝟎
𝒏
𝟏
𝟏
𝒖
𝒖
𝒖
𝟓
𝒖
𝒖
𝒖
𝟗
𝑠
𝑖
𝑎
𝑛
𝑣
𝑒
𝑐
𝒖
𝑒
𝑡
𝒖
𝒖
𝒒
𝟒
𝑐
𝑜
𝑛
𝑛
𝑢
𝑠
𝒏

Vous aimerez peut-être aussi