0% ont trouvé ce document utile (0 vote)
46 vues61 pages

Comprendre les Algorithmes et leur Structure

all u need

Transféré par

faouzimed334
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)
46 vues61 pages

Comprendre les Algorithmes et leur Structure

all u need

Transféré par

faouzimed334
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

PARTIE1:

L’ALGORITHMIQUE
- Introduction
- Organigramme
- Instructions de contrôle
- Instructions répétitives

1
Département Informatique
Faculté de Sciences – Université Ibn Zohr

Année Universitaire 2023/2024


C’EST QUOI UN ALGORITHME ? (1/2)
Définition 01
 Un algorithme représente une séquence
d’instructions (Actions), logiquement ordonnées, qui
permet de résoudre un problème donné.

Problème à Algorithme
Résoudre
Résoudre  d’actions (instruction)

Remarques
 Pas d’Algorithme sans Problème. Un algorithme
est lié à un problème bien précis.
 Un Algorithme sera traduit à un programme qui
sera exécuté par un ordinateur. 2

Année Universitaire : 2023/2024


C’EST QUOI UN ALGORITHME ? (2/2)
Définition 02
 Un algorithme représente une séquence d’actions
(Instructions), logiquement ordonnées, qui transforment
des données en entrées (inputs) vers des données en
sortie (outputs). Ces dernières (outputs) représentent la
solution d’un problème donné.

Modélise

Problème Extraire (Déduire)


Données

Algorithme
 de Données +  d’instruction 3

Année Universitaire : 2023/2024


ANALYSE ET RÉSOLUTION D’UN PROBLÈME

Problème Analyser et Etudier le problème à Résoudre

Spécifier le modèle de Résolution : données et les


Modèle
formules mathématiques

Algorithme Écrire l’algorithme

Traduire l’algorithme à un programme


Programme

Exécuter le programme par un ordinateur afin


Résultats
d’obtenir des résultats
4

Année Universitaire : 2023/2024


DÉFINITION ET OBJECTIF D’UN ALGORITHME

• Un algorithme est la description de la solution d’un problème sous la


forme d’une suite finie d’opérations à effectuer sur les données du
problème.

• Pour fonctionner, un algorithme doit contenir uniquement les


instructions compréhensibles par celui qui devra l’exécuter. Son
fonctionnement nécessite un certain nombre d’objets, cet ensemble
s’appelle : environnement de l’algorithme.

Année Universitaire : 2023/2024


STRUCTURE D’UN ALGORITHME (1/3)
Entête
Permet d’identifier l’algorithme avec un nom
unique (Identificateur)
Algorithme
 de Données +  d’instruction Déclarations
On déclare toutes les données (Variables et
Constantes)

Corps (Instructions)
La partie des instructions (Entrées, Traitement
et Sorties)

Modèle d’écriture d’un Algorithme


Algorithme <Ident_Algo>
<Déclarations>
Début
<Instructions>
6
Fin
Année Universitaire : 2023/2024
STRUCTURE D’UN ALGORITHME (2/3)
Exemples – Entête d’un Algorithme
Algorithme exo1
Algorithme Equation1D
Algorithme PGCD_PPCM
Algorithme Nombre_Premier
Etc.

Exemples – Déclarations
Constantes <identificateur> <Valeur>
PI 3.14 HAUTEUR 15.78
nom Université Zohr F TRUE
Variables <identificateur> : <Type_Donneés>
7

Année Universitaire : 2023/2024


STRUCTURE D’UN ALGORITHME (3/3)
Types de Données
 Il y a cinq types de base : Entier, Réel, Caractère,
Chaîne de Caractère et Booléen.
 Un type Représente un ensemble de valeurs (fini ou
infini)
 Les Nombres naturels sont inclus dans le type
Entier.

Exemples – Déclarations
Variables <identificateur> : <Type_Donneés>
a : entier b : réel
x:entier y:entier z:entier → x, y, z : entiers

<id1>, <id2>, …, <idn> : <Type_Donneés> 8

Année Universitaire : 2023/2024


INSTRUCTIONS ÉLÉMENTAIRES EN ALGORITHMIQUE

