Algorithmique et programmation
Prof. Khaoula ADDAKIRI
Institut Supérieur des Sciences de la Santé
Février 2022
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 1
Algorithmique et programmation
Algorithmique
Plan
▪ Notion d’algorithme
▪ Notion des données
▪ Instructions élémentaires
▪ Structures de contrôle
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 2
Algorithmique et programmation
Notion d’algorithme
Définition
❑ Un algorithme est une suite finie d’opérations ou d'instructions permettant de
résoudre un problème ou d'obtenir un résultat.
❑ Le mot algorithme est dérivé du mathématicien arabe AL-Khawarizmi.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 3
Algorithmique et programmation
Notion d’algorithme
Ecrire un algorithme
❑ Analyser et comprendre le problème : étude des données fournies et des résultats
attendus.
❑ Résoudre le problème : trouvé les structures de données adaptées ainsi que
l’enchaînement des actions à réaliser pour passer des données aux résultats.
Comment exécuter un algorithme sur un ordinateur ?
Il faut traduire cet algorithme à l’aide d’un langage de programmation connu par
l’ordinateur.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 4
Algorithmique et programmation
Notion d’algorithme
Caractéristiques d’un algorithme
❑ La réalisation d’un algorithme est un acte créatif basé sur la logique.
❑ Un algorithme doit être fini et doit se terminer après un nombre fini d’opérations.
❑ Un même problème peut être résolu au moyen de plusieurs algorithmes.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 5
Algorithmique et programmation
Notion d’algorithme
Schéma de résolution d’un problème
1. Identifier le problème : quelle(s) donnée(s), quel(s) résultat(s) ?
2. Organiser les actions : écrire l'algorithme (pseudo-code, organigramme)
a. Réfléchir aux informations à manipuler
b. Analyser le problème et le décomposer éventuellement en sous-problèmes
c. Rendre l'algorithme compréhensible et efficace
d. Penser à l'utilisateur
3. Traduire cet algorithme en langage de programmation
4. Compiler le programme pour qu'il puisse être exécutable
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 6
Algorithmique et programmation
Notion d’algorithme
Structure d’un algorithme
Deux types de notations pour représenter des algorithmes:
▪ L’organigramme représente graphiquement l’algorithme(avec des carrés, des
losanges, etc). C’est visuel (un dessin vaut mille mots!), mais ça exige plus de
travail de mise en page et plus d’espace sur papier.
▪ Le pseudo-code représente textuellement l’algorithme. Moins visuel, mais plus
facile à mettre sur papier et nécessite moins d’espace.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 7
Algorithmique et programmation
Notion d’algorithme
Structure d’un algorithme
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 8
Algorithmique et programmation
Notion d’algorithme
Structure d’un algorithme
Exemple
Algorithme Carre
Variable N : Entier
Début
Ecrire ("Entrez un nombre :")
Lire (N)
Ecrire ("Le carré de’ ", N, "est :",
N*N)
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 9
Algorithmique et programmation
Notion d’algorithme
Structure d’un algorithme
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 10
Algorithmique et programmation
Notion de données
Définition
▪ Les données sont des informations nécessaires au déroulement d’un algorithme.
▪ On distingue deux catégories :
✓ les variables.
✓ les constantes.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 11
Algorithmique et programmation
Notion de données: Les variables
Définition
▪ Un algorithme agit sur des nombres, des textes, …
▪ Ces différents éléments sont stockés dans des variables.
▪ On peut représenter une variable comme une boîte portant une étiquette (« le
nom de la variable ») à l’intérieur de laquelle on peut placer un contenu.
▪ En informatique, les variables sont des emplacements réservés dans la mémoire
de l’ordinateur auxquels on attribue une étiquette.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 12
Algorithmique et programmation
Notion de données: Les variables
Définition
▪ Une variable est un objet contenant une valeur qui peut être modifiée au cours de
l'algorithme.
▪ Une variable est caractérisée par :
▪ Un identificateur (son nom) : pour le désigner cet identificateur doit être
parlant : q=quotient; Moy=Moyenne; ADR=Adresse...
▪ Un type (nature de l'objet : entier, caractère...) simple ou structuré. Un type
détermine en particulier les valeurs possibles de l'objet et les opérations
primitives applicables à l'objet. Exemples: Entier, Réel, caractères, chaine
de caractères…;
▪ Une valeur (contenu de l'objet/variable) unique. Cette valeur peut varier au
cours de l'algorithme ou d'une exécution à l'autre.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 13
Algorithmique et programmation
Notion de données: Les variables
Caractéristiques d’une variable
▪ Une variable est caractérisée par son nom (identificateur), sa valeur (contenu) et
son type.
▪ Pour déclarer une variable :
Variable nom du variable : type
▪ Exemple :
Variable moyenne : réel
Variable âge : entier
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 14
Algorithmique et programmation
Notion de données: Les variables
Caractéristiques d’une variable
Le choix de l’identificateur d’une variable suit 3 règles:
▪ Le nom d’une variable doit être constitué uniquement de lettres alphabétiques, de
chiffres et du soulignement « _ » (pas de caractères spéciaux)
▪ Il doit commencer par une lettre alphabétique.
▪ Le nom d’une variable doit être différent des mots réservés au langage de
description algorithmique
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 15
Algorithmique et programmation
Notion de données: Les variables
Exercice
Lesquels des identificateurs suivants sont acceptés ?
▪ fonction-1
▪ _MOYENNE_du_MOIS_
▪ 3e_jour
▪ Entier
▪ limite_inf.
▪ lim_supérieure
▪ __A_
▪ Fin
▪ _
▪ a
▪ 3
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 16
Algorithmique et programmation
Notion de données: Les variables
Types des variables
▪ Type caractère
❖ lettres, chiffres, ponctuation, code des opérations, espace,…
❖ Exemples : ‘a’ ‘+’ ‘.’
Exemple de représentants des caractères
• ’a’ -- le caractère a
• ’\’’ -- le caractère ’
• ’\\’ -- le caractère \
• ’\n’ -- retour à la ligne
• ’\t’ -- Caractère tabulation
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 17
Algorithmique et programmation
Notion de données: Les variables
Types des variables
▪ Type chaîne de caractères
❖ Suites de caractères
❖ Exemples : "bonjour" " TRRR_S2"
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 18
Algorithmique et programmation
Notion de données: Les variables
Types des variables
▪ Type entier
❖ Les nombres entiers
❖ Exemples : 2 -165 1333252
▪ Type réel
❖ Les nombres réels
❖ Exemples : 5,44 -2,16 25,0
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 19
Algorithmique et programmation
Notion de données: Les variables
Types des variables
▪ Type booléen
❖ Que deux valeurs possibles
❖ Soit VRAI, soit FAUX
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 20
Algorithmique et programmation
Notion de données: Les variables
Priorité des opérateurs
▪ Ci-dessus l'ordre de priorité des opérateurs arithmétiques : (du plus prioritaire au
moins prioritaire)
Priorité 1 (la plus forte): ()
Priorité 2: ! ++ --
Priorité 3: */%
Priorité 4: +-
Priorité 5: < <= > >=
Priorité 6: == !=
Priorité 7: &&
Priorité 8: ||
Priorité 9 (la plus faible): = += -= *= /= %=
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 21
Algorithmique et programmation
Notion de données: Les variables
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 22
Algorithmique et programmation
Notion de données: Les constantes
Définition
▪ Une constante est une donnée fixe qui ne varie pas durant l’exécution d’un
algorithme.
▪ Une constante est caractérisée par son nom et sa valeur (fixe).
▪ Syntaxe : Constante nom_constante=contenu
▪ Exemple :
• Constante Pi =3,14
• Constante Mois = '' Mars''
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 23
Algorithmique et programmation
Notion de données: Les constantes
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 24
Algorithmique et programmation
Instructions élémentaires
Définition d’une instruction
▪ Une instruction est une action élémentaire commandant à la machine un calcul, ou
une communication avec l'un de ses périphériques d'entrées ou de sorties.
▪ Les instructions de base sont :
❖ L’instruction d’affectation : permet de donner une valeur à une variable
(mettre cette valeur dans la case mémoire)
❖ L'instruction d'entrée : permet à l’ordinateur de récupérer ce que l’utilisateur
saisit au clavier
❖ L'instruction de sortie : permet à l’ordinateur d’afficher sur l'écran ce qu’on
veut (le résultat d’un calcul, le contenu d’une variable, un message…
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 25
Algorithmique et programmation
Instructions élémentaires
Instruction d'affectation
▪ L'affectation permet d'affecter une valeur à une variable.
▪ Elle est symbolisée en algorithmique par "←".
▪ Le signe "←" précise le sens de l'affectation.
▪ Syntaxe :
Variable ← Expression
▪ Expression peut être soit :
• identificateur;
• constante;
• expression arithmétique;
• expression logique.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 26
Algorithmique et programmation
Instructions élémentaires
Instruction d'affectation
▪ Exemple 1
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 27
Algorithmique et programmation
Instructions élémentaires
Instruction d'affectation
▪ Exemple 2
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 28
Algorithmique et programmation
Instructions élémentaires
Instruction d'affectation
▪ Mécanisme :
1. Evaluation de l’expression qui se trouve à droite de la flèche
2. Rangement de ce résultat dans la variable dont l’identificateur est à gauche de la
flèche
▪ Important : le type du résultat de l’expression doit être compatible avec le type de
la variable.
▪ Exemple unEntier : entier unReel : réel unCar : caractère
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 29
Algorithmique et programmation
Instructions élémentaires
Exercice 1
Quelles seront les valeurs des variables après exécution de l’algorithme suivant ?
Algorithme Ex1
Variables A, B : Entiers
Début
A ← 15
B ← 2*A - 6
A ← 13
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 30
Algorithmique et programmation
Instructions élémentaires
Exercice 2
Quelles seront les valeurs des variables après exécution de l’algorithme suivant ?
Algorithme Ex2
Variables A, B : Entiers
Début
A←3
B ← 10
C ← A+B
B ← A+B
A←C
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 31
Algorithmique et programmation
Instructions élémentaires
Exercice 3
Quelles seront les valeurs des variables après exécution de l’algorithme suivant ?
Algorithme Ex3
Variables A, B : Entiers
Début
A ← "12"
B ← "345"
C←A&B
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 32
Algorithmique et programmation
Instructions élémentaires
Exercice 4
Quelles seront les valeurs des variables après exécution de l’algorithme suivant ?
Algorithme Ex4
Variables A, B, C : Entiers
Début
A ←3
B ←10
C ←A + B
B ←A * C
A ←C % 4
C ←A - B/A
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 33
Algorithmique et programmation
Instructions élémentaires
Instruction d'entrée
▪ L'instruction d'entrée ou de lecture donne la main à l'utilisateur pour saisir une
donnée au clavier.
▪ La valeur saisie sera affectée à une variable.
▪ Permet à un utilisateur de communiquer des données à l’algorithme (quand on
demande à l’utilisateur de saisir une valeur)
▪ Stocke la valeur entrée dans l’espace mémoire réservé à la variable mentionnée
▪ Tant que l'utilisateur n'entre rien au clavier, le déroulement de l’algorithme est
bloqué
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 34
Algorithmique et programmation
Instructions élémentaires
Instruction d'entrée
▪ Syntaxe :
Lire (identificateur)
▪ Exemples :
Lire (A)
Lire (A, B, C)
▪ L'instruction Lire (A) permet à l'utilisateur de saisir une valeur au clavier. Cette
valeur sera affectée à la variable A.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 35
Algorithmique et programmation
Instructions élémentaires
Instruction de sortie
▪ Syntaxe :
Ecrire (expression)
Expression peut être une valeur, une résultat, un message, le contenu d'une variable,
etc.
▪ Exemples:
Ecrire (A)
Cette instruction permet d'afficher à l'écran la valeur de la variable A.
Ecrire (A+B)
Cette instruction permet d'afficher à l'écran la valeur de A+B.
A←2
Ecrire ("La valeur de A est =",A)
La dernière instruction affiche à l'écran : La valeur de A est = 2
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 36
Algorithmique et programmation
Instructions élémentaires
Exercice 1
Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et affiche
le carré de ce nombre.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 37
Algorithmique et programmation
Instructions élémentaires
Exercice 2
Ecrire un algorithme qui échange la valeur de deux variables. Exemple, si a= 1 et
b = 3, le programme donnera a = 3 et b = 1.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 38
Algorithmique et programmation
Instructions élémentaires
Exercice 3
Ecrire un algorithme qui vous demande à l’utilisateur de saisir son nom puis son
prénom et qui affiche ensuite son nom complet
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 39
Algorithmique et programmation
Instructions élémentaires
Exercice 4
Ecrire un algorithme qui permet de saisir le prix HT (PHT) d'un article et de calculer
son prix total TTC (PTTC), TVA = 20%.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 40
Algorithmique et programmation
Instructions élémentaires
Exercice 5
Ecrire un algorithme qui permet de calculer le Périmètre d’un triangle ,sachant que :
P = A+B+C (A et B et C sont les longueurs des côtés du triangle)
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 41
Algorithmique et programmation
Instructions élémentaires
Exercice 6
Ecrire un algorithme qui permet de calculer la surface d'un cercle de rayon R:
S = pi * R^2 (pi =3,14)
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 42
Algorithmique et programmation
Structures de contrôle
Définition
Les structures de contrôle décrivent l’enchaînement des instructions. Elles permettent
des traitements séquentiels, conditionnels ou répétitifs (itératifs).
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 43
Algorithmique et programmation
Structures de contrôle
La structure séquentielle
La structure séquentielle est une structure dont les instructions sont exécutées l’une
après l’autre de façon à ce que l’ordre des instructions est respecté.
Exemple
Algorithme Echange
Variables X, Y, Z : Entiers
Début
Ecrire ("donnez la valeur de X : ")
Lire (X)
Ecrire ("donnez la valeur de Y : ")
Lire (Y)
Z←X
X←Y
Y←Z
Ecrire ("La valeur de X est : ",X)
Ecrire ("La valeur de Y est : ",Y)
Fin.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 44
Algorithmique et programmation
Structures de contrôle
La structure séléctive
La structure sélective est une structure dont les instructions sont exécutées selon les
réponses des conditions.
La structure sélective simple (un choix) :
Syntaxe :
Si Condition Alors
Instructions ;
Fin si
❖ Si la condition vaut Vrai alors le bloc d’instructions sera exécuté, sinon il sera
ignoré.
Exemple : Un algorithme qui affiche le maximum de deux nombres réels
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 45
Algorithmique et programmation
Structures de contrôle
La structure sélective
La structure sélective est une structure dont les instructions sont exécutées selon les
réponses des conditions.
Exemple
Algorithme Maximum
Variables A, B, Max : Réels
Début
Ecrire ("Entrez les valeurs de A et de B: ")
Lire (A , B)
Max ← A
Si Max < B Alors
Max ← B ;
Fin si
Ecrire (" Le maximum est égale à :", Max)
Fin.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 46
Algorithmique et programmation
Structures de contrôle
La structure alternative
Syntaxe:
Si Condition Alors
Instructions1 ;
Sinon
Instructions2;
Fin si
▪ Si la condition vaut Vrai alors le bloc d’instructions1 sera exécuté, et le bloc
d’instructions2 sera ignoré,
▪ Sinon le bloc d’instructions2 sera exécuté et le bloc d’instructions1 sera ignoré.
Exemple : Un algorithme qui demande un nombre entier à l’utilisateur, et
l’informe ensuite si ce nombre est positif ou négatif
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022| 47
Algorithmique et programmation
Structures de contrôle
Exemple
Algorithme Nature_nombre
Variable n : Entier
Début
Ecrire ("Entrez un nombre : ")
Lire( n)
Si n > 0 Alors
Ecrire ("Ce nombre est positif " ) ;
Sinon
Ecrire ("Ce nombre est négatif " ) ;
Fin si
Fin
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 48
Algorithmique et programmation
Structures de contrôle
La structure alternative imbriquée
Syntaxe:
Si Condition1 Alors
Instructions1 ;
Sinon
Si Condition2 Alors
Instructions2;
Sinon
Instructions 3;
Fin si
Fin si
Exemple : Un algorithme qui demande un nombre à l’utilisateur, et l’informe
ensuite si ce nombre est positif ou nul ou négatif.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 49
Algorithmique et programmation
Structures de contrôle
Exemple
Algorithme Nature_nombre
Variable n : Entier
Début
Ecrire ("Entrez un nombre : ")
Lire (n)
Si n > 0 Alors
Ecrire ("Ce nombre est positif ") ;
Sinon
Si n = 0 Alors
Ecrire ("Ce nombre est nul") ;
Sinon
Ecrire ("Ce nombre est négatif ") ;
Fin si
Fin si
Fin.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 50
Algorithmique et programmation
Structures de contrôle
La structure à choix multiple
Lorsque l’imbrication des alternatives devient importante, l’utilisation de la structure à
choix multiple devient nécessaire.
Syntaxe :
Cas Variable ou Expression Vaut
Val 1 : Instructions 1 ;
Val 2 : Instructions 2 ;…
Val n : Instructions n ;
Sinon
Autres Instructions ;
Fin Cas
▪ Si Variable vaut une valeur (val 1, val 2,……. val n) alors c’est le bloc Instructions
correspond à cette valeur qui sera exécuté et tous les autres blocs seront ignorés.
▪ Si Variable n’a aucun valeur parmi val 1, val 2,……. val n, alors c’est le bloc autre
instructions qui sera exécuté et les instructions associées à les valeurs val 1,
val2,……. val n, Seront ignorés.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 51
Algorithmique et programmation
Structures de contrôle
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 52
Algorithmique et programmation
Structures de contrôle
Exercice 1
Ecrire un algorithme qui détermine si un nombre entier n saisi au clavier est pair ou
impair.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 53
Algorithmique et programmation
Structures de contrôle
Exercice 2
Ecrire un algorithme qui teste si une note saisie au clavier est comprise entre 0 et 20.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 54
Algorithmique et programmation
Structures de contrôle
Exercice 3
Ecrire un algorithme détermine la valeur absolue d’un nombre réel.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 55
Algorithmique et programmation
Structures de contrôle
Exercice 4
Ecrire un algorithme qui permet d'afficher le maximum parmi deux nombres saisis au
clavier.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 56
Algorithmique et programmation
Structures de contrôle
Exercice 5
Ecrire un algorithme qui résout une équation du premier degré : A * x + B =0.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 57
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
▪ Une structure de contrôle Itératif permet de répéter plusieurs fois le même
traitement.
▪ La répétition d’un bloc d’actions est définie par des actions spéciales que nous
appelons des boucles
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 58
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Il existe 3 formes de structures répétitives :
▪ La forme TANT QUE
▪ La forme REPETER
▪ La forme POUR
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 59
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle TantQue
▪ La répétition TantQue permet d’exécuter une séquence d’instructions tant qu’une
condition est vraie.
Evaluation :
▪ La condition est évaluée.
▪ Si la condition est vraie, on exécute la séquence.
▪ Si la condition est fausse, on exécute la suite (on sort donc de la boucle).
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 60
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle TantQue En Organigramme
Syntaxe :
TANTQUE <conditions>FAIRE
<actions>
FINTANTQUE
Ces actions peuvent être simples ou
composées
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 61
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
i← 1
TANTQUE ( i≤5)
FAIRE
ECRIRE (i*i)
i ← i+1
FINTANTQUE
Question : Qu'est ce qu'il fait la programme ?
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 62
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Remarque :
▪ Le contenu de la structure TANTQUE peut ne jamais être exécuté. Donc cette
structure permet en réalité de répéter un traitement 0, 1 ou plusieurs fois.
▪ La condition étant évaluée au début, les variables utilisées dans la condition
doivent avoir été initialisées.
▪ On doit s'assurer de la terminaison (sinon le programme ne se termine jamais)
▪ Pour cela, il faut nécessairement que dans le corps de la structure, la condition soit
modifiée quelque part.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 63
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle Répéter En Organigramme
Syntaxe : Syntaxe :
Répéter <actions> Répéter <actions>
JUSQU’A <condition> Tantque <conditions>
Fonctionnement :
▪ on exécute le corps
▪ on évalue la condition , puis
o si la condition est vraie : on quitte le
REPETER
o si la condition est fausse on recommence
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 64
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle Répéter
Remarque :
▪ Il y a toujours au moins une exécution du corps. La structure Répéter permet de
répéter un traitement 1 ou plusieurs fois.
▪ Pour choisir entre Répéter et tant que il faut se poser la question : faut-il
éventuellement ne jamais faire le traitement ? Si oui : il faut utiliser tant que,
sinon utiliser la structure Répéter qui exécute au moins une fois l'action.
NB: Attention, en C par exemple :
▪ La structure est do...while : c'est à dire Faire...TANTQUE .
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 65
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Exemple
RÉPÉTER
ÉCRIRE "Nombre positif?"
LIRE Nombre
JUSQU'À Nombre > 0
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 66
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
ÉCRIRE "Nombre positif?"
LIRE Nombre
TANTQUE Nombre <= 0 FAIRE
ÉCRIRE "Nombre positif?"
LIRE Nombre
FINTANTQUE
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 67
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle Pour
▪ Il est fréquent que le nombre de répétitions soit connu à l'avance, et que l'on ait
besoin d'utiliser le numéro de l'itération afin d'effectuer des calculs ou des tests.
▪ Le mécanisme permettant cela est la boucle POUR.
▪ Cette boucle permet de parcourir un intervalle en répétant un traitement pour
chacune des valeurs de cet intervalle
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 68
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle Pour
Syntaxe :
Pour <id_variable> de <val_inférieure> à <val_supérieure> [par pas de<val_pas>]
Faire <actions>
Finpour
Fonctionnement :
1. Automatiquement, on a id_variable ≤ val_inférieure Donc, on n'a pas besoin
d'initialiser, la structure se charge de la faire
2. id_variable > val_supérieure ? :
Si oui alors STOP, on quitte la structure
Sinon :
▪ automatiquement, l'incrémentation se fait (+1 ou + pas si l'on a définit un
pas particulier, par défaut, le Pas est 1)
▪ on remonte au début du 2 pour tester la condition
id_variable > val_supérieure ?
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 69
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
La boucle Pour
Remarques :
▪ Il est possible que l'action ne soit jamais exécutée.
▪ Il est possible aussi d'avoir un intervalle inversé à condition d'avoir un pas
négatif.
Utilisation du POUR :
▪ On s'en sert dès que l'on connaît au début de la boucle le nombre de répétitions à
effectuer.
▪ Dans les cas contraire, on utilisera des Tant que ou des Répéter
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 70
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Exercice
Ecrire l'algorithme permettant d'afficher la table de multiplication par 9.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 71
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Comment choisir la structure itérative adaptée ?
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 72
Algorithmique et programmation
Structures de contrôle
Les structures répétitives
Exercice
S←1
Répéter
LIRE (S)
S←S+1
Jusqu’à S >= 5
1. Faire fonctionner l’algorithme à la main. Indiquer quels sont les affichages que
l’on obtient.
2. Ecrire un algorithme avec une boucle « Tantque » qui permette d’obtenir les
mêmes affichages.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 73
Algorithmique et programmation
Structures de contrôle
Exercice 1
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les
dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme
affichera les nombres de 18 à 27.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 74
Algorithmique et programmation
Structures de contrôle
Exercice 2
Réécrire l'algorithme précédent, en utilisant cette fois l'instruction Pour
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 75
Algorithmique et programmation
Structures de contrôle
Exercice 3
Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table
de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le
nombre 7) :
Table de 7 :
7x1=7
7 x 2 = 14
…
7 x 10 = 70
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 76
Algorithmique et programmation
Structures de contrôle
Exercice 4
Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des
entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer :
1 + 2 + 3 + 4 + 5 = 15
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 77
Algorithmique et programmation
Structures de contrôle
Exercice 5
Réécrire l'algorithme qui calcule cette fois la moyenne !
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 78
Algorithmique et programmation
Exercice
Exercice 1
Ecrire l'algorithme qui affiche la somme des prix d'une suite d'articles en DH
(entiers) saisies par l'utilisateur et se terminant par zéro.
1. Tantque
2. Répéter
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 79
Algorithmique et programmation
Exercice
Exercice 2
Ecrire un algorithme qui résout une équation du premier degré : A * x + B =0.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 80
Algorithmique et programmation
Exercice
Exercice 3
Ecrire un algorithme qui demande de saisir au clavier la taille de 10 personnes et
qui calcule le nombre de personne dont la taille est plus petite que 1,70 m.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 81
Algorithmique et programmation
Exercice
Exercice 4
Ecrire un algorithme qui affiche à l’écran le rectangle d’étoiles ci-dessous. Chaque
ligne contient 19 étoiles. Le nombre de lignes est 10.
*******************
*******************
*******************
*******************
*******************
*******************
*******************
*******************
*******************
*******************
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 82
Algorithmique et programmation
Exercice
Exercice 5
Ecrire un algorithme permettant de saisir N notes, de calculer leur somme et leur
moyenne de ces notes.
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 83
Algorithmique et programmation
Exercice
Exercice 6
Ecrire l'algorithme permettant d'imprimer le triangle suivant, le nombre de lignes
étant donné par l'utilisateur :
1
12
123
1234
12345
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 84
Algorithmique et programmation
Exercice
Exercice 7
Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8 !, vaut
1x2x3x4x5x6x7x8
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 85
Algorithmique et programmation
Exercice
Exercice 8
Ecrire un algorithme qui demande un nombre, calcule et affiche la Somme σ𝑛𝑖=1 𝑖 2
Khaoula ADDAKIRI (ISSS) Algorithmique et programmation Février 2022 | 86