Cours Algo

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 86

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