Le langage algorithmique offre trois instructions


élémentaires de base :

 l’affectation.

 entrée de données.

 sortie de données.

Année Universitaire : 2023/2024


DONNÉES : VARIABLES & CONSTANTES
Définition
 Une Donnée représente une information liée à un
élément du problème traité par l’algorithme.

Variable
C’est un objet contenant une valeur
pouvant être modifiée.
Dans un programme, ça représente
Données une zone mémoire dans la RAM.

Constante
C’est un objet contenant une
valeur fixe (ne peut jamais
être modifiée).
10

Année Universitaire : 2023/2024


DONNÉES : IDENTIFICATEUR (1/2)
Concept d’Identificateur
 Chaque donnée (Variable ou constante) manipulée par
un algorithme est désignée par un nom unique :
IDENTIFICATEUR.
 Identificateur : c’est une chaîne de caractères
alphanumérique (contenant uniquement des caractères
alphabétiques [a-z, A-Z] et numériques [0-9]) en plus du
caractère « _ » (Trait souligné) et qui ne commence pas
par un caractère numérique.

Remarques
 Même l’algorithme lui-même possède un nom unique. Donc,
il doit avoir un identificateur pour l’algorithme.
 Un identificateur est affecté à un seul objet. On ne peut
jamais utiliser le même identificateur pour deux variables
ou constantes différentes.
11

Année Universitaire : 2023/2024


DONNÉES : IDENTIFICATEUR (2/2)
Exemple
 Parmi les identificateurs suivants, indiquer ceux
qui sont valides et ceux qui ne le sont pas ?
12x ; Prix Unitaire ; Hauteur-Mur ; a1 ; a?b ;

Réponse
• 12x : n’est valide, puisqu’il commence par un caractère
numérique. Doit être : x12
• Prix Unitaire : n’est pas valide, puisqu’il contient un
espace. Doit être : PrixUnitaire ou Prix_Unitaire.
• Hauteur-Mur : n’est pas valide, puisque il contient le signe
« - »(moins). Doit être : Hauteur_Mur.
• a1 : est valide
• a?b : n’est pas valide, puisqu’il contient le caractère « ? ».
Doit être : ab. 12

Année Universitaire : 2023/2024


DONNÉES : TYPES DES VARIABLES

Le type d’une variable permet de :

 Définir l’ensemble de valeurs que peut prendre la


variable
 Fixer la taille, en cases mémoires (octets), de la variable
 Définir la nature des opérations autorisées sur la
variable

Les types utilisés en langage algorithmique sont :


 Entierpour représenter les entiers positifs ou négatifs
 Réel pour représenter les nombres à virgule
 Caractère pour représenter des caractères
 Chaîne pour représenter des phrases
 Booléen pour représenter les valeurs de vérité de la 13
logique
Année Universitaire : 2023/2024
INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

L’affectation permet d’assigner une valeur à un


objet. Elle est représentée en algorithmique par le
symbole

Syntaxe :

Identificateur valeur
Le membre droit d’une affectation (valeur) peut être
soit :
 Une variable de même type que identificateur
 Une constante de même type que identificateur
 Une expression dont l’évaluation produit un résultat
final de même type que identificateur
14

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

Les affectations suivantes sont incorrectes :

16 valeur
X*Y 15

Le membre gauche d’une affectation (lvalue) doit


être une variable déclarée. Il doit correspondre à
une case mémoire qui peut recevoir une valeur.
De même la partie droite d’une affectation doit être
une quantité bien définie, c à d une structure ayant
une évaluation qui fournit une valeur résultat.

15

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

Les types de deux parties de l’affectation doivent être


les mêmes

Exemple d’affectation
Soit deux variables X et Y de type entier, Supposons
que la variable X contient la valeur 16 et que la variable
Y contient 25.
Que valent les valeurs de X et Y après les instructions
d’affectation suivantes ?

X X + Y Instruction 1
Y X - Y Instruction 2
X X - Y Instruction 3

16

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

Schématisons un peu !

X contient 16 et Y contient 25, veut dire que les cases


