0% ont trouvé ce document utile (0 vote)
10 vues108 pages

Introduction à l'Algorithmique

Transféré par

Elhadj Diallo
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
10 vues108 pages

Introduction à l'Algorithmique

Transféré par

Elhadj Diallo
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 PPTX, PDF, TXT ou lisez en ligne sur Scribd

Cours ALGORITHMIQUE

Mr Diallo Amadou Diouldé


Enseignant
Ingénieur Informaticien
 Discipline
 Ponctualité
Exigences
 Assiduité
 Travail régulier

 Explications détaillées
 Résumé du cours
Méthode  brochure
 Participation
 Devoirs de maison
Evaluations
 Contrôle écrit
 Contrôle pratique
INTRODUCTION

1. Définitions
a. informatique
information automatique = traitement automatique de
l’information.
englobe deux aspects
- programme (logiciel/software): décrivant un travail à
réaliser
- machine (matériel/hardware): qui exécute ce travail.
Ensemble d’éléments physiques
µprocesseur, écran, clavier, mémoire, disques durs,…

4
INTRODUCTION

1. Définitions
b. programme
suite d’instructions à exécuter de manière séquentielle par une
machine,
l’écriture d’un programme exige de:
- bien comprendre le problème posé,
- savoir le décomposer
- connaître un langage de programmation
Un programme est destiné à résoudre un problème
Méthode de résolution de problème = algorithme

5
INTRODUCTION

1. Définitions
c. Algorithme
suite ordonnée d’instructions qui indique la démarche à suivre pour
résoudre un problème en appliquant, dans un ordre précis, une
suite finie de règles.
exemple:
Partir du département télécoms de l’UNC pour aller acheter un
sandwich au carrefour contéyah

Solution:

- Sortir du bureau et tourner à droite,


- Descendre les escaliers et sortir de la cours de
l’UNC,
6
INTRODUCTION

- Tourner à droite et continuer jusqu’au carrefour,

- Traverser le carrefour en continuant tout droit

- Juste à la limite du rond-point tourner à gauche et


vous verrez le kiosk juste en face

- Merci.

7
INTRODUCTION

Cette indication du chemin est une suite ordonnée d’instructions


(sortir de la cour, tourner à droit, …),
manipulant des données (carrefour, cours, kiosk, …)
pour réaliser le travail souhaité (arriver au kiosk).

Lorsqu’on écrit un algorithme, celui-ci ne doit contenir que des


instructions compréhensibles par celui qui devra l’exécuter (des
humains dans cet exemple).

8
INTRODUCTION

Dans ce cours nous allons apprendre à écrire des algorithmes qui


devront être compréhensibles, donc exécutables, par les
ordinateurs.
nos algorithmes seront écrits en pseudo-langage de programmation
Appelé langage algorithmique.

9
INTRODUCTION

La démarche à suivre dans la résolution d’un problème en


informatique est la suivante:

Analyse du
Traduction
problème

Problème Algorithme Programme

Recherche des outils


De l’algorithme dans un
de résolution et
langage compréhensible
décomposition en
par la machine
étapes élémentaires

10
INTRODUCTION

Un algorithme est donc un moyen de description des étapes à suivre

pour résoudre un problème informatique. Il doit :


 Contenir un nombre fini d’instructions exécutables par la
machine,
 Ne demande à l’utilisateur que des données connues par celui-ci,
 Proposer les résultats escomptés par l’utilisateur,
 Etre exécutable par une personne utilisant des moyens manuels
(stylo, papier, ….).

11
INTRODUCTION

Remarque :

un algorithme n’est pas exécutable par une machine.

Mais il a l’avantage d’être traduit facilement dans tous les langages

de programmation.

12
INTRODUCTION

1. Définitions
d. Algorithmique
Mot d’origine arabe, hommage à ALKHAWARIZMI (780-850),

auteur d’un ouvrage décrivant des méthodes de calcul algébrique

L’algorithmique est la science des algorithmes.

L’Algorithmique s’intéresse à l’art de construire des algorithmes

et de caractériser leur validité, leur robustesse, leur réutilisabilité,

leur complexité et leur efficacité.

13
INTRODUCTION

1. Définitions
d. Algorithmique

 Validité : capacité à réaliser exactement le travail pour lequel


l’algorithme a été conçu
 Robustesse : capacité d’un algorithme à se protéger des conditions
anormales d’utilisation.
 Réutilisabilité :aptitude d’un algorithme à être réutilisé pour
