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.