Sol TP 03
Sol TP 03
Sol TP 03
Exercice 01 :
>> C = (A>B) | ~(A==B) , D = A == B
C =
A B (A>B) (A==B) ~(A==B) C
1
10 12 0 0 1 1
D =
0 A==B D
0 0
>> ~((A-B > A) & (A+B == 22)) , ans & B, ans | 0 ; ans & 0
ans =
1 (A-B > A) (A+B == 22) ((A-B > A) & (A+B == 22)) ~((A-B > A) & (A+B == 22))
ans = 0 1 0 1
1
ans =
ans B ans & B ans ans | 0 ans ans & 0
0 1 12 1 1 1 1 0
Exercice 02 :
1) Trouver la suite de Collatz pour les nombres : 5 et 3.
Pour N = 5
U0=N=5 U1=3*5+1 U2=16/2 U3=8/2 U4=4/2 U5=2/2 Convergence de la suite vers
5 16 8 4 2 1 la séquence 4,2,1, donc on
s’arrête ici après 6 itérations
Pour N=3
U0=N=3 U1=3*3+1 U2=10/2 U3=3*5+1 U4=16/2 U5=8/2 U6=4/2 U7=2/2
3 10 5 16 8 4 2 1
% Conjecture de Collatz
n = input('Entrer un nombre entier positif : ');
while n ~= 1
if ceil(n/2) == n/2 % tester si n est pair
n = n/2;
else
n = 3*n+1;
end
disp(n)
end
Exercice 03 :
1) Le programme qui calcule le factoriel de n :
1
2) Le programme qui calcule la somme ∑𝑛𝑘=1 :
𝑘
(−1)𝑘
2) Le programme qui calcule la somme ∑𝑛𝑘=1 :
𝑘2
function P = estPremier(a)
P = 1;
i=2;
while i<=sqrt(a) & P L’expression : (while i<=sqrt(a) & P)
if mod(a,i) == 0 Peut être remplacée par : (while i < a & P)
P = 0; Elle devient plus lisible mais moins performante
end
i=i+1;
end
Université Alger 1 - Faculté des Sciences/ Déprt Math & Info /S2/ OPM/Solution TP 03
Le programme consiste à diviser le nombre a par tous les nombres inferieurs à lui (ou à sa racine
carrée pour être plus efficace), s’il trouve un seul diviseur (le reste de la division = 0) alors ce
nombre n’est pas premier et on arrête la boucle. Sinon s’il n’existe aucun diviseur de a alors il sera
considéré comme premier.
Exercice 04 :
1) Tracer la courbe de la fonction f(x) :
>> x = 0:pi/12:2*pi;
>> f = sin(x-2)+4;
>> plot(x,f)
2) Tracer la courbe de la fonction g(x) :
>> x = -5:0.2:5;
>> g = -2*x.^3+x.^2-3;
>> plot(x,g)
3) Pour dessiner la courbe de f(x) en pointillé vert avec des points en forme de losanges on écrit :
>> x = 0:pi/12:2*pi;
>> f = sin(x-2)+4;
>> plot(x, f, ':gd')
3) Pour dessiner la courbe de g(x) en tirets bleus avec des points en forme de carrés on écrit :
>> x = -5:0.2:5;
>> g = -2*x.^3+x.^2-3;
>> plot(x, g, 'b--s')