mémoire nommées respectivement X , Y et qui sont
situées en mémoire aux adresses adr1200 et adr1204
(par exemple) contiennent respectivement les valeurs
16 et 25.

25
16
Y
X
adr1204
adr1200

17

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

X X + Y Instruction 1
Y X - Y Instruction 2
X X - Y Instruction 3

L’instruction 1 peut être expliciter comme ceci :


1. Évaluation de l’expression X + Y
Addition des valeurs de X et Y
2. Affectation du résultat de l’expression X + Y à X

+
16 25
41
X Y
adr1200 adr1204 18

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

16
41 25

X 41 Y

adr1200 adr1204

Après l’instruction 1, X contient 41 et la variable Y n’a pas été


modifiée.
Après l’instruction 2, X vaut 41 (elle n’a pas été modifiée) la
variable Y contient 16.
Après l’instruction 3, X contient 25 et Y 16.

19

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

Remarques :

 L’ensemble des instructions 1, 2 et 3 permet de


permuter les valeurs de deux variables.
 L’opérateur d’affectation détruit complètement et
définitivement le contenu d’une variable

20

Année Universitaire : 2023/2024


INSTRUCTION ÉLÉMENTAIRE : AFFECTATION

Algorithme Affectation1 Algorithme Affectation2


Variables Variables
X, Y : entiers X, Y : entiers
Début Début
X 15 X 15
Y 25 Y 25
X Y Y X
Y X X Y
Fin Fin

Dans les deux algorithmes ci-dessus, les instructions sont exécutées


dans l'ordre, séquentiellement : l'une après l'autre.
Du fait de cet ordre séquentiel, les deux séquences ci-dessus ont des
effets très différents.
Les valeurs de sorties pour les variables X et Y sont : 25 pour
l’algorithme 1 et 15 pour l’algorithme 2.
21

Année Universitaire : 2023/2024


DONNÉES : ENTRÉES ET SORTIES

Données

Données
Données d’Entrée Intermédiaires
(Inputs) Données utilisées par
Les données que Données de Sortie
l’algorithme pour le
(Outputs)
l’utilisateur doit traitement lié au
fournir à Les données que problème
l’algorithme. l’algorithme doit montrer
à l’utilisateur. C’est les
résultats de l’algorithme
(Solution du Problème) 22

Année Universitaire : 2023/2024


INSTRUCTION D’ENTÉE

Elle permet d’introduire une valeur d’une


variable. L’entrée de données peut être
effectuée soit par clavier ou directement par
lecture des données stockées sur le disque.

En langage algorithmique la fonction utilisée


pour lire des données est :

Lire(maVar)

cette instruction permet d’affecter à la


variable maVar, la valeur lue sur le
périphérique d’entrée.
23

Année Universitaire : 2023/2024


INSTRUCTION DE SORTIE

La sortie, qui constitue le résultat, peut être


affichée à l’écran, imprimée sur papier ou
stockée dans une mémoire magnétique.
La fonction de sortie utilisée en algorithmique
est la fonction Écrire :

Écrire(monRésultat)

cette instruction permet de transférer la


valeur monRésultat vers le périphérique de
sortie.
24

Année Universitaire : 2023/2024


EXERCICE

Proposer une analyse pour calculer le


périmètre d’un cercle ( 2*π*leRayon)

Analyse du problème

PI 3.14
lePerimetre

leRayon

25

Année Universitaire : 2023/2024


EXERCICE

Algorithme A1

Algorithme perimetreCercle
constante PI 3.14
Variables
lePerimetre, leRayon : réels
Début
Lire(leRayon)
lePerimetre 2*PI*leRayon
Ecrire(lePerimetre)
Fin

26

Année Universitaire : 2023/2024


RÉSUMÉ

 Un algorithme permet de résoudre un problème à


travers une séquence d’instructions ordonnées
logiquement. Ces instructions transforment des
données en entrée en données en sortie.
 Chaque donnée utilisée dans un algorithme est soit
variable ou constante.
 Un algorithme doit être traduit à un programme
exécutable par l’ordinateur pour avoir des
résultats.
 Pour écrire des algorithmes, il faut respecter une
