Vous êtes sur la page 1sur 18

Cours 4: Les structures

de contrôle

Présenté par : Mr LALLALI


Contact: Lallali.jimdo.com
smail.lallali@gmail.com
Définition
 Les structures de contrôle sont des
structures qui permettent le contrôle de
l'exécution des commandes. Ces structures
permettent une exécution conditionnelle de
lignes de commande. Ces lignes de
commande forment ce que l'on appelle
communément un bloc.
 Les structures de contrôle forment ainsi des
blocs, délimités par un mot clé spécifique
(donnant le sens de la structure de contrôle)
et le mot clé end.
Définition
 Matlab intègre des structures de contrôle
parmi lesquelles on retrouve:
1. if : contrôle conditionnel sur une
expression logique
2. switch : contrôle conditionnel sur une
expression logique
3. for: contrôle de boucle sur un
compteur ou un itérateur
4. while: contrôle de boucle sur une
expression logique.
Structure de contrôle if
 On a parfois besoin d'exécuter une
séquence d'instructions seulement dans le
cas où une condition donnée est vérifiée au
préalable. Par exemple, lors d'un processus
de connexion à une application, si le login et
le mot de passe sont bons, alors nous
pouvons nous connecter, sinon nous
afficherons une erreur.
 Il s'agit de ce que l'on appelle une condition.
Elle est évaluée lors de l'exécution et en
fonction de son résultat (vrai ou faux) nous
ferons telle ou telle chose.
Structure de contrôle if : syntaxe 1
if expression logique
séquence d'instructions 1
else
séquence d'instructions 2
end
 if : si
 expression logique : est une expression dont le résultat peut être
vrai ou faux;
 séquence d'instructions 1: est la séquence d'instructions à
exécuter dans le cas où expression logique est vraie
 else: sinon
 séquence d'instructions 2 :est la séquence d'instructions à
exécuter dans le cas où expression logique est faux.
Cette syntaxe est utilisée en cas de deux choix ou
deux possibilités.
Structure de contrôle if : syntaxe 1
Explication :
Si expression logique est vraie la séquence
d'instructions 1 est exécutée, sinon c'est la
séquence d'instructions 2
Exemple
if(x==0) disp(‘nombre nul’);
else disp(‘nombre non nul’); end

Expression logique ou la condition


Structure de contrôle if : syntaxe 2
if expression logique 1
séquence d'instructions 1
elseif expression logique 2
séquence d'instructions 2
...
elseif expression logique N
séquence d'instructions N
else
séquence d'instructions par défaut
End
Cette syntaxe est utilisée en cas de plusieurs choix
possibles.
Structure de contrôle if : syntaxe 2
Interprétation :
Si expression logique 1 est vraie la séquence d'instructions 1
est exécutée et le programme reprend ensuite à la
première instruction suivant le mot clé end, sinon si
expression logique 2 est vraie la séquence d'instructions 2 est
exécutée et le programme reprend ensuite à la première
instruction suivant le mot clé end, etc. Si aucune des
expressions logiques 1 à N n'est vraie alors séquence
d'instructions par défaut est exécutée.
Remarque :
Attention à ne pas laisser d'espace entre else et if; le mot
clé est elseif.
Structure de contrôle if : syntaxe 2
Exemple
a = 100;
%check the boolean condition
if (a == 10) % if condition is true then print the following
fprintf('Value of a is 10\n' );
elseif ( a == 20 ) % if else if condition is true fprintf('Value of a is
20\n' );
elseif a == 30 % if else if condition is true fprintf('Value of a is 30\n'
);
else % if none of the conditions is true ' fprintf('None of the values
are matching\n'); fprintf('Exact value of a is: %d\n', a );
end
Le programme affiche : Exact value of a is: 100.
Structure de contrôle if :expression
logique ou condition
Une condition ou une expression logique se construit
grâce à des opérateurs de comparaison et
opérateurs logiques. On dénombre plusieurs
opérateurs de comparaisons, les plus courants sont :
 Opérateurs de comparaison

== égal à (x == y)
> strictement plus grand que (x > y)

< strictement plus petit que (x < y)

>= plus grand ou égal à (x >= y)

<= plus petit ou égal à (x <= y)

~= différent de (x ~ = y)
Structure de contrôle if :expression
logique ou condition
 Opérateurs logiques:

& et (x & y)

| ou (x | y)

~ non (~ x)
Structure de contrôle if :Exercices
 Écrivez une fonction pair(x) qui prend en argument un
entier x et qui renvoie vrai si l’entier est pair et faux
sinon.
 Tester la fonction pair pour x=1,0 ,2 , et 5.
 Taper une ligne d’instruction demandant à l’utilisateur
de saisir sa dernière note et affichant «très bien» si la
note supérieure à 15, «bien» entre12 et 15et
«moyenne» si la note est entre 10 et 12, « faible »
sinon.

 Écrivez une fonction binome(a, b, c) qui renvoie les


racines du polynôme ax^2+bx+c .
.
Structure de contrôle for: introduction
 Une boucle est une structure qui permet d'exécuter un
certain nombre de fois un même bloc d'instructions.

 Il est possible de programmer une boucle qui se


répètera un nombre donné de fois. Il s’agit de
l’instruction for
Structure de contrôle for: Syntaxe
for indice = borne_inf : borne_sup
séquence d'instructions
end

 indice est une variable appelée l'indice de la boucle;
 borne_inf et borne_sup sont deux constantes
réelles (appelées paramètres de la boucle);
 séquence d'instructions est le traitement à
effectuer pour les valeurs d'indices variant entre
borne_inf et borne_sup avec un incrément de 1.
On parle du corps de la boucle.
Structure de contrôle for: Syntaxe
Interprétation
Si borne_inf est plus petit ou égal à borne_sup, le
traitement séquence d'instructions est exécuté
borne_sup - borne_inf fois, pour les valeurs de la
variable indice égales à borne_inf, borne_inf+1, ...,
borne_sup. Si borne_inf est strictement plus grand
que borne_sup, on passe à l'instruction qui suit
immédiatement l'instruction de fin de boucle
(end).
Structure de contrôle for: Exemple
Calculer la somme des 100 premiers nombres entiers : 1
+ 2 + 3 + ... + 100
s=0;
for i=1 : 100 ,
s=s+i; (1)
end
Explication :
 Le instruction (1) sera répétée 100 fois ( i allant de
1 à 100).
 s=0+1+2+…+100.
 i=1 i=2 i=100
Structure de contrôle for:Remarque
Il est possible d’imposer un pas différent de 1 au
indice.
for indice = borne_inf : pas: borne_sup
séquence d'instructions
end
 pas: : constante réelle soit positif ou négatif
Exemple :
Afficher la liste des nombres paires de 0 jusqu’à 20.
 for i = 0:2:20,
i, end
Le programme affiche 0,2,4,6,8,10,12,14,16,18,20.(
remarquez le pas =2).
Structure de contrôle for: Exercices
 Calculer la somme des entiers de 1 à 8.

 calculer la somme des carrés des entiers de 1 à


8.

 calculer 8 !

 Calculer n! ( n est donné par l’utilisateur).

Vous aimerez peut-être aussi