résoudre des problèmes équivalents à celui pour lequel il a été
conçu
 Complexité : nombre d’instructions élémentaires à exécuter pour
réaliser la tâche pour laquelle un algorithme a été conçu.
 Efficacité : capacité d’un algorithme à utiliser de manière optimale
les ressources du matériel qui l’exécute.

14
INTRODUCTION

2. Programmation
L’algorithme est indépendant du langage de programmation utilisé.

Sa traduction dans un langage de programmation dépend de ce

dernier et sa mise en œuvre dépend de la plateforme d’exécution.

La programmation d’un ordinateur = à lui expliquer en détail

ce qu’il doit faire en sachant qu’il ne comprend que le langage

Machine (0,1)

15
INTRODUCTION

2. Programmation
Un programme = suite d’instructions, encodées en

respectant strictement un ensemble de conventions fixées par le

langage informatique dans lequel ce programme est écrit.

La machine décode ces instructions en associant chaque mot du

langage informatique à une action précise.

Les programmes écrits dans un langage, à l’aide d’un Éditeur =

programmes source ou codes source.

16
INTRODUCTION

3. Objectifs du cours d’algorithmique


parvenir à une bonne analyse d’un problème donné afin de proposer

La meilleure solution possible.

Celle-ci doit être correcte, rapide, précise et moins couteuse en

terme de techniques de programmation.

17
INTRODUCTION

3. Objectifs du cours d’algorithmique


L’analyse ≈ majeure partie du temps alloué à la résolution

Cette analyse permet de :


 Transformer le texte du problème en un ensemble d’étapes
élémentaires (schéma de résolution)
 Revoir les outils élémentaires utilisés pour une éventuelle
optimisation de ce schéma avant sa traduction dans un langage de
programmation.

18
INTRODUCTION

3. Objectifs du cours d’algorithmique


Les erreurs à éviter
 Se précipiter au codage sans analyse préalable
 proposer une solution (même compliquée) utilisant les outils
particuliers du langage de programmation qu’on connaît
 Pour se débarrasser du problème, on cherche une solution qui
marche même si elle a une structure compliquée, illisible, exigeant
un temps d’exécution et un espace mémoire important.

19
INTRODUCTION

4. Environnement d’un algorithme :


Algorithme = ensemble d’étapes = ensemble d’opérations

20
INTRODUCTION

4. Environnement d’un algorithme :


Pour son fonctionnement un algorithme a besoin d’un certain nombre
d’objets. L’ensemble de ces objets = environnement de l’algorithme

Cet environnement est composé :

 D’objets d’entrée (OE)


 D’objets de sortie(OS)
 D’objets constants(OC)
 D’objets intermédiaires(OI)

21
INTRODUCTION
Environnement d’un algorithme

Objets Constants
(OC)

Objets Objets de
d’Entrée ALGORITHME Sortie
(OE) (OS)

Objets Intermédiaires
(OI)

22
INTRODUCTION

Exemples:
1. on souhaite chercher l’environnement de l’algorithme permettant
de calculer la quantité Q donnée par l’expression suivante:

a-b
Q=
2.c+b

2. Algorithme de calcul de la somme de deux nombres réels

23
INTRODUCTION

Conclusion
Un algorithme est constitué d’un:

 Ensemble d’objets appelé environnement de


l’algorithme,
 Ensemble d’actions agissant sur cet
environnement

24
INTRODUCTION

Exercices d’application

1. Ecrire un algorithme qui permet de déterminer le maximum de


deux nombres (x, y).

2. Ecrire un algorithme qui permet de déterminer le maximum de


trois nombres (x, y, z).

3. Ecrire un algorithme qui permet de résoudre une équation du


premier degré (a.x + b = 0)

25
I. LES OUTILS DE BASE

1. Introduction
Les algorithmes que nous traiterons dans ce cours seront
traduits dans un langage de programmation et exécutés par
un ordinateur.

Un ordinateur = machine électronique destinée à recevoir


des données, leurs faire subir des transformations et
restituer les résultats souhaités.

Les éléments nécessaires à l’exécution d’un algorithme


simple sont:

26
I. LES OUTILS DE BASE

1. Introduction

27
I. LES OUTILS DE BASE

1. Introduction
 Les mémoires : on distingue deux types de mémoires
 RAM : Random Access Memory, contient des cases
numérotées destinées à recevoir et à stocker les données.
tant que l’ordinateur est allumé.
 ROM : Read Only Memory : contient les instructions,
écrites par le fabriquant,

28
I. LES OUTILS DE BASE