certaine structure ou modèle d’écriture.
27

Année Universitaire : 2023/2024


ORGANIGRAMMES (1)

Un organigramme est une représentation schématique d’un


algorithme mettant en valeur sa structure. Il permet de mieux
présenter les différents modules de traitement et d’expliquer la
succession des opérations d’un travail.
Les symboles utilisés dans un organigramme sont :

Début Début : démarrage d’un traitement

Séquence : marque le passage d’une


action à une autre

Test et décision : marque un choix


Non Oui
condition conditionnel d’une action à exécuter
suivant que la condition est vérifiée ou
non. 28

Année Universitaire : 2023/2024


ORGANIGRAMMES (2)

Variante de l’alternative : selon la valeur


selon(var)
de la variable var, il y aura branchement
vers l’exécution de l’instruction
correspondante.
S S + T Opération : calcul modifie une variable par
l’affectation d’une nouvelle valeur.
Instruction d’entrée/sortie : entrée de
données standard à partir du clavier ou
sortie de données standard vers l’écran.

Fin Fin : Arrêt d’un traitement

29

Année Universitaire : 2023/2024


EXEMPLE TRADUCTION DE L’ALGORITHME A1

Début
Algorithme perimetreCercle
const PI 3.14
Variables Lire(leRayon)
lePerimetre, leRayon : réels
Début
Lire(leRayon) lePerimetre 2*PI*leRayon
lePerimetre 2*PI*leRayon
Écrire(lePerimetre)
Fin Écrire(lePerimetre)

Fin

30

Année Universitaire : 2023/2024


INSTRUCTIONS COMPOSÉES

Les algorithmes précédents présentent un


enchaînement d’exécution linéaire et séquentiel, dans
la pratique, il peut y avoir des cas où l’on exige une
exécution par morceau, c à d des sauts ou des
répétitions d’un même bloc d’instructions. Ceci peut se
faire à l’aide des primitives de base structurées.
Il existe deux types d’instructions composées :
 Les primitives de choix
 Les primitives d’itérations

31

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (1/8)
Syntaxe de l’instruction conditionnelle simple
 L’instruction conditionnelle permet de décider si on
exécute une suite d’instructions (bloc d’instructions)
ou non. Cette décision est basée sur une condition :
Expression booléenne. Si la condition est vrai, on
exécute alors ce bloc d’instructions. Sinon, on
l’exécute pas.
 La syntaxe de l’instruction conditionnelle est :

Si <Condition> Alors
<instruction_1>
<instruction_2>
……..
<instruction_n>
FinSi Bloc du Si 32

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (2/8)
Sémantique de l’instruction conditionnelle simple
 Soit l’exemple suivant (Algorithmique)
⚫ Si (x > 0) Alors
Ecrire (" X est positif")
FinSi

 Ça veut dire quoi cette instruction ?


 Le sens de cette instruction est comme suit : Si la
valeur de x est supérieure à 0 alors on affiche la
chaîne ‘X est positif’. Si la condition est fausse, on
exécute automatiquement l’instruction qui vient
après FinSi.
33

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (3/8)
Utilisation de l’instruction conditionnelle simple
 Quant-est-ce que nous utiliserons l’instruction
conditionnelle simple ?
 Dans l’algorithmique, et dans plusieurs situations, des
instructions ne sont pas toujours exécutées. Ces
instructions sont exécutées uniquement si une ou plusieurs
conditions doivent être vérifiées. Ces conditions sont
formulées sous forme d’expression booléennes :
⚫ Si l’expression booléenne vaut TRUE (Vrai), alors ces
instructions seront exécutées.
⚫ Si l’expression vaut FALSE (Faux), alors ces instructions ne sont
pas exécutées.
 Dans ce type de cas, on est amené à utiliser l’instruction
conditionnelle simple. 34

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (4/8)
Exemple
 Ecrire un algorithme qui affiche la valeur absolue
d’un nombre réel. Début

Algorithme ValAbs
Variables Lire(X)
X : réel
Oui
Début X<0
Lire(X)
Si(X < 0) Alors Non X -X
X -X
FinSi
Écrire("La valeur absolue est", X)
Fin Écrire(X)

