0% ont trouvé ce document utile (0 vote)
68 vues31 pages

Les Matrices

Le document présente les tableaux à deux dimensions, également appelés matrices, en définissant leur structure, leur déclaration en Algorithme et en Python, ainsi que des méthodes pour les remplir et les afficher. Il fournit des exemples d'algorithmes pour remplir des matrices carrées avec des valeurs spécifiques. Enfin, il aborde des manipulations de matrices à travers divers exemples pratiques.

Transféré par

melekkhorchef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
68 vues31 pages

Les Matrices

Le document présente les tableaux à deux dimensions, également appelés matrices, en définissant leur structure, leur déclaration en Algorithme et en Python, ainsi que des méthodes pour les remplir et les afficher. Il fournit des exemples d'algorithmes pour remplir des matrices carrées avec des valeurs spécifiques. Enfin, il aborde des manipulations de matrices à travers divers exemples pratiques.

Transféré par

melekkhorchef
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

LES TABLEAUX À DEUX DIMENSIONS

(MATRICES)

[Link]@[Link]
DÉFINITION
Un tableau à deux dimensions M et à interpréter comme un tableau (unidimensionnel) de
dimension L dont chaque composante est un tableau (unidimensionnel) de dimension C.
On appelle L le nombre de lignes du tableau et C le nombre de colonnes du tableau.
Un tableau à deux dimensions contient L*C composantes.
0 1 2 3 4
M[0, 0]
0

1 M[1, 2]
M
Lignes
2

3 M[3, 4]

2
Colonnes
DÉCLARATION
 En Algorithme
 Première formulation
Tableau de déclaration des objets
Objet Type/Nature
Nom_tableau Tableau de N lignes * M colonnes Type _élément

 Deuxième formulation
Tableau de déclaration de nouveaux types
Nouveau type
Nom_type = Tableau de N lignes * M colonnes Type _élément

Tableau de déclaration des objets


Objet Type/Nature
Nom_tableau Nom_type 3
DÉCLARATION
 En Python
On utilisera la bibliothèque numpy pour implémenter les tableaux.
Un tableau de la bibliothèque numpy est :
o homogène, c’est-à-dire constitué d’éléments de même type,

o statique, car sa taille est fixée lors de la création.

La déclaration d’un tableau se fait en deux étapes :


o Importation des modules nécessaires de la bibliothèque numpy
from numpy import array
ou
from numpy import *
ou
import numpy as alias
4
DÉCLARATION
o Déclaration du tableau
Matrice = array([[type_élément]*NC]*NL) NL : Nombre de lignes | NC : Nombre de colonne.
Ou bien,
Matrice = array([[valeur_initiale]*NC]*NL,dtype=type_élément)

Exemple : Optionnel : pour spécifier le type des éléments.


M1 = array([[int()]*4]*5) #Matrice de 5 * 4 entiers
M2 = array([[float()]*4]*5) #Matrice de 5 * 4 réels
M3 = array([[str()]*4]*5) #Matrice de 5 * 4 caractères
M4 = array([[str]*4]*5) #Matrice de 5 * 4 chaînes de caractères
M5 = array([[bool()]*4]*5) #Matrice de 5 * 4 booléens
Ou bien,
M1 = array([[1]*4]*5) #Matrice de 5 * 4 éléments initialisés par des "1".
M2 = array([[""]*4]*5,dtype="U30") #Matrice de 5 * 4 éléments initialisés par des
chaînes de caractères vides. Chaque élément peut contenir 20 caractères au maximum. 5
REMPLIR UNE MATRICE DE NL*NC
ENTIERS
 Ligne par ligne (par défaut)
Pour i de 0 à NL-1 faire
Pour j de 0 à NC-1 faire
Ecrire("M[",i,",",j,"]=")
Lire(M[i,j])
Fin Pour
Fin Pour

6
REMPLIR UNE MATRICE DE NL*NC
ENTIERS
0 1 2 3 4
 Ligne par ligne (par défaut)
0
Pour i de 0 à NL-1 faire 1

Pour j de 0 à NC-1 faire 2

