Université Sultan Moulay Slimane
Faculté Polydisciplinaire Beni Mellal 2025/2026
Département Informatique Master IAC
Programmation avancée en Python
Série 3 : TD/TP
Exercice 1
On considère le code Python suivant utilisant la bibliothèque NumPy :
import numpy as np
X = [Link]([0, 1, 4])
Y1 = X + 1
Y2 = X + 2 * 3
Y3 = X ** 2
Y4 = Y1 / Y2
Y5 = [Link](X)
Y6 = [Link](X)
1. Donner le type de chacune des variables X, Y1, Y2, Y3, Y4, Y5 et Y6.
2. Extraire dans un tableau uniquement le premier et le dernier élément du tableau X.
3. Définir une fonction covariance(X,Y) qui calcule la covariance des deux tableaux de même taille
X et Y qui est définie par : Cov(X, Y) = E(XY) − E(X)E(Y ), où E(X) désigne la moyenne de X,
E(Y) désigne la moyenne de Y et E(XY) désigne la moyenne du tableau produit de X et Y
élément par élément.
Exercice 2
Soit et a un réel non nul. On pose et
Ecrire une fonction qui étant donnés un entier et un réel a non nul renvoie la matrice An
Exercice 3
On considère deux tableaux :
Yréel: les valeurs réelles
Yprédit: les valeurs prédites par un modèle
On veut calculer l’erreur quadratique moyenne :
∑ ) ))
Ecrire un programme Python qui calcule la valeur de MSE de trois façons différentes :
1. Calcul manuel avec NumPy
2. Fonction Python réutilisable
3. Avec sklearn (si disponible)
Exercice 4
1. Ecrire un programme Python qui calcule l’intégrale suivante par méthode numérique :
Pr: [Link] 1
∫ )
2. Ecrire un programme Python pour résoudre le système linéaire suivant :
{
3. On donne des points : X = [0, 1, 2, 3], Y = [2, 3, 5, 4]. Ecrire un script Python qui calcule la
valeur interpolée pour x = 1.5.
4. Ecrire un script python pour résoudre l’équation suivante on utilisant la méthode de Newton :
)
)
Formule de Newton :
)
Exercice 5
On rappelle qu’on peut modéliser une matrice comme une liste de listes. Par exemple, pour écrire la
matrice
( ), on écrira la liste de ses lignes : A = [ [7,2,4], [0,3,9] ].
Ainsi A[0][1] est l’élément de la ligne d’indice 0 et de la colonne d’indice 1, soit le nombre 2. De
même, A[1][2] vaut 9. De plus, pour construire la matrice nulle à 3 lignes et 4 colonnes, M= [[0, 0,
0, 0], [0, 0, 0, 0], [0, 0, 0, 0]] on pourra écrire :
1. Créer une fonction affiche(A) qui affiche la matrice A ligne par ligne.
2. Créer une fonction matrice_nulle(n,p) qui prend en arguments deux entiers naturels n et p et
renvoie la matrice nulle.
3. Créer une fonction dimensions(A) qui prend en argument une matrice A (liste de listes) et
renvoie le couple (n, p) représentant son nombre de lignes et son nombre de colonnes.
4. Créer une fonction matrice_unite(n) qui prend en argument un entier naturel n et renvoie la
matrice unité de M(n,n).
5. Créer une fonction transpose(A) qui prend en argument une matrice A et renvoie sa transposée.
6. Écrire une fonction booléenne est_triangulaire_sup(A) qui teste si la matrice A est triangulaire
supérieure.
7. Créer une fonction somme_matrice qui code la somme de deux matrices. On pourra compléter
le script suivant.
8. Créer une fonction mult_scalaire(M,a) qui code la multiplication d’une matrice M par un
scalaire réel a.
9. Créer une fonction produit_matrice(A,B) qui code le produit des deux matrices A et B.
10. Créer une fonction puissance_matrice(A,n) qui code la puissance nième de la matrice carrée A.
11. Donner une autre version de cet exercice on utilisant numpy.
Exercice 6
Soit A et B deux matrices : A = [Link]([[4, 5, 6, -1], [5, 10, 15, 2], [6, 15, 1, 4], [-1, 2, 4, -2]])
B = [Link]([[0, 5, 6, -1], [6, 1, 15, 2], [6, 8, 1, 4], [3, 2, 4, -2]])
1. Ecrire une fonction qui vérifie si A est carrée
2. Ecrire une fonction qui Vérifie si A est diagonalisable
3. Ecrire une fonction qui calcule l'inverse de A si A est inversible
4. Ecrire une fonction qui résoudre l'équation AX = B pour X. Retourne X si A est inversible, sinon
None.
Pr: [Link] 2