Fin
35

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (5/8)

Syntaxe de l’instruction conditionnelle simple


 L’instruction conditionnelle simple aussi permet de faire un choix
entre l’exécution d’un bloc d’instructions et un autre bloc
d’instructions. Donc, dans le test conditionnel simple, on peut avoir
deux blocs d’instructions
 La syntaxe :

Si <Condition> Alors
<instruction_1_1> Bloc du Si
……..
<instruction_1_n> condition
Sinon Non Oui
<instruction_2_1>
instruction2_i instruction1_i
……..
<instruction_2_n>
FinSi Bloc du Sinon
36

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (6/8)
Sémantique de l’instruction conditionnelle simple
 Prenons l’exemple suivant :
Si (x>0) Alors
xx–1
Sinon
xx+2
FinSi
 L’instruction précédente signifie que si la valeur de x est
supérieure à 0 alors on décrémente la valeur de x (x  x-1),
sinon (c-a-d x ≤0) on incrémente la variable x de 2 (x  x+2).
 Si on prend l’exemple x=-5, donc on exécute le bloc Sinon,
puisque la condition x>0 n’est pas vérifiée. Ainsi, la nouvelle
valeur de x est : -3.
 Si on prend x = 8, donc on exécute le bloc Si, (la condition
x>0 est vérifiée). La nouvelle valeur de x sera : 7. 37

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (7/8)

Utilisation de l’instruction conditionnelle simple


 Quant-est-ce que l’instruction conditionnelle est simple ?

 Dans plusieurs problèmes, on est amené à choisir entre


deux séquences d’instructions à exécuter. Le choix, bien
évidemment est effectué selon une condition (expression
booléenne).
 Dans certain cas, il faut choisir entre au moins trois blocs
d’instructions (plus que deux). La solution est d’utiliser
les structures imbriquées : on aura par exemple une
instruction conditionnelle simple à l’intérieur du bloc Si
(ou du bloc Sinon) d’une autre instruction conditionnelle
simple.
38

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES (8/8)
Exemple
 Exemple valeur absolue d’un nombre réel :

Algorithme ValAbs Début


Variables
X, Y : réels
LIRE(X)
Début
Lire(X)
Si(X < 0) Alors Non Oui
Y -X x<0
Sinon
Y X Y X Y -X
FinSi
Écrire("La valeur absolue est", Y)
Fin Ecrire(Y)

Fin 39

Année Universitaire : 2023/2024


INSTRUCTIONS CONDITIONNELLES

Exercice
 Ecrire un algorithme permettant de résoudre une équation du
premier degré ax+b=0.
Algorithme premierdegre
Variables
a,b : réels
Début
Ecrire ("saisissez les valeurs a et b de l’équation ax+b=0:")
Lire (a, b)
Si(a <> 0) Alors
Ecrire ("La solution est x= ", -b/a)
Sinon Si (b=0) Alors
Ecrire("La solution est IR")
Sinon
Ecrire("Pas de solution!")
FinSi
FinSi
Fin 40

Année Universitaire : 2023/2024


LA PRIMITIVE DE L’ALTERNATIVE
LA PRIMITIVE « SELON » (1)
Étude par un exemple
On désire écrire un algorithme qui permet la saisie d’un entier
compris entre 0 et 4, ensuite l’algorithme doit afficher le nombre
saisi en lettre.

Algorithme afficheEntier
Variables
lentier : entier
Début
Écrire("Saisir un nombre entier")
Lire(lentier)

41

Année Universitaire : 2023/2024


LA PRIMITIVE SELON (2)
Si(lentier = 0) Alors
Écrire("Vous avez saisi Zéro")
Sinon Si (lentier = 1) Alors
Écrire("Vous avez saisi Un")
Sinon Si (lentier = 2) Alors
Écrire("Vous avez saisi Deux")
Sinon Si (lentier = 3) Alors
Écrire("Vous avez saisi Trois")
Sinon Si (lentier = 4) Alors
Écrire("Vous avez saisi Quatre")
Sinon
Écrire("L’entier saisi est > à 4")
FinSi
FinSi
FinSi
FinSi
FinSi
Fin

