Structures Alternatives, Study notes of Algorithms and Programming

Cours de Algo de Mme Hind Elouedi pour L1-TI

Typology: Study notes

2025/2026

Uploaded on 01/26/2026

tesnim-elloumi
tesnim-elloumi 🇹🇳

12 documents

1 / 6

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Hind Elouedi Page 1
Chapitre 3 : Structures alternatives (décisionnelles)
Objectif général : Utiliser les structures décisionnelles dans la construction des algorithmes.
I. Introduction
I.1. Exemple introductif
Souvent, on est confronté à des situations où il faut faire un choix en se basant sur des critères qui
sont exprimés par des conditions. Cette notion est exprimée par les structures décisionnelles ou
conditionnelles. Voici dans ce qui suit un exemple qui explique cette notion.
Exemple
On se propose de déterminer les différents résultats relatifs aux moyennes des étudiants d’une
institution. Pour ce faire, il faut avoir la moyenne déjà calculée puis la faire passer à travers des filtres
ou ce qu’on appelle tests ou encore conditions. Si elle vérifie l’une des conditions, la mention
correspondante sera communiquée. Les filtres à exprimer sont les suivants :
Si (moyenne 0) et (moyenne < 10) Alors le résultat est : Redouble.
Si (moyenne 10) et (moyenne < 12) Alors le résultat est : Admis Passable.
Si (moyenne 12) et (moyenne < 14) Alors le résultat est : Admis Assez Bien.
Si (moyenne 14) et (moyenne < 16) Alors le résultat est : Admis Bien.
Si (moyenne 16) et (moyenne 20) Alors le résultat est : Admis Très Bien.
Si (moyenne > 20) ou (moyenne < 0) Alors le résultat est : Moyenne invalide.
L’évaluation de chacune des conditions donne deux valeurs possibles, Vrai ou Faux, c’est une valeur
logique. Si la condition a la valeur Vrai, le traitement qui suit est alors effectué.
I.2. Définition de choix
On a vu, jusqu'ici, qu'on peut souvent rencontrer des situations qui ne peuvent pas être traitées par
les seules séquences utilisant les instructions de base. En effet, on a besoin parfois de choisir entre
deux ou plusieurs traitements selon la réalisation ou non d'une certaine condition, d'où la notion de
traitement conditionnel. On peut distinguer trois structures de traitement conditionnel :
Une structure conditionnelle simple : dans laquelle on a à choisir entre deux traitements au plus.
On distingue deux structures conditionnelles simples :
Une structure conditionnelle à un seul choix (structure simple réduite).
Une structure conditionnelle à deux choix (structure simple complète).
Une structure conditionnelle à plusieurs choix (structure généralisée) : dans laquelle on a la
possibilité de choisir un traitement parmi plusieurs.
pf3
pf4
pf5

Partial preview of the text

Download Structures Alternatives and more Study notes Algorithms and Programming in PDF only on Docsity!

Chapitre 3 : Structures alternatives (décisionnelles)

Objectif général : Utiliser les structures décisionnelles dans la construction des algorithmes.

I. Introduction

I.1. Exemple introductif Souvent, on est confronté à des situations où il faut faire un choix en se basant sur des critères qui sont exprimés par des conditions. Cette notion est exprimée par les structures décisionnelles ou conditionnelles. Voici dans ce qui suit un exemple qui explique cette notion. Exemple On se propose de déterminer les différents résultats relatifs aux moyennes des étudiants d’une institution. Pour ce faire, il faut avoir la moyenne déjà calculée puis la faire passer à travers des filtres ou ce qu’on appelle tests ou encore conditions. Si elle vérifie l’une des conditions, la mention correspondante sera communiquée. Les filtres à exprimer sont les suivants :  Si (moyenne  0) et (moyenne < 10) Alors le résultat est : Redouble.  Si (moyenne  10) et (moyenne < 12) Alors le résultat est : Admis Passable.  Si (moyenne  12) et (moyenne < 14) Alors le résultat est : Admis Assez Bien.  Si (moyenne  14) et (moyenne < 16) Alors le résultat est : Admis Bien.  Si (moyenne  16) et (moyenne  20) Alors le résultat est : Admis Très Bien.  Si (moyenne > 20) ou (moyenne < 0) Alors le résultat est : Moyenne invalide. L’évaluation de chacune des conditions donne deux valeurs possibles, Vrai ou Faux , c’est une valeur logique. Si la condition a la valeur Vrai , le traitement qui suit est alors effectué. I.2. Définition de choix On a vu, jusqu'ici, qu'on peut souvent rencontrer des situations qui ne peuvent pas être traitées par les seules séquences utilisant les instructions de base. En effet, on a besoin parfois de choisir entre deux ou plusieurs traitements selon la réalisation ou non d'une certaine condition, d'où la notion de traitement conditionnel. On peut distinguer trois structures de traitement conditionnel :  Une structure conditionnelle simple : dans laquelle on a à choisir entre deux traitements au plus. On distingue deux structures conditionnelles simples :  Une structure conditionnelle à un seul choix (structure simple réduite).  Une structure conditionnelle à deux choix (structure simple complète).  Une structure conditionnelle à plusieurs choix (structure généralisée) : dans laquelle on a la possibilité de choisir un traitement parmi plusieurs.

II. Structures alternatives simples

