Université Badji Mokhtar Annaba Programmation : Matlab
TC Ing Technologie : S4 Dr BOURAS Hichem
Travail Pratique N° 7 : Les structures algorithmiques
But du TP : Le but de ce TP est :
• L’utilisation des structure algorithmiques dans Matlab
1. Introduction :
MATLAB dispose des structure algorithmiques du type IF, SWITCH, FOR, WHILE
1.1 Structures conditionnelles :
Les syntaxes des structures conditionnelles IF, SWITCH sont les suivantes :
1.1.1. Commande if
if exécute les instructions de manière conditionnelle. Sa forme générale est :
if expression 1
instructions 1
elseif expression 2
instructions 2
.....
else
instructions 3
end
On peut comprendre comment fonctionne ce test sur le diagramme suivant :
Si expression 1 est vraie, seules les instructions 1 sont réalisées. Si elle est fausse,
expression 2 sera évaluée. Si celle-ci est vraie, les instructions 2 sont réalisées sinon
l’expression suivante est évaluée. Sinon les instructions 3 sont exécutées.
1.1.2. Commande switch
La commande switch est une alternative à l’utilisation des commandes if, elseif, else.
Dans certains cas la structure switch est plus lisible. La syntaxe est de la forme :
switch expression
case expression 1
instructions 1
case expression 2
instructions 2
.....
otherwise
instructions 3
end
expression est comparée à la valeur de chaque case, si elles sont identiques, alors la
suite d’instructions correspondantes est exécutée. Si aucune expression ne convient, les
instructions 3 du cas otherwise sont exécutées.
1.2 Structures répétitives :
Les syntaxes des structures répétitives FOR, WHILE sont les suivantes :
1.2.1. Boucle for
La boucle for est de la forme :
for k = m : p : n
instructions 1
instructions 2
instructions 3
end
Le compteur m : p : n compte l’exécution des instructions 1, 2, 3 de m à n avec
un pas p (si le pas p n’est pas spécifié, par défaut il est pris égal à 1)
1.2.2. Boucle while
La boucle for est de la forme :
while conditions
instructions 1
instructions 2
instructions 3
end
Lorsque conditions renvoient un test vrai les instructions 1, 2, 3 sont exécutées
jusqu’à le test renvoie faux. On ne connait pas le nombre de boucles qui vont être réalisées. Il
faut bien choisir les conditions sinon la boucle sera infinie.
Exercices : Répondre aux exercices suivants :
Exo 1 :
Ecrire un script permettant la demande d'accès à un PC. Votre
programme demande à l'utilisateur d’entrer le mot de passe, puis
s'il est correct, afficher « Accès Autorisé », dans le cas contraire
afficher « password erroné accès non autorisé ».
Remarque : Le mot de pass à utiliser est : INGENIEUR
Exo 2 : Ecrire un programme qui construit une matrice d’ordre
quelconque m*n. Pour tester, votre programme demande à l’utilisateur
de fournir l’ordre de la matrice (le nombre de ligne m et le nombre
de colonnes n puis), puis proposer à l’utilisateur de choisir une
matrice parmi cette liste :
1. Une matrice composée de 1
2. Une matrice composée de 0
3. Une matrice d’éléments aléatoires entre 0 et 1
Exo 3 :
Une liste de 8 moyennes correspondant à 8 modules est regroupée
dans le tableau suivant :
Moyenne Module 6,6 8,6 9,2 5,6 10,3 14,6 8,5 11,5
Coefficient Module 1 1 2 3 3 3 2 2
Ecrire un programme qui :
1. Calcule la moyenne générale de l’étudiant,
2. Puis affiche la mention selon la moyenne obtenue
- Très Bien si la moyenne est supérieure ou égale à 16
- Bien si la moyenne est sup. ou égale 14 et inf. à 16
- Assez bien si la moyenne est sup. ou égale 12 et inf. à 14
- Passable si la moyenne est sup. ou égale 10 et inf. à 12
- Déclarer l’étudiant redoublant si la moyenne < 10