42

Année Universitaire : 2023/2024


LA PRIMITIVE SELON (3)
L’algorithme précédent comporte beaucoup d’imbrication de
plusieurs Si. L’oubli d’un Sinon peut entraîner des erreurs de
fonctionnement de l’algorithme. La primitive SELON facilite
énormément l’écriture de ce genre d’algorithme.

Syntaxe :
variable
Selon (variable)
val_1 : inst_1
val_2 : inst_2 val_1 val_2 val_n Sinon
... inst_1 inst_2 ...... inst_n inst_d
val_n : inst_n
Sinon : inst_d
FinSelon

43

Année Universitaire : 2023/2024


LA PRIMITIVE SELON (4)
La variable est une expression de type discret ( caractère, entier ou
booléen). Elle est évaluée, si sa valeur est égale à une des valeurs val_i,
l’instruction correspondante est exécutée. En revanche si la valeur de
variable ne coïncide avec aucune des valeurs val_i, c’est l’instruction (par
défaut) inst_d qui est exécutée.
Algorithme afficheEntier
Variables
lentier : entier
Début
Écrire("Saisir un nombre entier")
Lire(lentier)
Selon (lentier)
0 : Écrire("Vous avez saisi Zéro")
1 : Écrire("Vous avez saisi Un")
2 : Écrire("Vous avez saisi Deux")
3 : Écrire("Vous avez saisi Trois")
4 : Écrire("Vous avez saisi Quatre")
Sinon : Écrire("L’entier saisi est > à 4")
FinSelon
Fin
44

Année Universitaire : 2023/2024


LA PRIMITIVE SELON
Exercice
 Une librairie décide de faire des remises sur les
prix d’abonnement à une revue scientifique selon le
menu suivant :
Ancien abonné : -15%
Etudiant : -20%
Nouvel abonné : 00%
Etranger : + 25%
Le calcul du prix d’abonnement se fait en fonction
du tarif normal d’abonnement (TN) et de la qualité
de l’abonné (Q). (une seule qualité est acceptée par
abonné).
Ecrire un algorithme permettant de calculer le prix
à payer.

45

Année Universitaire : 2023/2024


EXERCICE LA PRIMITIVE CAS
Algorithme librairie
Variables
Q : entier
TN,PA :réels
Début
Écrire("Entrer le tarif normal :")
Lire(TN)
Ecrire("-- MENU - ")
Ecrire("-- Ancien Abonné ------------------- 1")
Ecrire("-- Etudiant- - 2")
Ecrire("-- Nouvel abonné ---------------- 3")
Ecrire("-- --Etranger- - 4")
Ecrire("Entrer la qualité de l’abonné ?")
Lire(Q)
Selon (Q)
1 : PA  TN - 0.15*TN
Écrire(" Le prix à payer est :",PA)
2 : PA  TN - 0.20*TN
Écrire(" Le prix à payer est :",PA)
3 : PA  TN - 0.00*TN
Écrire(" Le prix à payer est :",PA)
4 : PA  TN + 0.25*TN
Écrire("Le prix à payer est :",PA) 46
Sinon : Écrire("Erreur de choix")
FinSelon
Fin
RÉSUMÉ
 L’instruction conditionnelle simple permet de faire un
choix entre l’exécution d’un bloc d’instructions ou non. Ce
choix (ou cette décision) est basé sur une condition
(Expression Booléenne : Vrai ou Faux).
 L’instruction conditionnelle simple permet de faire un
choix entre l’exécution d’un bloc d’instructions ou
l’exécution d’un autre bloc d’instructions. Donc, il y aura
un premier bloc qui sera exécuté si la condition est
vérifiée (Vrai) et un deuxième bloc qui est exécuté si la
condition est Fausse.
 Les instructions conditionnelles se basent toutes les deux
sur une expression booléenne (la condition du test)
 La primitive SELON facilite énormément l’écriture. Elle
se base sur une expression de type discret. 47

