Chapitre 2 : Instructions conditionnelles

Instructions conditionnelles

Les instructions de contrôle utilisées en algorithmique se divisent en 2 grandes catégories : les instructions conditionnelles et les instructions de bouclage. Les instructions conditionnelles permettent de choisir entre des traitements différents, et les instructions de bouclage sont utilisées pour répéter plusieurs fois un même traitement. Dans cette section, nous détaillons l'ensemble des instructions conditionnelles existantes.

Alternatives à un ou deux choix

Ces instructions conditionnelles se basent sur la réalisation d'une seule condition pour choisir le traitement à exécuter. Elles peuvent prendre deux formes, à savoir : l’alternative simple, ou l’alternative complète.

L'alternative simple

L’alternative simple (appelée aussi instruction conditionnelle SI ... ALORS) est une instruction que nous utilisons lorsque nous voulons effectuer un traitement spécifique si une condition est vraie, et ne rien faire si la condition est fausse. Souvent la condition utilisée dans l'instruction SI ... ALORS est de comparaison.

SyntaxeL'instruction SI ... ALORS

La syntaxe algorithmique de cette instruction est[1] :

1
SI (condition) ALORS
2
 Traitement ;
3
FIN SI ;

En langage C :

1
if (condition)
2
 {
3
  Traitement ;
4
 }
Organigramme de alternative simple.
ExempleLa valeur absolue d'un entier

Écrire un algorithme qui calcule la valeur absolue d'un entier.

1
ALGORITHME valeur_absolue;
2
VAR Nombre : Entier ;
3
DÉBUT 
4
 LIRE (nombre) ;
5
 SI (nombre < 0) ALORS
6
  nombre <- -(nombre) ;
7
 FIN SI;
8
 ÉCRIRE ('La valeur absolue est', nombre) ;
9
FIN.
ExempleL'inverse d'un nombre : algorithme plus complet

Améliorer l'algorithme "Inverse" pour prendre en considération le cas de la division par zero.

