Vous êtes sur la page 1sur 6

Université de Blida 2 année ST

Faculté des Sciences Semestre 3

EXERCICES DE RÉVISION INFO3 MATLAB


SOLUTION
M.LICHOURI

06 Janvier 2015

Dernière mise à jour : 2015/01/07 à 01:10:34

1 Solution Exercice 1 :
1/ Déroulement :

n=7
n i nb Achage
7 0
1 1 i=1
2 1
3 1
n=8
n i nb Achage
8 0
1 1 i=1
2 2 i=2
3 2
4 3 i=4
n=15
n i nb Achage
15 0
1 1 i=1
2 1
3 2 i=3
4 2
5 3 i=5
6 3
7 3
Indication : n mod i représente le reste du division de n sur i.
2/ nb représente le nombre de diviseurs du nombre n.
3/ Ce programme recherche les diviseurs du nombre n et calcule leur nombre.

M.LICHOURI TPINFO3 : 2015/01/07


Page 1/6
Université de Blida 2 année ST
Faculté des Sciences Semestre 3

4/ Script MATLAB.

1 clear
2 clc
3 nb=0; % i n i t i a l i s e r le compteur a zero
4 n=input ( ' donner la valeur de n ' ) % l i r e la valeur de n
5 % Dans l ' algorithme on s ' est arrete a (n/2) ,
6 % cela veut dire qu ' on a neglige la cas ou le nombre
7 % est le diviseur de l u i meme; mais i c i
8 % on va rechercher tous l e s diviseurs de n
9 for i =1:n % on inclue le nombre
10 i f (mod(n , i )==0) % s i n est d i v i s i b l e par i
11 nb=nb+1; % on incremente le compteur nb
12 f p r i n t f ( 'i =% d\n ' , i ) % on a f f i c h e le diviseur trouve
13 end
14 end
15 f p r i n t f ( 'le nombre de diviseur de n est %d\n ' ,nb)
Pour l'execution j'ai considéré un compilateur online de MATLAB : http:
//www.tutorialspoint.com/execute_matlab_online.php

Figure 1  Execution online du script MATLAB

M.LICHOURI TPINFO3 : 2015/01/07


Page 2/6
Université de Blida 2 année ST
Faculté des Sciences Semestre 3

2 Solution Exercise 2 :
Écrire un script MATLAB qui calcul y1 et y2 en fonction de x1 et x2 .

1
2 clear
3 clc
4 x1=input ( ' donner la valeur de x1 ' ) ; % l i r e la valeur de x1
5 x2=input ( ' donner la valeur de x2 ' ) ; % l i r e la valeur de x2
6 % Pour calculer y1 , on ne va considerer que des IFs
7 i f (x1<0)
8 y1=(1 cos (2 ∗ x1 ))/( sqrt (1+4 ∗ x1^2)  4);
9 end
10 i f (( x1>0)&&(x1<=1))
11 y1=(1 x1/2)^(2/x1)+1;
12 end
13 i f (x1>1)
14 y1=( sin ( pi ∗ x1))/(1  x1 ) ;
15 end
16 % on considere t r o i s c h i f f r e s apres la virgule
17 f p r i n t f ( 'la valeur de y1 est :%2.3 f\n ' ,y1)
18
19 % Pour calculer y2 , on va considerer des IFs et ELSEs
20 i f ( abs (x2)>2)
21 y2=cos (2 ∗ x2^2+1);
22 e l s e
23 y2=sqrt (x2^2+2∗ abs (x2 )+2);
24 end
25 % on considere t r o i s c h i f f r e s apres la virgule
26 f p r i n t f ( 'la valeur de y1 est :%2.3 f\n ' ,y2)

M.LICHOURI TPINFO3 : 2015/01/07


Page 3/6
Université de Blida 2 année ST
Faculté des Sciences Semestre 3

3 Solution Exercice 3 :
Écrire un script MATLAB qui permet de l'equation suivante :
Ax4 Bx3 Cx2 Dx E  0 dans l'ensemble de R.

4 Solution Exercice 4 :
Écrire un script MATLAB qui calcul Y en fonction de x.

y  1  1 2!x 2
1 x4
4!  1 6!x6
...

Pour pouvoir calculer Y, on doit commencer par dénir le nième terme Un :


Un  p1qn 1 2n!x
2n

Pour calculer le factoriel de n, on utilise la fonction factorial de MATLAB.