1. Introduction
 Le microprocesseur : constitué de deux parties
 UCC : Unité de Contrôle et de Commande, coordinateur
des actions de l’ordinateur.
 UAL : Unité Arithmétique et Logique, effectue tous les
calculs algébriques (3+7, 19/6, ….) et logiques (a>b, ..).

29
I. LES OUTILS DE BASE

1. Introduction
 Les périphériques : principalement deux types
 Périphérique d’entrée ou organe d’entrée : permet
d’introduire les données (ou actions).

Exemple : clavier, souris, ….


 Périphérique de sortie ou organe de sortie : permet de
communiquer les résultats obtenus au monde extérieur.
Exemple : écran, imprimante.

30
I. LES OUTILS DE BASE

1. Introduction
RAM = cases numérotées

Numéro de case = adresse de case

Chaque donnée dans une case donc à chaque donnée


correspond un numéro ou une adresse

Remarque:

Si une donnée, 10 par exemple, se trouve à l’adresse numéro


3 de la RAM 10 est à l’adresse 3.

31
I. LES OUTILS DE BASE

1. Introduction
Si on désigne cet emplacement mémoire par son adresse et
que l’on écrive 3 = 16, le programme sera illisible.

D’où la nécessité d’associer aux emplacement mémoires des


noms symboliques sous certaines contraintes.

Exemple: a = 10 au lieu de 3 = 10

32
I. LES OUTILS DE BASE

1. Introduction
Avec a = 10, on sous-entend trois choses
 Le nom symbolique de la case mémoire (a), pour
l’utilisateur,
 L’adresse de la case de mémoire (3) pour l’ordinateur.
 Le contenu de la case mémoire (10) pour l’utilisateur et

l’ordinateur.

33
I. LES OUTILS DE BASE

2. Notion d’objet
Élément constituant l’environnement d’un algorithme dont
les actions(traitements) subies ne concernent que la valeur
de cet élément.

deux types d’objets : les objets constants et les objets


variables.

Chaque objet est spécifié par ses caractéristiques suivantes :


son identificateur, sa valeur et son type.

34
I. LES OUTILS DE BASE
 Identificateur d’un objet

C’est un nom symbolique arbitraire attribué à cet objet.

Il doit être court mais aussi explicite que possible de manière


à exprimer clairement ce que l’objet est censé référencer

exigences
o séquence de lettres (a,, z, A, …, Z) et de chiffres (0, …, 9)
o doit toujours commencer par une lettre

35
I. LES OUTILS DE BASE
 Identificateur d’un objet