Ecrire("M[",i,",",j,"]=")
Lire(M[i,j])
Fin Pour
i=0 i=1 i=2
Fin Pour j=0 j=1 j=2 j=3 j=4 j=0 j=1 j=2 j=3 j=4 j=0 j=1 j=2 j=3 j=4

7
REMPLIR UNE MATRICE DE NL*NC
ENTIERS
0 1 2 3 4
 Colonne par colonne
0
Pour j de 0 à NC-1 faire 1

Pour i de 0 à NL-1 faire 2

Ecrire("M[",i,",",j,"]=")
Lire(M[i,j])
Fin Pour
j=0 j=1 j=2 j=3 j=4
Fin Pour i=0 i=1 i=2 i=0 i=1 i=2 i=0 i=1 i=2 i=0 i=1 i=2 i=0 i=1 i=2

8
AFFICHER UNE MATRICE DE NL*NC
ENTIERS 5 6 7 8
1 5 6 7
3 4 5 6
Pour i de 0 à NL-1 Faire
Pour j de 0 à NC-1 Faire
Ecrie (M[i, j]) 5 6 7 8

Fin Pour 1 5 6 7

{Retour à la ligne} 3 4 5 6

Fin Pour

9
LES MATRICES
CARRÉES
On appelle matrice carrée, une matrice de N lignes et N colonnes
j =0 j = n-1

0 1 2 3 4

0 i =0

4 i =n-1

11
12

MANIPULATION DES MATRICES


CARRÉES
EXEMPLE 1
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 0
1 0 1
2 0 1 2
3 0 1 2 3
4 0 1 2 3 4

13
EXEMPLE 1
0 1 2 3 4

Pour i de 0 à N-1 faire i=0 0 0


Pour j de 0 à i faire 1 0 1

M[i,j] ← j 2 0 1 2
3 0 1 2 3
Fin Pour
i = N-1 4 0 1 2 3 4
Fin Pour
j=0

14
EXEMPLE 2
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 0 1 2 3 4
1 1 2 3 4
2 2 3 4
3 3 4
4 4

15
EXEMPLE 2
0 1 2 3 4

Pour i de 0 à N-1 faire i=0 0 0 1 2 3 4


Pour j de i à N-1 faire 1 1 2 3 4

M[i,j] ← j 2 2 3 4
3 3 4
Fin Pour
i = N-1 4 4
Fin Pour

j = N-1

16
EXEMPLE 3
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 0 1 2 3 4
1 0 1 2 3
2 0 1 2
3 0 1
4 0

17
EXEMPLE 3
0 1 2 3 4

Pour i de 0 à N-1 faire i=0 0 0 1 2 3 4


Pour j de 0 à N-1-i faire 1 0 1 2 3

M[i,j] ← j 2 0 1 2
3 0 1
Fin Pour
i = N-1 4 0
Fin Pour
j=0

18
EXEMPLE 4
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 4
1 3 4
2 2 3 4
3 1 2 3 4
4 0 1 2 3 4

19
EXEMPLE 4
0 1 2 3 4

Pour i de 0 à N-1 faire i=0 0 4


Pour j de N-1-i à N-1 faire 1 3 4
2 2 3 4
M[i,j] ← j
3 1 2 3 4
Fin Pour
i = N-1 4 0 1 2 3 4
Fin Pour
j = N-1

20
EXEMPLE 5
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 0 2 2 2 2
1 1 0 2 2 2
2 1 1 0 2 2
3 1 1 1 0 2
4 1 1 1 1 0

21
EXEMPLE 5
Pour i de 0 à N-1 faire 0 1 2 3 4

Pour j de 0 à N-1 faire i=0 0 0 2 2 2 2


Si i = j Alors 1 1 0 2 j>i
2 2

M[i,j] ← 0 2 1 1 0 2 2

Sinon Si j<i Alors 3 1 1 1 0 2


j<i
i = N-1 4 1 1 1 1 0
M[i,j] ← 1
Sinon
j=0 j = N-1
M[i,j] ← 2
FinSi
Fin Pour
22
Fin Pour
EXEMPLE 6
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 1 2 3 4 5
1 10 9 8 7 6
2 11 12 13 14 15
3 20 19 18 17 16
4 21 22 23 24 25

