Vous êtes sur la page 1sur 3

Correction Devoir 2

Exercice 1
 Implémentez la fonction suivante sur avec le nom TESTTP :

𝒇(𝒙)=2-x si x ≤2
𝒇(𝒙) =
𝒇(𝒙)=x-2 sinon

 Tester la fonction pour x= 0 et x=3


 Proposer une deuxième méthode pour implémenter la fonction 𝑓

Correction :
1. Aller dans un nouveau fichier fonction (function file) et taper :

function [f]= TESTTP(x)


if (x<=2) f=2-x ;
else f=x-2 ;
end
end
2. Sauvegarder le fichier avec le nom : TESTTP.m (filesave as  TESTTP.m)
3. Insérer la valeur de x dans la ligne de commande :

>> x=0 ;
4. Appeler le fichier TESTTP.m via la ligne de commande (copier l’entête sauf
function) :

>> [f]= TESTTP(x)


Matlab affiche f=2
5. Insérer une nouvelle valeur de x dans la ligne de commande :
>> x=3 ;
6. Appeler deuxième fois le fichier TESTTP.m :
>> [f]= TESTTP(x)

GC/TP/HYD https://lallali.jimdofree.com/ LALLALI


Matlab affiche f=1

 Deuxième méthode pour implémenter la fonction f est : |𝒙 − 𝟐|


>> x=0 ;
>> f=abs(x-2)
Matlab affiche f=2
>> x=3 ;
>> f= abs(x-2)
Matlab affiche f=1

Exercice 2
 Ecrire une fonction somdivtpa qui calcule la somme des diviseurs d’un
entier N strictement positif
 Tester la fonction somdivtpa pour N= 10, ensuite N=4

Exemple : Pour N=6


s=1+2+3+6= 12, car les diviseurs de 6 sont le 1, 2,3 et 6

Correction :
1. Aller dans un nouveau fichier fonction (function file) et taper :

function [S]=Somdivtpa (N)


S=0 ;
for i =1:N
if (mod(N,i)==0) S=S+i ;
end
end
end

GC/TP/HYD https://lallali.jimdofree.com/ LALLALI


S=0 : initialiser la somme à 0
for i=1 :N : la boucle pour allant de 1 jusqu’à N
if : c’est l’instruction conditionnelle si
mod(N,2): le reste de la division de N par 2
== : pour tester l’égalité
S=S+i : ajouter le diviseur i dans la somme S
end : la fin de if
end : la fin de la boucle for

2. Sauvegarder le fichier avec le nom : somdivtpa.m (filesave as  somdivtpa.m)


3. Insérer la valeur de N dans la ligne de commande :
>> N=10 ;

4. Appeler le fichier somdivtpa.m via la ligne de commande (copier l’entête sauf


function) :

>> [S]= Somdivtpa (N)


Matlab affiche S=18

5. Insérer une nouvelle valeur de N dans la ligne de commande :


>> N=4 ;

6. Appeler deuxième fois le fichier somdivtpa.m :


>> [S]= Somdivtpa (N)
Matlab affiche S=7

GC/TP/HYD https://lallali.jimdofree.com/ LALLALI

Vous aimerez peut-être aussi