Vous êtes sur la page 1sur 2

Université Abdelahamid Ibn Badis de Mostaganem 2020/2021

L2.ELN TP INFO3
TP N°03
Objectifs :
 Découvrir les structures répétitives du Matlab
for, while.

Les structures alternatives


Syntaxe for end Exemple
for (expression) for i=1:5
bloc d'instructions disp(‘Bonjour’);
end end
Initialisation du compteur i=1; %initialisation du compteur
while (expression) While (i<=5)
bloc d'instructions 1 disp (‘Bonjour’);
incrémentation du compteur i=i+1; %incrémentation du compteur
end end
Exercice 1 :
En utilisant la boucle for écrire un programme Matlab qui lit un d’un nombre N puis calcule et affiche son
factoriel N !
Réécrire le programme avec while.
Exercice 2 :
Ecrire un programme Matlab qui permet de calculer la somme suivante :
𝑆 = 1 + 4 + 7 + 10 + ⋯ + 𝑀
Exécuter le programme pour M=16, M=20 en affichant à chaque itération le compteur i et la somme S, que
remarquez-vous ?
Répéter le programme avec la boucle while.
Exercice 3 :
Ecrire un programme en Matlab qui lit un nombre R>1 calcule et affiche somme et la moyenne des 15
nombres qui le suit.
Exercice 4 :
Ecrire un programme qui fait:
- Si a > 0 on calcule la somme des cent premiers nombres. 𝑆 = 1 + 2 + 3 + 4 + ⋯ + 100
- Si a < 0 on calcule la somme des cent premiers nombres pairs. 𝑆 = 2 + 4 + 6 + 8 + ⋯ + 𝑋
- Si a = 0 on calcule la somme des cent premiers nombres impairs. 𝑆 = 1 + 3 + 5 + 7 + ⋯ + 𝑌
Remarque : il faut bien réfléchir sur les valeurs de X et Y
Exercice 5 :
Ecrire un programme en Matlab qui lit une suite de nombres se terminant par 0 et calcule et affiche le nombre
des nombres positifs et le nombre des nombres négatifs.
Exercice 6:
En utilisant la boucle for écrire un programme qui demande un nombre N pair puis calcule et affiche la
1 1 1 1 1
somme suivante: S 2
 2
 2
 2
..........
2 4 6 8 N2
Réécrire le programme avec la boucle while.
Remarque : si N n’est pas pair le programme affiche un message d’erreur.
Exercice 7 :
Donner le programme qui calcul la puissance n d’un nombre a (an).
Dérouler le programme pour a=2 et n=4.
Remarques :
1. Les exercices 1 et 2 sont des exercices explicatifs
2. Les exercices 3, 4 et 5 se font dans la séance du TP
3. Les exercices 6 et 7 doivent être remis sur la plateforme Moodle comme compte rendu du TP

1
Université Abdelahamid Ibn Badis de Mostaganem 2020/2021
L2.ELN TP INFO3
Corrigé type

Exercice 1 :
a) Par la boucle Boucle for

clc;clear all
N=input('saisir N=');
f=1;
for i=1:N
f=f*i; %il faut toujours mettre un ; dans la boucle pour ne pas afficher les détails du calcul
end
f
b) Par la Boucle while

clc;clear all
N=input('saisir N=');
f=1;
i=1;
while (i<=N)
f=f*i; %il faut toujours mettre un ; dans la boucle pour ne pas afficher les détails du calcul
i=i+1; %on met toujours mettre un ; dans la boucle pour ne pas afficher les détails du compteur
end
f

Exercice 2 :
a) Par la Boucle for

clc;clear all
M=input('saisir M=');
s=0;
for i=1:3:M
i % pour afficher le compteur i à chaque itération
s=s+i % ne pas mettre un ; signifie qu’à chaque itération on affiche le s
end
s

b) Par la Boucle while

clc;clear all
M=input('saisir M=');
s=0;
i=1;
while (i<=M)
s=s+i % ne pas mettre un ; signifie qu’à chaque itération on affiche le s
i=i+3 % pour afficher le compteur i à chaque itération
end
s
% Remarques
% on remarque que lorsque M= 16 S=1+4+7+10+13+16 s=51
% mais quand M= 20 S=1+4+7+10+13+16+19 s=70 le compteur ne peut jamais arriver
à 20,il s’arrête à 19 car le compteur s’incrémente par 3
% contrairement quand M=16 le compteur coïncide avec M

Vous aimerez peut-être aussi