Année Universitaire : 2023/2024


INSTRUCTIONS RÉPÉTITIVES (BOUCLES)
La résolution de quelques problèmes passe parfois par la
réalisation d’une action d’une manière répétitive.
Par exemple, enfoncer un clou dans un mur se réalise par donner
des coups du marteau sur la tête du clou tant que le clou dépasse
le mur.
En Informatique, on distingue deux types de boucles :

 Les boucles pour lesquelles le nombre d’itération n’est pas


connu à l’avance. Pour ce type de boucles le nombre
d’itération est déterminé par la réalisation d’une certaine
condition (Les structures TANT QUE et REPETER),
 Boucles pour lesquelles le nombre d’itération est connu à
l’avance (la structure POUR)

48

Année Universitaire : 2023/2024


L’INSTRUCTION TANT QUE … FAIRE … FINTANTQUE
Syntaxe :

Non
Tant que (condition) Faire condition
instruction
FinTantque Oui

instruction
Pour ce type de boucle, le test
de contrôle est effectué au
début de la boucle.
L’instruction est exécutée tant que la condition est vérifiée (valeur
booléenne à VRAI). Le test est effectué à l’entrée de la boucle.
Si la condition est fausse d’entrée, l’instruction n’est jamais
exécutée.
49

Année Universitaire : 2023/2024


L’INSTRUCTION TANT QUE … FAIRE … FINTANTQUE
EXEMPLE
Problème calcul de S = 1+2+3+…+100

Algorithme somme
Variables
i, S : entiers
Début
/* initialisation des variables */
i 1
S 0
Tant que (i ≤ 100) Faire
S S + i /* calcul */
i i + 1 /* évolution */
FinTantque
Écrire("la somme de 1 à 100 est", S)
Fin

50

Année Universitaire : 2023/2024


L’INSTRUCTION TANT QUE … FAIRE … FINTANTQUE
SCÉNARIO DE TEST
scénario de test pour le calcul de S = 1+2+3+4+5
Boucle S i i ≤5
0 1 V
Itération 0 1 2 V
Itération 1 3 3 V
Itération 2 6 4 V
Itération 3 10 5 V
Itération 4 15 6 F
51

Année Universitaire : 2023/2024


EXERCICE
Exercice
 La population des Sims Alpha est de 10, 000, 000 d’habitants et elle augmente de
500, 000 habitants par an. Celle des Sims Beta est de 5, 000, 000 habitants et elle
augmente de 3% par an.
Ecrire un algorithme permettant de déterminer dans combien d’années la
population de Sims Beta dépassera celle des Sims Alpha.
Algorithme Populations_alpha_beta
Variables
annees,alpha,beta : entiers
Début
alpha  10000000
beta  5000000
annees 0

Tant que (beta ≤ alpha) Faire


annees  annees + 1
alpha  alpha + 500000
beta  beta+ beta*0.03
FinTantque
Écrire("Il faut", annees ," années pour que la population de beta dépasse celle de alpha")
52
Fin

Année Universitaire : 2023/2024


L’INSTRUCTION RÉPÉTER … TANT QUE
Syntaxe :

instruction
Répéter
instruction
Tant que (condition)
Oui
condition
Pour ce type de boucle, le test
de contrôle est effectué à la fin Non
la boucle.
L’instruction est exécutée tant que la condition est vérifiée (valeur
booléenne à VRAI). Le test est effectué à la fin la boucle.
Si la condition est fausse d’entrée, l’instruction est tout de même
exécutée au moins une fois.
53

Année Universitaire : 2023/2024


L’INSTRUCTION RÉPÉTER … TANT QUE
EXEMPLE
Problème calcul de S = somme de N entiers saisis au clavier, le
dernier entier est zéro.
Algorithme sommeBis
Variables
lentier, S : entier
Début
/* initialisation des variables */
S 0
Répéter
Lire(lentier)
S S + lentier /* calcul */
Tant que (lentier ≠ 0)
Écrire("la somme des entiers saisies est", S)
Fin

54

Année Universitaire : 2023/2024