II.1. structure conditionnelle à un seul choix La structure conditionnelle à un seul choix se présente comme suit : Figure 3. 1 : Structure alternative simple à un seul choix II.2. Structure alternative à deux choix La structure conditionnelle à deux choix se présente comme suit : Figure 3.2 : Structure alternative simple à deux choix Remarque Si l'expression logique mentionnée après le mot Si , a la valeur logique Vrai , on exécute ce qui figure après le mot Alors ; si l'expression logique a la valeur logique Faux , on exécute ce qui figure après le mot Sinon. Exemple 1 L’algorithme suivant permet de lire un nombre entier, puis de vérifier s'il est pair ou impair.  Déclarer deux variables de type entier : une pour recevoir un nombre à partir du clavier, l'autre pour recevoir le reste de la division entière par 2.  Calculer, à l'aide de la fonction Mod , le reste de la division entière du nombre par 2.  Tester pour voir si le reste est égal à 0, dans ce cas le nombre est pair ; dans le cas contraire le nombre est impair. Algorithme Pair_Impair Variable nombre, reste : Entier Début Ecrire ("Donnez un nombre entier : ") Lire (nombre) reste  nombre Mod 2 Si (reste = 0) -- ou bien Si (nombre Mod 2 = 0) Alors Ecrire ("Le nombre ", nombre, " est pair") Sinon Ecrire ("Le nombre ", nombre, " est impair") FinSi Fin Si (expression_logique) Alors bloc d'instructions Sinon bloc d'instructions FinSi Si (expression_logique) Alors Instruction 1 Instruction 2 ... Instruction n FinSi

Algorithme Calcul_remise_Version Variable Montant, Remise : Réel Taux : Entier Début Ecrire ("Montant? (en Dinars) :") Lire (Montant) Si (Montant  2000) Alors Taux  0 Sinon Si (Montant = 5000) Alors Taux  5 Sinon Taux  10 FinSi FinSi Remise  Montant * Taux / 100 Montant  Montant – Remise Ecrire ("Montant Net :", Montant) Fin Remarque Notez que beaucoup d'autres formulations sont possibles. Ainsi, par exemple, on peut éviter l'emploi de choix imbriqués en utilisant trois structures conditionnelles simples : Si (Montant  2000) Alors Taux  0 FinSi Si (Montant = 2000) Et (Montant  = 5000) Alors Taux  5 FinSi Si (Montant  5000) Alors Taux  10 FinSi III. 2. Structure Selon La structure conditionnelle Selon est utilisée pour sélectionner une séquence possible d'instructions parmi plusieurs. Elle ressemble à la structure Si...Alors...Sinon , mais elle est plus efficace lorsqu'il s'agit de tester la même variable plusieurs fois pour des valeurs fixes. Sa forme se présente de la manière suivante : Figure 3.4 : Structure généralisée Selon Selon Sélecteur Faire Liste_valeurs1 : instructions exécutées si Sélecteur est inclus dans Liste_valeurs Liste_valeurs2 : instructions exécutées si Sélecteur est inclus dans Liste_valeurs ... Liste_valeursN : instructions exécutées si Sélecteur est inclus dans Liste_valeursN [ Sinon : instructions à exécuter si rien ne correspond] FinSelon

Sélecteur : est un identificateur de variable ou une expression de type scalaire.  Liste_valeurs1..Liste_valeursN : ce sont des valeurs servant aux tests. Elles peuvent être données sous forme de constantes et/ou d'intervalles constants de type compatible avec le sélecteur.  Liste_Valeurs1 (exemple 1 : 1..10 / exemple 2 : 1,3,5,7,9 / exemple 3 : 1..10, 20..30)  [...] : bloc facultatif. Remarque Si le contenu du sélecteur mentionné après le mot Selon correspond à une valeur parmi les listes des valeurs mentionnées après le mot Faire , on exécute toutes les instructions qui suivent cette valeur jusqu'à la liste de valeurs suivante. Si rien ne correspond, on exécute les instructions qui figurent après le mot Sinon. Puis l'algorithme sort de la structure et continue l'exécution après le mot FinSelon. Exemple 1 Cet algorithme permet de saisir une date sous la forme jj , mm , aa et d'afficher le nombre de jours du mois mm et le nombre de jours qui restent pour la fin de ce mois. Analyse  Déclarer 5 variables de type entier :  3 variables ( jj , mm et aa ) pour recevoir la date.  1 variable ( jtot ) pour recevoir le nombre total de jours du mois mm.  1 variable ( jreste ) pour calculer le nombre de jours restant pour la fin du mois mm.  Lire la date sous la forme demandée.  Sélectionner le bon mois.  Déterminer les valeurs des variables jtot et jreste en tenant compte des années bissextiles. Une année bissextile se dit de l’année de 366 jours sui revient généralement tous les 4 ans. Algorithme Jours Variable jj, mm, aa, jtot, jreste : Entier Début Ecrire ("Donnez la date sous la forme JJ MM AA : ") Lire (jj, mm, aa) --on suppose que la date saisie par l'utilisateur est valide Selon mm Faire 1, 3, 5, 7, 8, 10, 12 : jtot  31 --Janvier, Mars, Mai, Juillet, Août, Oct., Déc. 4, 6, 9, 11 : jtot  30 --Avril, Juin, Sept. et Nov. Sinon : --mois de Février Si (aa Mod 4 = 0) --année bissextile (février a 29 jours) Alors jtot  29 Sinon jtot  28 FinSi FinSelon jreste  jtot – jj Ecrire ("Le mois ", mm, " a ", jtot, " jours et il reste encore ", jreste, " jours pour sa fin") Fin