0% ont trouvé ce document utile (0 vote)
38 vues2 pages

Exercices 2

Le document présente des exercices de programmation en Matlab, incluant des programmes pour calculer le PGDC, le factoriel, et permuter des valeurs dans un vecteur. Les solutions détaillent les résultats des programmes pour des valeurs spécifiques et expliquent la logique derrière chaque exercice. Des questions sur la possibilité de remplacer des boucles et des réécritures de code sont également posées.

Transféré par

Aksil Dihya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
38 vues2 pages

Exercices 2

Le document présente des exercices de programmation en Matlab, incluant des programmes pour calculer le PGDC, le factoriel, et permuter des valeurs dans un vecteur. Les solutions détaillent les résultats des programmes pour des valeurs spécifiques et expliquent la logique derrière chaque exercice. Des questions sur la possibilité de remplacer des boucles et des réécritures de code sont également posées.

Transféré par

Aksil Dihya
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Exercices (Chapitre 03):

Introduction à la programmation avec Matlab

Exercice 01 :
Soit le programme suivant :
a=input('Entrez un nombre entier positif : ');
b=input('Entrez un nombre entier positif : ');

while (b~=0)
if (a>b)
a=a-b;
else
b=b-a;
end
end

disp(a)

1) Exécutez manuellement le programme pour les valeurs de a et b suivantes :


(a=81, b=27) (a=51, b=102) (a=81, b=36)
2) Que fait ce programme ?
3) Peut-on réécrire le programme en changeant la boucle while par la boucle for ?
pourquoi ?

Exercice 02 :
Soit le programme Matlab suivant :

N = input ('Entrez un nombre entier positif : ') ;


F=1 ;
for i = 1:N
F=F*i ;
end
disp(F)

1) Quelle est le résultat affiché par ce programme pour les valeurs suivantes de N : 5, 3 et 4.
2) Que fait ce programme ?
3) Réécrivez ce programme en utilisant la boucle while à la place de la boucle for.

Exercice 03 :
Ecrivez un programme qui permute (change) la valeur de deux composantes d’un
vecteur. Par exemple si on permute la 2eme et la 4eme position du vecteur V=[5,-8,6,11,4]
on obtient le résultat V=[5,11,6,-8,4].

1
La solution Exercice 01 :
1) Exécution manuelle du programme

a b a b a b
81 27 51 102 81 36
54 27 51 51 45 36
27 27 51 0 9 36
27 0 Afficher 51 9 27
Afficher 27 9 18
9 9
9 0
Afficher 9
2) Ce programme calcule le PGDC de a et b (Le plus grand diviseur commun).
3) Non, il n’est pas possible de remplacer l’instruction while par l’instruction for
dans ce programme (sans changer toute la structure du programme), car
l’utilisation de l’instruction for nécessite de savoir exactement le nombre
d’itération à l’avance, ce qui est irréalisable dans notre cas où on teste chaque fois
les variables a et b pour savoir si on doit réitérer encore ou pas.

La solution Exercice 02 :
1) Le résultat affiché par le programme pour :
N=5 F=120
N=3 F=6
N=4 F=24
2) Ce programme calcule le factoriel de N (N!)
3) Remplacement de for par while :

N = input ('Entrez un nombre entier positif : ') ;


F=1 ;
i=1 ;
while i<=N
F=F*i ;
i=i+1 ;
end
disp(F)

La solution Exercice 03 :
V = input ('Entrez un vecteur : ')
pos1 = input ('Entrez la première position : ') ;
pos2 = input ('Entrez la deuxième position : ') ;

tmp = V(pos1) ;
V(pos1) = V(pos2) ;
V(pos2) = tmp ;

disp(V)

Vous aimerez peut-être aussi