Vous êtes sur la page 1sur 3

U.S.T.H.B.

/ Faculté de Physique 2020 - 2021


Licence de Physique Energétique
Matière : Programmation

TP3 : Les instructions de contrôle


Les instructions de contrôle peuvent être divisées en deux catégories :
- Les conditions²
- Les boucles
Pour pouvoir introduire la notion des instructions de contrôle, nous devons tout d’abord aborder les
opérateurs de comparaison et les opérateurs logiques ainsi que leurs significations.
Les opérateurs de comparaison :
MATLAB les reconnait en tant que variables binaires qui retournent soit la valeur 1 (true) si la relation est
vraie, soit 0 (false) sinon. Les opérateurs de comparaison sont :
A>B A<B
A est plus grand que B A est plus petit que B
A >= B A <= B
A est plus grand ou égal à B A est plus petit ou égal B
A == B A ~= B
A est égal à B A est différent de B
A titre d’exemple :
Exemple 1 : Soit deux variables A=2 et B=3, on teste l’égalité (A = B est faux) et la différence (A ≠ B est
vrai)

>> A = 2 ;
>> B = 3 ;
>> A==B % test faux
ans =
logical
0
>> A~=B % test vrai

ans =
logical
1
Exemple 2 : soit le vecteur x=[0 1 2 3 4 5], le test logique x supérieur ou égal à 3 donne :

>> x=[0 1 2 3 4 5] ;
>> x>=3
ans =
1×6 logical array
0 0 0 1 1 1
De la même manière, on peut appliquer ces opérateurs de comparaison aux matrices.

Les opérateurs logiques :


On a parfois besoin de combiner plusieurs opérateurs de comparaison. MATLAB dispose de cinq opérateurs
logiques qui sont :
C1 | C2 C1 & C2 ~ C1 C1 && C2 C1 | |C2
C1 ou C2 C1 et C2 pas C1 C1 et C2 * C1 ou C2 *

1
(*) C1 && C2 et C1 | | C2 sont des opérations pour lesquelles MATLAB n'évalue C2 que si le résultat n'est
pas entièrement déterminé par C1.

>> x=[0 1 2 3 4 5] ;
>> (x==0) & (x<=5)
ans =
1×6 logical array
1 0 0 0 0 0

Les instructions de contrôle :


En fonction de certaines conditions, les instructions dans un programme MATLAB peuvent être répétées,
court-circuitées ou évaluées par exemple. Les instructions de contrôle sont démarquées par un début (mot
réservé indiquant le début tels que if , for ou while) et une fin indiquée par le mot réservé end.

Les instructions de condition :


Les instructions de condition fonctionnent avec des déclarations conditionnelles opérant sur des blocs
d’instructions. Si le résultat des conditions est vrai, alors le bloc d’instructions en question est exécuté.
Sinon, on passe au bloc suivant. Ce type d’instruction de contrôle est appelé Boucle if . Il y a en général,
trois types de boucles if.
Boucle if simple :
if conditions

instructions

end
Boucle if avec sinon :
if conditions

instructions

else

instructions

end

Boucle if avec plusieurs cas :


if conditions1

instructions

elseif conditions2

instructions
.
.
.
else

instructions

end
2
Les boucles :
Pour répéter l’exécution d’un bloc d’instructions plusieurs fois, MATLAB dispose de deux types de boucles :
La boucle for et la boucle while.
L’exécution de La boucle for n’est pas soumise à une condition puisqu’elle se fait suivant un indice itératif
définissant un nombre fini d’itérations. Sa structure générale est la suivante :
for indice = début : pas : fin

instructions

end
Contrairement à la boucle for, la boucle while dépend explicitement d’une condition logique. Tant que cette
condition est vraie, la boucle est exécutée. Sa structure générale est la suivante :
while condition

instructions

end
Remarques :
- Les structures de conditions et les boucles peuvent être encapsulées. Toutefois, chaque
boucle/structure doit être proprement délimitée par son début (for, while, if, switch) et sa fin
(end)
- On peut rompre les instructions de contrôle (boucle/structure conditionnelle) par la commande
break ou retourner au début du bloc d’instruction en sautant les lignes suivantes par la
commande continue.
- Les commandes break et continue sont locales. C'est-à-dire, elles concernent uniquement la
boucle ou la structure conditionnelle dans laquelle elles existent.

Information supplémentaire :
Il existe un autre type de structure de condition appelé switch-case qui permet de choisir un ensemble
d’instructions à exécuter parmi plusieurs cas possibles selon une certaine variable d’entrée qui doit être soit
scalaire soit caractère. La structure générale de la boucle switch-case est la suivante :

switch variable d’entrée


case valeur de la variable pour le 1er cas

instructions

case valeur de la variable pour le 2nd cas

instructions
.
.
.
otherwise ce dernier cas n’est pas obligatoire

instructions

end

Pour que cette boucle soit exécutée, il faut que la variable d’entrée ait une valeur, et en fonction de cette
valeur, un des cas sera choisi.