23
EXEMPLE 6
0 1 2 3 4
x ←1
Pour i de 0 à N-1 faire 0 1 2 3 4 5 i=0
Si i Mod 2 = 0 Alors 1 10 9 8 7 6 i=1
Pour j de 0 à N-1 faire 2 11 12 13 14 15 i=2
M[i,j] ← x 3 20 19 18 17 16 i=3
x ←x + 1
4 21 22 23 24 25 i=4
Fin Pour
Sinon
Pour j de N-1 à 0 [pas=-1] faire
M[i,j] ← x
x ←x + 1
Fin Pour
Fin Pour 24
EXEMPLE 7
Ecrire les instructions algorithmiques permettant de remplir la matrice suivante:

0 1 2 3 4

0 1 10 11 20 20
1 2 9 12 19 21
2 3 8 13 18 22
3 4 7 14 17 23
4 5 6 15 16 24

25
EXEMPLE 7
0 1 2 3 4
x ←1
Pour j de 0 à N-1 faire 0 1 10 11 20 20
Si j Mod 2 = 0 Alors 1 2 9 12 19 21
Pour i de 0 à N-1 faire 2 3 8 13 18 22
M[i,j] ← x 3 4 7 14 17 23
x ←x + 1
4 5 6 15 16 24
Fin Pour
j=0 j = 1 j= 2 j=3 j = 4
Sinon
Pour i de N-1 à 0 [pas=-1] faire
M[i,j] ← x
x ←x + 1
Fin Pour
Fin Pour 26
EXEMPLE 8
Ecrire les instructions algorithmiques permettant de remplir la matrice
suivante:
0 1 2 3 4

0 1 2 3 4 5
1 16 17 18 19 6
2 15 24 25 20 7
3 14 23 22 21 8
4 13 12 11 10 9

27
x ← 1 ; deb ← 0 ; fin ← N-1
EXEMPLE 8 Tant Que (deb≤fin) Faire
Pour i de deb à fin faire
M[deb, i] ← x
x ←x + 1
Fin Pour
0 1 2 3 4
Pour i de deb+1 à fin-1 faire
dep 0 1 2 3 4 5 M[i,fin] ← x
x ←x + 1
dep 1 16 17 18 19 6
Fin Pour
fin 2 15 24 25 20 7 Pour i de fin à deb+1 [pas=-1] faire
fin 3 14 23 22 21 8 M[fin, i] ← x
x ←x + 1
fin 4 13 12 11 10 9 Fin Pour
Pour i de fin à deb+1 [pas=-1] faire
M[i,deb] ← x
x ←x + 1
Fin Pour
deb ← deb+1
fin ← fin-1
Fin Tanque 28
Exercices d'application
EXERCICE 1
Écrivez un programme pour lire les éléments d'une matrice M de L (2≤L ≤15)
lignes et C (3≤ C ≤20) colonnes puis de remplir un tableau LS par la somme la
somme de chaque ligne de la matrice M et un tableau CS par la somme la somme
de chaque ligne de la matrice M . Enfin d'afficher les deux tableaux LS et CS.

 Exemple :

Pour M = 5 4 -1 LS sera : 8 12 3 35
2 0 10
-3 5 1 CS sera : 29 15 14
25 6 4
EXERCICE 2
En mathématiques, la matrice transposée d'une matrice A de taille (L, C) est une matrice
notée AT de taille (C, L), obtenue en échangeant les lignes et les colonnes de A.

1 4
1 2 3
Exemple : 𝑨= => 𝑨𝑻 = 2 5
4 5 6
3 6
On se propose de remplir une matrice A de taille (L, C) avec (2≤L≤20 et 3≤C≤15), par des
entiers puis de générer sa matrice transposée AT et de l'afficher.
Travail demandé :
1. Ecrire un algorithme pour le programme principal
2. Déduire les algorithmes des modules envisagés précédemment.

Vous aimerez peut-être aussi