Blog ENI : Toute la veille numérique !
🐠 -25€ dès 75€ 
+ 7 jours d'accès à la Bibliothèque Numérique ENI. Cliquez ici
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

Les instructions conditionnelles

Introduction

Dans le chapitre précédent, nous avons rappelé les actions simples à connaître : l’action d’affectation, l’action d’entrée et l’action de sortie. Les problèmes traités possèdent des solutions élémentaires constituées d’une suite finie et ordonnée d’actions simples, qui sont exécutées en séquence.

En réalité, les problèmes sont plus complexes que ça. Pour la résolution de certains d’entre eux, on se trouve confronté à choisir un traitement particulier à exécuter selon les valeurs de certains objets du problème. Pour cela, on peut avoir recours aux structures conditionnelles. Ces structures sont des structures de contrôle effectuant un test logique et permettant un choix entre divers blocs d’actions et de commandes suivant le résultat de ce test.

Une condition est une expression booléenne qui est conceptuellement ou logiquement vraie ou fausse. Une expression booléenne peut avoir des opérateurs relationnels et des opérateurs logiques. Mais si l’on veut que la comparaison ait un sens, il faut que les deux valeurs de la comparaison soient du même type ou de type compatible.

On distingue plusieurs formes d’instructions conditionnelles :

  • Structure conditionnelle...

L’instruction conditionnelle if

1. L’instruction conditionnelle simple if

La structure conditionnelle simple est basée sur l’évaluation d’une condition. Un traitement est exécuté si cette condition logique est satisfaite ; dans le cas contraire, rien ne se passe.

La commande if simple a la structure suivante :

La commande if - Syntaxe

if condition 
  instructions; 
end 

où :

  • condition : une variable de type booléen ou une expression qui retourne true, false

  • instructions : le traitement à effectuer si la condition est vraie

La structure conditionnelle simple est basée sur l’évaluation de la condition (expression logique). Elle permet de décider si un traitement s’exécute ou non. Donc MATLAB exécute la séquence d’instructions si et seulement si la condition est true. Si la condition est false, alors MATLAB ignore les instructions. Dans tous les cas, l’exécution est passée à l’instruction qui suit immédiatement le end.

À la différence de plusieurs langages de programmation, l’instruction conditionnelle en MATLAB n’utilise pas le mot-clé then. De plus, la fin de traitement conditionné se termine par le mot-clé end et non endif.

La commande if - Exemple n° 1

Écrire un script MATLAB permettant de saisir une note et d’afficher les messages :

- Valeur invalide (note < 0)

- Valeur invalide (note > 20)

- Valeur valide (notre entre 0 et 20)

% if_simple_1 
close all; clear all; clc; 
 
note = input('Taper la note (0 à 20) : '); 
 
if (note<0), 
  disp ('Valeur invalide (note < 0)'); 
end 
 
if (note>20), 
  disp ('Valeur invalide (note > 20)'); 
end 
 
if (note>= 0 & note<=20), 
  disp ('Valeur valide (note entre 0 et 20)'); 
end 

Résultat :

Taper la note (0 à 20) : 2

Valeur valide (note entre 0 et 20)

Les parenthèses autour de la condition logique ne sont pas obligatoires, mais elles peuvent améliorer la lisibilité du code.

Dans les langages de programmation classiques tels que C ou PASCAL, les expressions booléennes qui sont logiquement vraies...

L’instruction conditionnelle switch

La commande switch est une autre forme d’instruction conditionnelle. Elle peut souvent être utilisée à la place d’une instruction if imbriqué ou if-elseif. Elle permet à un programmeur de sélectionner une séquence d’instructions à exécuter en fonction de la valeur d’une expression (ou d’une variable) de type numérique ou alphanumérique ou d’une expression logique. Cependant, pour sélectionner la séquence, la commande switch utilise un sélecteur au lieu de multiples expressions booléennes. Le sélecteur est une expression dont la valeur est utilisée pour sélectionner l’une des solutions de rechange.

La structure conditionnelle switch est aussi appelée instruction à choix multiple ou sélective. Elle est souvent utilisée lorsqu’une liste d’options de choix existe pour une variable (ou une expression) donnée. Un switch peut contenir plusieurs cas, mais dès que le choix correspond à l’un des cas, le traitement correspondant est exécuté, et les cas suivants sont ignorés (même si un autre cas pourrait satisfaire l’expression du choix). Elle sélectionne entre plusieurs choix à la fois, et non entre deux choix alternatifs (le cas de la structure if-else).

La structure switch est similaire à if-else ou if-elseif. En fait...

L’instruction conditionnelle try-catch

La commande try-catch est une forme spéciale des instructions conditionnelles ; elle est conçue pour implémenter des traitements d’erreur. Son but est d’avoir un traitement qui permet à l’utilisateur d’intervenir en présence d’erreurs ou de situations inhabituelles. Sa syntaxe est la suivante :

La commande try-catch - Syntaxe

try 
    instructions1 
catch 
    instructions2. 
end 
    autres_instructions 
    ... 

où :

  • instructions1 : le traitement à effectuer dans le cas normal

  • instructions2 : le traitement à effectuer en cas d’erreur

  • autres_instructions : le traitement à effectuer après la commande try-catch

La commande try-catch - Exemple n° 1

Écrire un script MATLAB qui permet d’afficher l’élément d’un tableau, en entrant l’indice de ce dernier. Si la valeur introduite appartient à l’intervalle des indices, l’élément sera affiché, sinon un message d’erreur est envoyé.

% try_catch_1.m 
close all; clear all; clc; 
 
a = [ 1 -3 2 5] 
try 
indice = input('Entrez l''indice de l''élément a afficher : '); 
fprintf('a(%...