1
ALGORITHME InverseComplet ;
2
VAR nombre: Réel ;
3
DÉBUT
4
 ÉCRIRE (‘Donner un nombre') ;
5
 LIRE (nombre) ;
6
 SI (nombre <> 0) ALORS
7
  ÉCRIRE (‘L'inverse du nombre : ‘, nombre, ‘ est : ‘, 1/nombre) ;
8
 FIN Si ;
9
 SI (nombre = 0) ALORS
10
  ÉCRIRE (‘le nombre tapé est nul‘) ;
11
 FIN Si ;
12
FIN.

L'alternative complète

L’alternative complète (également appelée instruction conditionnelle SI ... ALORS ... SINON) exprime un choix entre deux traitements : Traitement 1 et Traitement 2. Lorsque la condition de l'instruction est satisfaite (retourne VRAI), nous effectuons directement Traitement 1. Lorsque la condition n'est pas satisfaite (retourne FAUX), nous ignorons Traitement 1 et nous effectuons Traitement 2.

SyntaxeL'instruction SI ... ALORS ...... SINON

La syntaxe algorithmique de l'instruction est donnée comme suit[1] :

1
SI (condition) ALORS
2
 Traitement 1 ;
3
SINON
4
 Traitement 2 ;
5
FIN SI ;

En langage C :

1
if (condition)
2
 {
3
  Traitement 1 ;
4
 }else
5
  {
6
   Traitement 2 ;
7
  }
Organigramme de l'alternative complète.
ExempleL'inverse d'un nombre avec l'alternative complète

Écrire un algorithme qui calcule l'inverse d'un nombre en utilisant l’alternative complète.

1
ALGORITHME InverseAltcomp; 
2
VAR  nombre : Réel ; 
3
DÉBUT 
4
 LIRE (nombre) ;
5
	SI (nombre <> 0) ALORS
6
   ÉCRIRE ('L'inverse du nombre : ', nombre, ' est : ', 1/nombre) ;
7
	SINON
8
	 ÉCRIRE ('le nombre introduit est nul') ;
9
	FIN SI ;
10
FIN.

Alternative à plusieurs choix

Dans le cas d'un choix multiple, il est possible d'imbriquer plusieurs instructions conditionnelles simples ou complètes pour former une structure plus complexe capable de supporter le nombre de choix à faire.

ExempleL'observation selon la moyenne d'un étudiant

Écrire un algorithme qui lit la moyenne d'un étudiant et lui affiche une observation. L'observation est :

  • Admis si la moyenne est supérieure ou égale à10.

  • Racheté si la moyenne est strictement inférieure à10 et supérieure ou égale à 9.5.

  • Ajourné si la moyenne est strictement inférieure à 9.5.

1
ALGORITHME Observation ;
2
VAR  Moyenne : Réel ;
3
DÉBUT
4
 LIRE (Moyenne);
5
 SI (Moyenne >= 10) ALORS 
6
  ÉCRIRE ('Admis'); 
7
 SINON
8
   SI (Moyenne >= 9.5) ALORS
9
    ÉCRIRE ('Racheté');
10
   SINON
11
    ÉCRIRE ('Ajourné');
12
   FIN SI ;
13
 FIN SI ;
14
FIN.

L'instruction SELON ... FAIRE (CASE ... OF)

Cette instruction conditionnelle est appelée aussi condition à choix sélectif. Car, elle sélectionne entre plusieurs choix à la fois, et non entre deux choix alternatifs. La particularité de cette instruction est l'utilisation d'une expression arithmétique, contrairement aux instructions précédentes qui utilisent une ou plusieurs conditions.

SyntaxeL'instruction SELON ... FAIRE

La syntaxe algorithmique de l'instruction SELON ... FAIRE est comme suit[2] :

1
SELON (expression) FAIRE
2
 CAS C1 : Traitement 1 ;
3
 CAS C2 : Traitement 2 ;
4
 CAS C3 : Traitement 3 ;
5
 ...
6
 CAS CN : Traitement N ;
7
 CAS AUTRE Traitement (N+1) ;
8
FIN SELON ;

En langage C :

1
switch (expression) 
2
 {
3
 case C1 : Traitement 1 ; break; 
4
 case C2 : Traitement 2 ; break; 
5
 case C3 : Traitement 3 ; break; 
6
 ...
7
 case CN : Traitement N ; break; 
8
 default : Traitement (N+1) ;
9
END;
Organigramme de l'instruction conditionnelle SELON ... FAIRE.

ExempleLe nombre de jours d'un mois

Écrire un algorithme qui affiche le nombre de jours d'un mois donné par l'utilisateur.

1
ALGORITHME jours_mois ;
2
VAR mois : Entier ; 
3
DÉBUT
4
 ÉCRIRE ('De quel mois s'agit-il?');
5
 LIRE (mois) ;
6
 SELON (mois) FAIRE
7
	CAS 1 , 3 , 5 , 7 , 8 , 10 , 12 : ÉCRIRE ('Nombre de jours : 31' ) ;
8
	CAS 4 , 6 , 9 , 11 : ÉCRIRE ('Nombre de jours : 30') ; 
9
	CAS 2 : ÉCRIRE ('Nombre de jours : 28 ou 29') ; 
10
  CAS AUTRE ÉCRIRE ('Ce mois n'existe pas') ;
11
 FIN  SELON ;
12
FIN. 
  1. 3

    M. C. Belaid. Algorithme et programmation en Pascal. Edition les pages bleus, 2006.

  2. 4

    T. H. Cormen, C. E. Leiserson, R. L. Rivest, and C. Stein. Algorithmique : Cours avec 957 exercices et 158 problèmes. Édition DUNOD, 3ème édition, 2010.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimerRéalisé avec Scenari (nouvelle fenêtre)