o Les lettres accentuées, les cédilles, les espaces, les
caractères spéciaux ($, #, @, …..) sont interdits à

l’exception du caractère _ (souligné).


o sensibilité à la casse (age, Age, AGE)

Convention
o on écrira les noms des variables en minuscule
o On utilisera les majuscules à l’intérieur même du nom
pour en augmenter la lisibilité (agePersonne,
nombreEtudiants, ….)

36
I. LES OUTILS DE BASE
 Identificateur d’un objet
Exemple 1.1 :

temps, aire_rectangle, jour2, b42f3

sont des identificateurs corrects

2jours, aire rectangle, g56/12

Sont des identificateurs incorrects

37
I. LES OUTILS DE BASE
 Identificateur d’un objet

un objet dont la valeur ne varie pas au cours du


traitement d’un algorithme est appelé constante
et pourra être écrite entièrement en majuscule,
par exemple PI (π = 3.14)

38
I. LES OUTILS DE BASE
 Valeur d’un objet

La valeur d’un objet = contenu de cet objet.

Si cette valeur ne peut être modifiée par les


instructions de l’algorithme alors elle est dite
constante.

Si au contraire, cette valeur change au cours de


l’évolution de l’algorithme alors il s’agira d’une
variable.

39
I. LES OUTILS DE BASE

 Type d’un objet


 Le type d’un objet = nature de son contenu.
= l’ensemble des valeurs prises par cet objet.
 permet de savoir les opérations à effectuer sur
cet objet
 il permet de déterminer la taille de
l’emplacement mémoire nécessaire au stockage
de cet objet.

40
I. LES OUTILS DE BASE

 Type d’un objet

trois types d’objets: les booléens, les numériques


et les textes.
 Type Booléen

ensemble à deux états logiques.

Ne peut prendre que la valeur VRAI ou FAUX, 0 ou


1, OUI ou NON, etc…

41
I. LES OUTILS DE BASE

 Type d’un objet

opérateurs usuels: ET, OU et NON.


 Tables de vérité de ces opérateurs logiques

 L’opérateur ET: physiquement matérialisé par


deux interrupteurs montés en série pour allumer
une ampoule L.

42
I. LES OUTILS DE BASE

 Type d’un objet


a b a ET b
0 0 0
0 1 0
1 0 0
1 1 1

L = a ET b

43
I. LES OUTILS DE BASE

 Type d’un objet


 Tables de vérité de ces opérateurs logiques
 L’opérateur OU: physiquement matérialisé par
deux interrupteurs montés en parallèle pour
allumer une ampoule L.

44
I. LES OUTILS DE BASE

 Type d’un objet

a b a OU b
0 0 0
0 1 1
1 0 1
1 1 1

L = a OU b

45
I. LES OUTILS DE BASE

 Type d’un objet


 Tables de vérité de ces opérateurs logiques
 L’opérateur NON: physiquement matérialisé par
un interrupteur normalement fermé au départ
pour allumer une ampoule L.

46
I. LES OUTILS DE BASE

 Type d’un objet

a NON a
0 1
1 0

L = NON a

47
I. LES OUTILS DE BASE

 Type d’un objet


 Type numérique

concerne les objets destinés à recevoir des


nombres

Plus fréquent

composé des entiers relatifs (Z) et des nombres


réels (R).

48
I. LES OUTILS DE BASE
 Type numérique

Les opérations les plus courantes:


Opérations Signification Exemple

+ Addition R=a+b
- Soustraction R=a-b
* Multiplication R=a*b
/ Division R=a/b si b≠0
^ Elévation de puissance y=x^n
DIV Division entière 7 DIV 2 = 3
MOD Reste de la division entière 13 MOD 2 = 1

ENT Partie entière d’un réel ENT(15.36) = 15

49
I. LES OUTILS DE BASE

 Type texte

Caractère, chaîne ou alphanumérique

stocke des caractères.


constitué de:
 lettres (a….z, A….Z)
 chiffres (0….9)
 L’espace
 opérateurs arithmétiques +, -, *, /, …
 caractères spéciaux &, #, @, {, ],\,|, §, £,

50
I. LES OUTILS DE BASE

 Type texte

noté entre guillemets pour éviter la confusion


entre des nombres et des suites de chiffres.

Il existe 256 caractères.

Chaque caractère est lié à un code numérique (un


nombre).

Ce code permet:
 De représenter le caractère à l’intérieur de la
machine
51
I. LES OUTILS DE BASE

 Type texte
 D’établir une relation d’ordre entre les caractères
Exemples :
 Chaînes de caractères :

‘’bonjour tout le monde’’, ‘’haf*k32 ’’, ‘’ algo’’


 Relation d’ordre :

‘’t’’ > ‘’T’’, le code numérique lié à ‘’t’’est supérieur

à celui lié à ’’ T’’


‘’A’’ < ‘’C’’
‘’2006’’ > ‘’2003’’
‘’2007’’ < ‘’82’’
52
I. LES OUTILS DE BASE

 Type texte

Principale opération: concaténation notée //

Exemple :

‘’Bonjour ’’ // ‘’tout le monde’’ donnera


‘’Bonjour tout le monde’’.

53
I. LES OUTILS DE BASE

 Opérations de relations
S’effectuent entre deux objets de même nature
Opération Symbole

Strictement inférieur à <

Strictement supérieur à >

Inférieur ou égal à <=

Supérieur ou égal à >=

Egal à =

Différent <>

54
I. LES OUTILS DE BASE

 Opérations de relations

Exemple :

Soit X, Y: deux nombres entiers

La valeur de X est 40, celle de Y est de 35

Les expressions suivantes donnent un résultat vrai :

(Y<X), (X>=Y), (X<>Y)

Les expressions suivantes donnent un résultat faux :

(X=Y), (X<Y)

Par convention, pour les valeurs de type booléen :

Faux < Vrai


55
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme


 Structure générale

deux principales parties


 Une partie déclaration
 Une partie exécution
 délimitée par les mots DEBUT et FIN.
 La partie déclaration doit être définie avant le mot DEBUT

56
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme

Convention
 les objets constants seront précédés du mot CONSTANTES
et décrits par leurs noms et leurs valeurs.
 les objets variables seront précédés du mot VARIABLES et
décrits par leurs noms et leurs types.
 Objets variables de même type, sont regroupés ensemble
et séparer par des virgules

57
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme


Exemple :
CONSTANTES
reponse = ‘’N’’

annee_naiss = 1993

longueur = 11.50

VARIABLES

largeur, hauteur : réels

civilite : booléen

nom : chaîne de caractères

58
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme


 Syntaxe d’un algorithme

Algorithme nomAlgorithme

Constantes

nomConstante = valeurConstante

Variables

nomVariable : nomTypeVariable

Début

Instruction(s)

Fin

NB : nomAlgorithme: nom attribué à algorithme par le programmeur


59
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme

Exemple :

écrire un algorithme permettant de calculer le périmètre


d’un cercle de rayon R avec P= 2.π.R

60
I. LES OUTILS DE BASE

 Structure simplifiée d’un algorithme


 Les mots réservés :

lire, écrire, saisir, afficher, algorithme,


var, const, début, fin, alors, sinon, si, cas,
selon, tantque, répéter, jusqu’à, faire, pour,
fonction, procédure, structure, tableau,

etc.

61
I. LES OUTILS DE BASE
 Les commentaires

textes explicatifs de certains passages pour faciliter la


compréhension (clarté, lisibilité) de l’algorithme.
Entre les symboles suivants : /* et */

Exemple :

/* Ceci est un commentaire */

/* les commentaires ne sont pas pris en compte


par la machine */

62
I. LES OUTILS DE BASE
 La Séquentialité

Assurée par le point-virgule toujours placé à la fin de


chaque instruction

Indique la fin d’une instruction et le début de la suivante.

63
I. LES OUTILS DE BASE
 Exercices d’application
1. Identifiez, en justifiant votre réponse, parmi les
identificateurs suivants ceux qui sont corrects et qui ne
le sont pas :

Nbreétudiants, Tellx2, B56_25, 1jour,


age enfant, nbre_copies, taux-
horaire, semaine2.

2. Déclarer les constantes qui vont contenir les valeurs


suivantes :

227, 3.14, ‘’célibataire’’

64
I. LES OUTILS DE BASE
 Exercices d’application
3. Déclarer les variables suivantes
 Présence d’un étudiant en classe
 Numéro d’une facture
 Prix hors taxes d’une vente
 Quantité acheté d’un produit
 Nombre de copies à photocopier

4. Dresser la table de vérité des opérations logique


suivante :

L1 = Non(a) ET b, L2 = a OU (Non(b))
65
I. LES OUTILS DE BASE
 Exercices d’application
5. Soit un nombre entier X. proposer une opération nous
permettant de savoir si X est pair ou impair.

6. Trouver les erreurs dans l’algorithme suivant :

CONSTANTES

Sinon = 15 ;

TTVA = 0.20

VARIABLES

Y = entier

Repeter : chaine de caractères


66
II. LES INSTRUCTIONS DE BASE

1. Introduction

action élémentaire ordonnant à une machine d’effectuer une


tâche donnée.

Trois instructions de base:


 L’instruction d’affectation
 L’instruction d’entrée
 L’instruction de sortie

67
II. LES INSTRUCTIONS DE BASE

1. L’instruction d’affectation

Permet d’attribuer une valeur à un objet.

Symbolisée par:
Syntaxe :
Identificateur_objet ← Expression

68
III. LES INSTRUCTIONS CONDITIONNELLES

1. Introduction

En Algorithmique, les instructions sont exécutées


séquentiellement jusqu’à la rencontre d’une instruction
répétitive ou conditionnelle.

Ces instructions permettent de suivre différents chemins


selon les circonstances.

On distingue les instructions conditionnelles suivantes:


 Si … alors … fin si
 Si … alors … sinon ….fin si
 L’imbrication de si
69
III. LES INSTRUCTIONS CONDITIONNELLES

2. L’instruction si …. alors …. fin si

Teste une condition donnée, si cette condition est vraie alors


l’instruction (ou le bloc d’instructions) est exécutée.

Si la condition est fausse alors l’instruction (ou le bloc


d’instructions) n’est pas exécutée.

Syntaxe:
Si condition alors
Instruction (ou bloc d’instructions)
Finsi

La condition est une expression logique ou une variable


logique évaluée à Vrai ou Faux
70
III. LES INSTRUCTIONS CONDITIONNELLES

2. L’instruction si …. alors …. fin si

Organigramme

Condition
Oui

Instruction(s)
Non

fin si

L’instruction ou le bloc d’instructions ne sera exécutée que si


la condition est vraie
71
III. LES INSTRUCTIONS CONDITIONNELLES

2. L’instruction si …. alors …. fin si

Exemple:

Si (x > 0) alors

écrire(x,’’ est positif’’);

Fin si

Exercice

Écrire un algorithme qui calcule et affiche la valeur absolue


d’un nombre saisi au clavier

72
III. LES INSTRUCTIONS CONDITIONNELLES

3. L’instruction si …. alors …. sinon …. fin si

permet de choisir entre deux instructions selon qu’une


condition est vraie ou non.

Syntaxe:

Si condition alors
Instruction 1 (ou bloc d’instructions 1)
Sinon
Instruction 2 (ou bloc d’instructions 2)
Finsi

73
III. LES INSTRUCTIONS CONDITIONNELLES

3. L’instruction si …. alors …. sinon …. fin si

Organigramme

Oui Condition Non

Instruction(s) 1 Instruction(s) 2

fin si

instruction(s)1 est exécutée si la condition est vérifiée,


sinon c’est instruction(s)2 qui sera exécutée.
74
III. LES INSTRUCTIONS CONDITIONNELLES

3. L’instruction si …. alors …. sinon …. fin si

Exemple

Si (x > y) alors

écrire (x,’’ est le maximum’’);

Sinon

écrire(y,’’ est le maximum);

Fin si

Exemple : écrire un algorithme qui permet de déterminer si


un nombre entier non nul saisi au clavier est positif ou
négatif.
75
III. LES INSTRUCTIONS CONDITIONNELLES

4. L’imbrication de si

Dans la plupart des applications professionnelles, on a


plusieurs cas d’exécution selon différentes conditions. On est
donc amener à exprimer plusieurs si les uns à la suite des
autres pour pouvoir prendre en compte tous les cas
possibles.

76
III. LES INSTRUCTIONS CONDITIONNELLES

4. L’imbrication de si

Syntaxe:
Si condition 1 alors
Instruction 1 (ou bloc d’instructions 1)
Sinon si condition 2 alors
Instruction 2 (ou bloc d’instructions 2)
Sinon si condition 3 alors
Instruction 3 (ou bloc d’instructions 3)
..............
Sinon
Instruction n (ou bloc d’instructions n)
Finsi

77
III. LES INSTRUCTIONS CONDITIONNELLES

4. L’imbrication de si

Remarque:

L’instruction qui sera exécutée est celle pour laquelle la


condition est vraie. Si aucune condition n’est vraie alors
c’est l’instruction qui suit le Sinon qui sera exécutée.

Exemple :

Ecrire un algorithme qui permet de déterminer et d’afficher


le maximum parmi deux nombres réels saisis au clavier.

78
III. LES INSTRUCTIONS CONDITIONNELLES

Test de niveau 1
Les élections législatives, en Guinée, obéissent à la règle
suivante :
 lorsque l'un des candidats obtient plus de 50% des
suffrages, il est élu dès le premier tour.
 en cas de deuxième tour, peuvent participer uniquement
les candidats ayant obtenu au moins 12,5% des voix au
premier tour.

 Vous devez écrire un algorithme qui permette la saisie des


scores de quatre candidats au premier tour. Cet algorithme
traitera ensuite le candidat numéro 1 (et uniquement lui) :
il dira s'il est élu, battu, s'il se trouve en ballottage
favorable (il participe au second tour en étant arrivé en
tête à l'issue du premier tour) ou défavorable (il participe
au second tour sans avoir été en tête au premier tour).
79
III. LES INSTRUCTIONS CONDITIONNELLES

5. L’instruction à choix multiples

Cette structure est utilisée lorsque l’imbrication de si


devient trop importante.

Elle permet de choisir le traitement à effectuer en fonction


de la valeur ou de l’intervalle de valeurs d’une variable ou
d’une expression.

80
III. LES INSTRUCTIONS CONDITIONNELLES

5. L’instruction à choix multiples

Syntaxe
Selon identificateur faire
Valeur 1 : instruction(s) 1
Valeur 2 : instruction(s) 2
Valeur 3 : instruction(s) 3
………………
Valeur n : instruction(s) n
Sinon
Instruction_par_defaut
finSelon

81
III. LES INSTRUCTIONS CONDITIONNELLES

5. L’instruction à choix multiples

Organigramme

Identificateur

valeur 1 …… valeur n sinon


Instruct par
Instruction 1 Instruction n
defaut

fin selon

82
III. LES INSTRUCTIONS CONDITIONNELLES

5. L’instruction à choix multiples

Exemple

Écrire un algorithme qui affiche à l’écran le jour


correspondant à un chiffre, compris entre 1 et 7, saisi au
clavier

83
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application

Exercice 1

Ecrire un algorithme permettant de déterminer si un nombre


saisi au clavier est négatif, positif ou nul.

Exercice 2

Ecrire un algorithme qui demande deux nombres m et n à


l’utilisateur et l’informe ensuite si leur produit est positif,
négatif ou nul sans faire de calcul.

84
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 3

Un super marché accorde à ses clients une réduction de 5 %


pour des montants d’achat supérieurs à 20 000 GNF.

Ecrire un algorithme qui demande à l’utilisateur de saisir le


montant total hors taxe (MHT) et qui calcule et affiche le
montant TTC (MTTC) à payer en prenant en compte la
remise et une TVA de 20%.

85
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 4

Ecrire un algorithme permettant de résoudre une équation


du premier degré (ax+b=0) en prenant en compte tous les
éventuels cas possibles.

Exercice 5

Ecrire un algorithme permettant de résoudre une équation


du second degré (ax²+bx+c=0) en prenant en compte tous les
cas possibles.

86
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 6

Ecrire un algorithme permettant d’afficher le jour


correspondant à un chiffre compris entre 1 et 7 saisi au
clavier

Exercice 7

Écrire un algorithme permettant de déterminer et d’afficher


le maximum parmi trois nombres saisis au clavier

87
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 8
On dispose de trois nombres réels saisis au clavier.
Selon un choix à effectuer à partir d’un menu affiché à l’écran, on désire
calculer la somme ou le produit ou la moyenne ou chercher le minimum
ou le maximum de ces trois nombres.
Le menu doit se présenter à l’écran de la manière suivante :
...……………………….MENU…………………………
1 …………………………………… Somme
2 …………………………………… Produit
3 …………………………………… Moyenne
4 …………………………………… Minimum
5 …………………………………… Maximum
…………………………………………………………………
Entrez votre choix ?

Ecrire un algorithme permettant d’effectuer le traitement souhaité.


88
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 9
On souhaite réaliser un programme qui effectue des calculs
de surface à la demande.
Les figures géométriques prises en compte sont les figures
géométriques élémentaires (triangle, carrée, disque et
rectangle).
Le programme devra demander à l’utilisateur une lettre qui
indique le type de la figure considérée :
‘T’ pour Triangle,
‘C’ pour Carrée
‘D’ pour Disque
‘R’ pour Rectangle
Suivi des dimensions de cette figure
89
III. LES INSTRUCTIONS CONDITIONNELLES

6. Exercices d’application
Exercice 9 (suite)

S’il y a doute sur la nature de la figure géométrique considérée, le


programme affichera le message suivant : figure géométrique non
prise en compte !

NB :

Surface d’un triangle : S = base x hauteur/2

Surface d’un carrée : S = côté²

Surface d’un disque : S = pi x rayon²

Surface d’un rectangle : S = longueur x largeur.

Ecrivez un algorithme permettant d’effectuer le traitement


souhaité.
90
III. LES INSTRUCTIONS REPETITIVES

1. Introduction

Permettent de répéter un même bloc d’instruction un certain


nombre de fois.

Permettent d’effectuer des contrôles de saisie

Une boucle est généralement composée de quatre blocs:


 Initialisation
 Corps de la boucle
 Incrémentation (décrémentation)
 Test de continuation

91
III. LES INSTRUCTIONS REPETITIVES

1. Introduction
Remarque :

Le nombre de fois qu’une instruction ou un bloc


d’instructions doit être répétée par une boucle peut être soit
connu à l’avance soit il dépendra de l’évolution de l’action
effectuée par le bloc à répéter.

On distingue de ce fait deux catégories de boucles :


 Nombre de répétitions (itérations) inconnu à l’avance
 Nombre de répétitions (itérations) connu à l’avance

92
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance

le nombre d’itérations dépend de la réalisation d’une


certaine condition au cours du traitement effectué par la
boucle

distingue deux types de boucles:


 Test de contrôle effectué au début de la boucle
 Test de contrôle effectué à la fin de la boucle

93
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance


 Test de contrôle effectué au début de la boucle

Boucle utilisée: Tantque

Syntaxe:
Tantque condition faire
Instruction(s)
FinTantque

Fonctionnement:

94
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance


 Test de contrôle effectué au début de la boucle

Boucle utilisée: Tantque

Organigramme :

95
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à


l’avance
 Test de contrôle effectué au début de la boucle

Boucle utilisée: Tantque

Le test se fait à l’entrée de la boucle donc les instructions

ne seront pas exécutées si la condition est fausse.

Dans le corps de la boucle, il faut toujours une instruction

qui fera évoluer les valeurs des variables à tester

96
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à


l’avance
 Test de contrôle effectué au début de la boucle

Boucle utilisée: Tantque

Exemple:

Écrire un algorithme qui demande à l’utilisateur s’il veut


du café jusqu’à ce que la réponse convienne.

97
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance


 Test de contrôle effectué à la fin de la boucle

boucle utilisée: Répéter …. Jusqu’à

Syntaxe:
Répéter
Instruction(s)
Jusqu’à (condition) ;

Fonctionnement:

98
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance


 Test de contrôle effectué à la fin de la boucle

boucle utilisée: Répéter …. Jusqu’à

Organigramme:

99
III. LES INSTRUCTIONS REPETITIVES

2. Cas où le nombre d’itérations n’est pas connu à l’avance


 Test de contrôle effectué à la fin de la boucle

boucle utilisée: Répéter …. Jusqu’à

Exemple:

Écrire un algorithme permettant de calculer la somme d’une

suite de nombres réels lus sur le clavier.

Le dernier élément à lire est un zéro.

100
III. LES INSTRUCTIONS REPETITIVES

3. Cas où le nombre d’itérations est connu à l’avance

Boucle utilisée: pour …. faire

Syntaxe:
Pour (compteur allant de valeurInitiale à valeurFinale) Faire
Instruction(s)
FinPour

La variable compteur est de type entier.

Elle est initialisée à la valeur initiale,

sa valeur augmente de un (1) automatiquement à chaque


tour de la boucle jusqu’à la valeur finale.

101
III. LES INSTRUCTIONS REPETITIVES

3. Cas où le nombre d’itérations est connu à l’avance

Boucle utilisée: pour …. Faire

Exemple:

Ecrire un algorithme permettant de faire la somme des dix


premiers entiers naturels

102
III. LES INSTRUCTIONS REPETITIVES

Exercices d’application
Exercice 1

Ecrire un algorithme qui demande à l’utilisateur un nombre

compris entre 1 et 5 jusqu’à ce que la réponse convienne.

Exercice 2

Ecrire un algorithme qui demande un nombre de départ, et

qui affiche les dix nombres suivants. Par exemple, si

l’utilisateur entre le nombre 10, le programme affichera les

nombres de 11 à 20.

103
III. LES INSTRUCTIONS REPETITIVES

Exercices d’application
Exercice 3
Ecrire un algorithme qui affiche la table de multiplication par 5.

Exercice 4

Ecrire un algorithme qui demande un nombre à l’utilisateur et

qui affiche la table de multiplication de ce nombre.

Exercice 5

Ecrire un algorithme qui affiche les tables de multiplication de


1 à 10.

104
III. LES INSTRUCTIONS REPETITIVES

Exercices d’application
Exercice 6

Ecrire un algorithme permettant de saisir une suite de nombres

au clavier et qui détermine ensuite la somme, le produit et la

moyenne de tous ces nombres ainsi que leur nombre. La saisie

s’arrête lorsque l’utilisateur entre le chiffre zéro.

Exercice 7

Ecrire un algorithme qui compte le nombre de bits nécessaires

Pour coder en binaire un entier N et qui convertit ensuite en

binaire
105
III. LES INSTRUCTIONS REPETITIVES

Exercices d’application
Exercice 8

Ecrire un algorithme permettant d’afficher un triangle rempli

d’étoiles, comme indiqué dans l’exemple suivant:

106
III. LES INSTRUCTIONS REPETITIVES

6. Exercices d’application
Exercice 9

Ecrire un algorithme permettant de calculer la somme, la différence, le produit ,

la moyenne ou chercher le minimum ou le maximum de deux nombres réels, la

racine carrée ou l’inverse d’un nombre réel à partir du menu suivant :


...……………………….MENU…………………………
1 …………………………………… Somme
2 …………………………………… Différence
3 …………………………………… Produit
4 …………………………………… Moyenne
5 …………………………………… Minimum
6 …………………………………… Maximum
7 …………………………………… Racine carrée
8 …………………………………… inverse
9 ………………………………….. Quitter
…………………………………………………………………
Entrez votre choix ?
107
III. LES INSTRUCTIONS REPETITIVES

Exercices d’application
Exercice 9 (suite)

Nous devons contrôler le choix (entre 1 et 7) sinon nous

affichons le message « Votre choix est mauvais » et nous

retournons au menu

Lorsqu’on finit une opération, on doit retourner de même au

menu

108

Vous aimerez peut-être aussi