"'O
0
c
:J
0
:<:;
li)
.,,
..--t
c::
:l
0
~
N
"
@
~
.......
0
J::
:;
O'l
"'
·;::::
c::
0
>c::
o.
c::
0
.9
u
ü
:l
.,,
2
o.
~
"
:;
0
11
.,,
0
c:
:l
0
QJ
10.5 • Calcul matriciel
b) Les questions
1) Quel est le rôle de la fonction so(A,B) suivante?
Fonction so(A,B: listes) : liste
Rôle: ............................................................... .
Variables locales : i,j (entiers) C (liste)
Début
c f - [[0,0,0],[0,0,0],[0,0,0]]
Pour i de 0 à 2 Faire
Pour j de 0 à 2 Faire
1
C[i]Li] f - A[i]Li]+B[i]Li]
Fin Pour
Fin Pour
Retourner(C)
Fin Fonction
2) Écrire une fonction produitR(x,A) qui à un réel x et à une matrice A carrée
d'ordre 3, retourne la matrice xA.
3) Écrire une fonction produit(A,B) qui à A et B deux matrices carrées d'ordre 3,
retourne la matrice A x B.
On rappelle que si A = (a .. ) B = (b .. ) C = (c. .) et C = A x
l j 1
IJ 1
IJ
i,j E {7 ,2,3} on a : c;,j = a;, 1 ; b 1 ,J + a;, 2 ,, b 2 J + a;, 3 x b 3 J.
B alors, pour tous
4) Écrire une fonction récursive puissance(A,n) qui retourne A n, à une matrice A,
carrée d' ordre 3, et un entier naturel n.
5) Écrire un algorithme demandant à l'utilisateur un entier naturel n et les coefficients x 0 , ... , xn, puis les éléments d' une matrice A, carrée d' ordre 3, et affichant la
matrice x 0 x1 3 + x 1 x A+ x 2 x A 2 + ... + xn x A n. Cet algorithme devra faire appel aux
fonctions so(A,B), produitR(A,B) et puissance(A,n). Implémenter sous Python
puis exécuter le programme.
Corrigé
a) Algorithme
Nom de l'algorithme expression_matricielle
Rôle : calculer x_0
1
'1_3+x_ l ~'A/\ 1 + .. . +x_n '~AAn
Entrées : n, coefficients x _O, ... , x _n et éléments de A
Sortie : Affichage de la matrice x _O* l_3+x_ l *A/\ 1 + ... +x_n*AAn
Variables globales : N,p,q (entiers), coef (réel), listecoefs, matA, S (listes)
.. . ..... . . . . . ... .. ..... . . Fonctions . ... . ... . . . . . .. . ....... . ..... .
Fonction so(A,B: listes) : liste
Rôle : calcule la somme A+B, pour A,B matrices carrées d'ordre 3
235
Précédent

- 243/302

Suivant