L’INSTRUCTION RÉPÉTER … TANT QUE
SCÉNARIO DE TEST
scénario de test pour le calcul de S = ∑ entiers (≠ 0)
Lecteur dans l’ordre 17, 12, 5, 3 et puis 0

Boucle lentier S lentier ≠0


Itération 0 17 17 V
Itération 1 12 29 V
Itération 2 5 34 V
Itération 3 3 37 V
Itération 4 0 37 F
55

Année Universitaire : 2023/2024


EXERCICE
Exercice
 Ecrire un programme qui saisit un entier et qui l'affiche à l'envers. Par exemple,
l'utilisateur saisit 123456 et le programme affiche 654321.
Pour cela il faudra utiliser la division et le modulo.

Algorithme Invers
Variables
Nb,r : entiers
Début
Lire(Nb)
Répéter
r  Nb mod 10
Ecrire(r)
Nb  Nb/10
Tant que (Nb ≠ 0)
Fin

56

Année Universitaire : 2023/2024


L’INSTRUCTION POUR
Syntaxe :
inst1
Pour(inst1; condition; inst3)
inst2
FinPour Non
condition
Dans ce cas le nombre d’itération
Oui
est connu à l’avance.
inst3 inst2
- inst1 est exécutée, elle permet
d’initialiser les variables de
contrôle de la boucle.
- condition est évaluée, si sa valeur est vraie alors inst2 est
exécutée. Ensuite inst3 est exécutée, elle permet de modifier les
variables de contrôle de la boucle. Si la valeur de la condition est
faux, la boucle s’arrête. 57

Année Universitaire : 2023/2024


EXEMPLE D’UTILISATION DE LA BOUCLE POUR

Écrire un algorithme qui permet de calculer le factorielle d’un


entier positif saisi au clavier.
Algorithme factorielle
Variables
lentier, i, Fact : entier
Début
Écrire("Saisir un nombre entier")
Lire(lentier)
Fact 1
Pour (i 2; i ≤ lentier; i i + 1)
Fact Fact*i
FinPour
Écrire("Le factorielle est", Fact)
Fin

58

Année Universitaire : 2023/2024


L’INSTRUCTION POUR EXEMPLE
scénario de test pour le calcul de Fact = 1*2*3*4*5

Boucle i i≤5 Fact


1
Itération 0 2 V 2
Itération 1 3 V 6
Itération 2 4 V 24
Itération 3 5 V 120
6 F 120
59

Année Universitaire : 2023/2024


EXERCICE
Exercice
 Ecrire un algorithme qui reçoit en entrée un nombre entier de 1 à 10 et affiche en sortie la
table de multiplication de ce nombre. Par exemple, si l’algorithme reçoit le nombre 7, il
affichera la table : – 1x7 = 7
– 2x7=14
–…
– 10x7=70

Algorithme Table_Multiplication
Variables
n,i : entiers
Début
Lire(n)
Pour (i  1; i ≤ 10; ii + 1)
Ecrire(i , "x ", n ," = ", i *n)

FinPour
Fin
60

Année Universitaire : 2023/2024


RÉSUMÉ
 Les instructions itératives (de boucle) permettent de répéter
l’exécution d’un bloc d’instructions (une ou plusieurs instructions)
un nombre d’itérations (un nombre de fois). Il y a trois
instructions de boucle : Pour (For), Tant-que (While) et
Répéter (Do…While).
 L’instruction de boucle Pour utilise un compteur (variable
entière), une valeur initiale (valeur entière) et une valeur finale
(valeur entière). Le nombre d’itérations est :
⚫ VF – VI + 1 si VF >= VI
⚫ 0 si VF < VI (Aucune Itération)
 L’instruction de boucle Tant-que utilise une condition de boucle :
si la condition est vérifiée on exécute l’itération, sinon on quitte la
boucle. À la fin de chaque itération la condition est réévaluée.
 L’instruction de boucle Répéter utilise une condition d’arrêt de
boucle : si la condition est vérifiée on exécute pas l’itération et on
quitte la boucle, sinon on exécute l’itération suivante.
61

Année Universitaire : 2023/2024

Vous aimerez peut-être aussi