Pour ce type d’instructions, le programmeur doit spécifier une ou plusieurs conditions qui seront testées, et les actions à exécuter lorsque ces conditions sont vérifiées et optionnellement celles à exécuter lorsque les conditions ne sont pas vérifiées.
L’expression à évaluer ne pourra renvoyer que deux types résultats ; VRAI ou FAUX. C’est le pourquoi on dira que c’est une expression booléenne.
Les conditions
L’instruction If
L’instruction If contient une expression booléenne, suivie par une ou plusieurs instructions. Le tout délimité par un « end ».
Syntaxe :
if expression
Instructions ;
Instructions ;
….
end
Lorsque l’expression à tester est vraie, les instructions qui suivent sont exécutées.
Exemple :
Créer un script qui demande à l’utilisateur de saisir un nombre au clavier, puis lui dit si ce nombre est inférieur à 50.
Nbre = input(‘Taper un nombre : ‘) ; if (Nbre < 50) % les parenthèses ne sont pas nécessaires ici fprint(‘%f est plus petit que 50’, Nbre) ; end
Lors de l’exécution de ce programme (par exemple si on saisi 35), on aura :
Taper un nombre : 35
35.0000 est plus petit que 50
L’instruction if …else
L' instruction if suivie par else, contient une expression booléenne, puis une série d'instructions avant et après le else.
Syntaxe :
if expression
Instruction1
else
Instruction2
end
Si l’expression booléenne à tester est vraie, alors l’instruction1 est exécutée ; si elle est fausse c’est l’instruction2 qui sera exécutée.
Exemple : créer un script qui demande à l’utilisateur de saisir un nombre au clavier, puis dit si le nombre saisi est pair ou impair.
Nbre = input(‘Taper un nombre : ‘) ; if(mod(nNbre,2)) == 0 % si le reste de la division par deux est égal à 0 fprintf(‘%f est un nombre pair’, Nbre) ; else fprintf(‘%f est nombre impair’, Nbre) ; end
L’instruction if…elseif….else
L’instruction if peut être suivie par un ou plusieurs elseif, puis par un else dans le but de tester plusieurs expressions.
Si cette instruction est utilisée, le « else » doit toujours venir après le « elseif », car si la condition « else » est vraie », tout ce qui suivra près ne sera pas exécuté.
Syntaxe :
if expression1
Instructions1
elseif expression2
instruction3
elseif expression3
Instruction3
else
Instruction4
end
Exemple : créer un script qui demande à l’utilisateur de saisir un nombre au clavier, puis vérifie si le nombre saisi est égal à 10 ou 30, puis affiche 60 si ce n’est ni l’un ni l’autre.
Nbre = input(‘Taper un nombre :’) ; if (Nbre == 10) fprintf(‘Nombre saisi : %f ’,Nbre) ; elseif (Nbre == 30) fprintf(‘Nombre saisi : %f’, Nbre) ; else fprintf(‘Le nombre saisi est incorrect ; la valeur exacte est:\n’, 60) ; end
Instructions if imbriquées
Il est possible aussi d’avoir des conditions « if » imbriquées pour faire plusieurs tests.
Syntaxe :
if expressoin1
if expression2
Instruction1
Instruction2
end
end
L’instruction switch …
Contrairement à l’instruction if qui ne permet que de gérer deux cas (VRAI ou FAUX), l’instruction switch permet de gérer plusieurs cas possibles. Les différents cas à énumérer sont appelés les branchements.
Le branchement otherwise s’écrit toujours à la fin et a pour rôle d’exécuter une instruction quand la valeur testée n’a été trouvée.
Syntaxe :
switch expression
case valeur1
instruction1
case valeur2
instruction2
case valeur3
instruction3
….
otherwise
Instruction par défaut
end
Il est possible d’imbriquer les instructions switch.
Les boucles
La boucle while…
Elle permet de répéter une suite d’instructions, tant que la condition à tester est vraie. Cette condition est d’abord testée avant d’exécuter la boucle.
Syntaxe :
while expression
Instructions
end
Exemple :
Créer un script qui demande à l’utilisateur de saisir un nombre ; puis effectue la somme de tous nombres entiers allant de 1 jusqu’au nombre saisi, puis affiche le résultat.
Nbre = input(‘Taper un nombre :’) ; A = 1 :Nbre ; I = 1 Somme = 0 ; while (I <= length(A)) Somme = Somme + A(I); I = I + 1; end fprintf(‘La somme des nombres vaut: %f’, Somme);
La boucle for
Elle permet d’exécuter une séquence d’instructions un nombre de fois spécifié par le programmeur.
Syntaxe :
for index = valeurs
Instructions
…….
end
Exemple : on peut écrire le script donné en exemple avec la boucle while en utilisant la boucle for.
Nbre = input(‘Taper un nombre :’) ; A = 1 : nbre ; Somme = 0 ; for I = 1 :length(A) Somme = Somme + A(I); end fprintf(‘La somme des nombres vaut : %f’, Somme) ;
Dans MATLAB, il est aussi possible de créer une boucle dans une boucle, et ainsi d’imbriquer plusieurs boucles" while" ou" for".
Les instructions de contrôle des boucles
L’instruction break
Elle permet de terminer une boucle et de transférer l’exécution du programme à l’instruction qui suit immédiatement la boucle.
L’instruction continue
Provoque l’arrêt de l’itération courante, puis effectue le passage au début de l’itération suivante.