1 clear
2 clc
3 x=input ( ' donner la valeur de x ' ) ; % l i r e la valeur de x
4 n=input ( ' donner la valeur de n ' ) ; % l i r e la valeur de n
5 y=1; % i n i t i a l i e r y1
6 for i =1:n
7 y=y+ (  1)^( i ) ∗ (1+x^(2 ∗ i ))/ f a c t o r i a l (2 ∗ i ) ;
8 end
9 y % afficher y

5 Solution Exercice 5 :
Écrire un script MATLAB qui calcul Y en fonction de x.

y  11!x 2!
1 x2
3!

1 x3 ...

Pour pouvoir calculer Y, on doit commencer par dénir le nième terme Un :


Un 1 n!
p1qn xn 1 n!
pxqn
1 clear
2 clc
3 x=input ( ' donner la valeur de x ' ) ; % l i r e la valeur de x
4 n=input ( ' donner la valeur de n ' ) ; % l i r e la valeur de n
5 y=0; % i n i t i a l i e r y1
6 for i =1:n
7 y=y+ f a c t o r i a l ( i )/(1+(  x)^( i )) ;
8 end
9 y % afficher y

M.LICHOURI TPINFO3 : 2015/01/07


Page 4/6
Université de Blida 2 année ST
Faculté des Sciences Semestre 3

6 Solution Exercice 6 :
Soit une liste de nombres tous diérents de zeros sauf le dernier. Écrire un
script MATLAB qui recherche et ache les diviseurs d'une valeur donnée K
(lue au clavier) dans cette liste. Acher un message d'erreur dans le cas inverse.
1 clear
2 clc
3 k=input ( ' donner la valeur de k ' ) ; % l i r e la valeur de k
4 x=input ( ' donner la valeur de x ' ) ; % l i r e la premiere valeur de la l i s t e
5 nb=0; % i n i t i a l i e r nbre de diviseur a 0
6 while (x~=0) % la derniere valeur est 0
7 i f (mod(k , x)==0) % s i k est d i v i s i b l e par x
8 nb=nb+1;
9 f p r i n t f ( 'le diviseur est %d\n ' ,x)
10 end
11 x=input ( ' donner la valeur de x ' ) ; % l i r e l e s valeurs restants
12 end
13 i f (nb==0)
14 disp ( 'pas de diviseur dans la liste ' )
15 else
16 f p r i n t f ( 'le nombre de diviseurs de %d est %d\n ' ,k , nb)
17 end

7 Solution Exercice 7 :
Soit une liste de N nombres. Écrire un script MATLAB qui permet de lire
ces valeurs et de calculer la somme de ceux qui sont PREMIERS.
INDICATION : Pour connaître si une nombre est premier,on utilise la fonc-
tion ISPRIME de MATLAB. Exemple : isprime(7)=1 => 7 est premier
isprime(8)=0 => 8 n'est pas premier.
Dans cette exercice on connaît la taille de la liste N mais pas les valeurs.
1 clear
2 clc
3 N=input ( ' donner la valeur de N ' ) ; % l i r e la t a i l l e de la l i s t e
4
5 S=0; % i n i t i a l i e r la somme a 0
6 for i =1:N
7 x=input ( ' donner la valeur de x ' ) ; % l i r e l e s x
8 i f ( isprime (x)==1) % x est premier
9 S=S+x ;
10 end
11 end
12 S %a f f i c h e r S

M.LICHOURI TPINFO3 : 2015/01/07


Page 5/6
Université de Blida 2 année ST
Faculté des Sciences Semestre 3

8 Solution Exercice 8 :
Soit une liste de N nombres. Écrire un script MATLAB qui calcul la somme
des valeurs PREMIERS compris entre 1 et N.
INDICATION : Pour connaître si une nombre est premier,on utilise la fonc-
tion ISPRIME de MATLAB.
Exemple : isprime(7)=1 => 7 est premier
isprime(8)=0 => 8 n'est pas premier.
Dans cette exercice on connaît la taille de la liste et les valeurs, car compris
entre 1 et N.
1
2 clear
3 clc
4 N=input ( ' donner la valeur de N ' ) ; % l i r e la t a i l l e de la l i s t e
5
6 S=0; % i n i t i a l i e r la somme a 0
7 for i =1:N
8 i f ( isprime ( i )==1) % i est premier
9 S=S+i ;
10 end
11 end
12 S %a f f i c h e r S

M.LICHOURI TPINFO3 : 2015/01/07


Page 6/6

Vous aimerez peut-être aussi