SlideShare une entreprise Scribd logo
1  sur  21
CHAPITRE:
Structuresdedonnées
(Tableaubidimensionnel:
Matrices) 1ere année LMD Sciences
et Technologies
Introduction
C’est quoi une Matrice
Déclaration d’une Matrice
Accès aux éléments d’une matrice
Quelques opérations de base sur les matrices
Exercices d'applications
Sommaire:
1
2
3
4
5
6
INTRODUCTION
1. Notion d’une matrice : est un ensemble de données de même type
logées en mémoire centrale et référencé par deux indices (les lignes et
les colonnes). Les matrices sont donc des tableaux à deux dimensions
(bidimensionnels).
2. Caractéristiques d’une matrice:
Une matrice est caractérisée par:
Son nom: Par exemple, la matrice M.
Son type : tous les éléments de la matrice ont le même type et c’est
le type de la matrice.
Ses éléments : chaque case mémoire représente un élément de la
matrice.
Le nom de chaque élément: est composé du nom de la matrice
avec deux indices (ligne, colonne). Ces derniers indiquent la
position de l’élément dans la matrice.
Par exemple, l’élément M[ 3 , 2 ]= 2.
Il existe deux manières pour remplir une matrice :
1. Ligne par ligne
2. Colonne par colonne
1 2 3 4
1 -4,9 2 14,3 -6
2 1,3 -12 0 -0,5
3 11 2 -3 0,75
M[3,2]= 2
DÉCLARATION
D'UNE MATRICE
Exemples:
Variable
Mat : Tableau [1..4, 1..3] d’entiers;
Variable
M : Tableau [1..2, 1..2] de logiques;
Variable
A : Tableau [1..2, 1..3] de caractères;
1 2 3
1 6 2 14
2 19 -12 0
3 11 2 -3
4 32 9 0
1 2
1 TRUE FALSE
2 FALSE TRUE
1 2 3
1 R Y *
2 U % &
Variable
nom_matrice: tableau [MinInd1..MaxInd1, MinInd2 ..MaxInd2] de type;
Syntaxe (algorithme):
Valeur de l’indice de
ligne initial
Valeur de l’indice ligne
final
Valeur de l’indice de
colonne initial
Valeur de l’indice
colonne final
Exemples:
Var
Mat :array[1..7, 1..5] of integer;
M : array [1..2, 1..2] of boolean;
A : Array [1..2, 1..3] of char;
Cas particulier:
En cas d’une matrice Mat de nXm valeurs entières, on declare:
Mat: array[1..100, 1..100] of integer;
M: array[1..50, 1..50] of real;
Ici, c’est le cas de déclaration d’une matrice statique.
Var
Nom_tableau :array[MinInd1..MaxInd1, MinInd2 ..MaxInd2] of type;
Syntaxe (Pascal):
ACCÈSAUX
ÉLÉMENTS
D’UNE MATRICE
1. Création d’une matrice (Lire/remplir une matrice): saisir les éléments par le
clavier:
Exemple: écrire un algorithmepermettant de remplir une matrice (5x4)
d’éléments réels.
1 2 3 4
1 -4,9 2 14,3 -6
2 10 -2 3 4
3 1 2 14,3 -6
4 2 -12 0 -0,5
5 3 2 -3 0,75
INDICES
ELEMENTS
Deux boucles imbriquées permettent de remplir une matrice, ligne par ligne:
 La première boucle parcours les lignes de la matrice.
 Pour chaque ligne, la deuxième boucle parcours les colonnes de la matrice.
MM [ 2, 3 ]=3
Indice de ligne Indice de colonne
Algorithme saisie;
Variable
M: Tableau[1..5, 1..4] de réel;
i,j: entier;
Debut
Pour i← 1 à 5 faire
Pour i← 1 à 4 faire
Ecrire ('Donner l''élément numéro ', i, j,' de la matrice‘)
Lire (M[i,j]);
Finpour;
Finpour;
Fin.
4 colonnes de la
matrice de 1 à 4
5 lignes de la
matrice de 1 à 5
Pour parcourir les
lignes
Pour parcourir les
colonnes
2. Edition d’une matrice (affichage des éléments d’une matrice)
L’affichage d’une matrice se fait aussi par les boucles imbriquées.
Une boucle pour parcourir les lignes et une autre pour parcourir les colonnes.
1 2 3
1 -4,9 2 14,3
2 10 -2 3
3 1 2 14,3
4 2 -12 0
5 3 2 -3
L’affichage ligne par ligne:
Ecrire (‘L''élément numéro ', 1, 1,' de la matrice=‘,
Mat[1,1]);
Ecrire (‘L''élément numéro ', 1,2,' de la matrice=‘,
Mat[1,2]);
Ecrire (‘L''élément numéro ', 1, 3,' de la matrice=‘,
Mat[1,3]);
Ecrire (‘L''élément numéro ', 2, 1,' de la matrice=‘,
Mat[2,1]);
……
Ecrire (‘L''élément numéro ', 5, 3,' de la matrice=‘,
Mat[5,3]);
M
L’affichage colonne par colonne:
Ecrire (‘L''élément numéro ', 1, 1,' de la matrice=‘,
Mat[1,1]);
Ecrire (‘L''élément numéro ', 2,1,' de la matrice=‘,
Mat[2,1]);
Ecrire (‘L''élément numéro ', 3 ,1,' de la matrice=‘,
Mat[3,1]);
Ecrire (‘L''élément numéro ', 4, 1,' de la matrice=‘,
Mat[4,1]);
……
Ecrire (‘L''élément numéro ', 3, 5,' de la matrice=‘,
Mat[3,5]);
Exemple: écrire un algorithme permettant d’afficher les éléments d’une
matrice 3x4 d’éléments entiers.
Algorithme affichage;
Variable
Mat: Tableau[1..3, 1..4] d’entiers;
i,j: entier;
Debut
Pour i← 1 à 5 faire
Pour i← 1 à 4 faire
Ecrire (‘L''élément numéro ', i, j,' de la matrice=‘, Mat[i,j]);
Finpour;
Finpour;
Fin.
QUELQUES
OPÉRATIONS
DE BASESUR
LES MATRICES
Voici les opérations de base prises en charge par un tableau.
Affichage: Imprimer tous les éléments/ quelques éléments
de la matrice un par un.
Insertion : Ajouter un élément dans un position donnée.
Suppression : Supprimer un élément de la matrice.
Rechercher : Rechercher un élément en utilisant une
valeur ou indiquant une position.
Mise à jour: Mettre à jour un élément à une position
donnée/ mettre à jour une matrice.
1 2 3 4 5
1 -1 22 26 14 14
2 23 10 38 13 -3
3 8 -10 -11 27 7
4 40 5 23 5 8
5 -9 1 7 15 11
1 2 3 4 5
1 5 26 -20 11 -10
2 1 -10 3 -14 35
3 -12 1 0 -8 -9
4 24 20 -2 -15 -5
5 34 28 0 -16 -16
1 2 3 4 5
1 4 48 6 25 4
2 24 0 41 -1 32
3 -4 -9 -11 19 -2
4 64 25 21 -10 3
5 25 29 7 -1 -5
A B
CC[1,1]←A[1,1]+B[1,1]
C[1,2]←A[1,2]+B[1,2]
C[1,3]←A[1,3]+B[1,3]
C[1,4]←A[1,4]+B[1,4]
C[2,1]←A[2,1]+B[2,1]
C[2,2]←A[2,2]+B[2,2]
…….
C[i,j]←A[i,j]+B[i,j]
Traitement
A
B
C
+
=
Exercice: Ecrire un algorithme qui calcul la
somme de deux matrices A[15,15] et B[15,15] de
types réels et met le résultat dans une matrice
C[15,15].
.
Algorithme Som_matrice;
Variable
A, B, C :Tableau [1..15,1..15] de
réels;
i, j : entier;
Début
Pour i1 à 15 Faire
Pour j1 à 15 Faire
LireA[i,j];
Lire B[i,j] ;
Fpour;
Fpour;
Pour i1 à 15 Faire
Pour j1 à 15 Faire
C[i,j]A[i,j]+B[i,j] ;
Fpour;
Fpour;
Pour i1 à 15 Faire
Pour j1 à 15 Faire
Ecrire (C[i,j])
Fpour;
Fpour;
Fin.
Remplir
les deux
matrices
A et B
Afficher la
matrice C
(résultat)
Traitement de
la somme des
deux matrices
EXERCICES
D’APPLICATIONS
Exercice N°1 :
Ecrire un programme PASCAL qui permet de :
1. Remplir une matrice carrée de taille 4x4.
2. Calculer et afficher le nombre d’éléments positifs,
négatifs et nuls.
Exercice N°2 :
Ecrire un programme PASCAL qui permet de :
1. Remplir une matrice d’entiers de taille n*m
2. Afficher le nombre d’éléments impairs par colonne.
Exercice N°3 :
Ecrire le programme PASCAL qui calcul la multiplication
d’une matrice A(20,20) avec un vecteur B(20) et met le
résultat dans un vecteur C(20).

Contenu connexe

Tendances

Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de triSana Aroussi
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données IIRiadh Bouslimi
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java HéritageNadaBenLatifa
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithmebadr zaimi
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI Mansouri Khalifa
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs ATPENSC-Group
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéeMissaoui Abdelbaki
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Ines Ouaz
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binairesSana Aroussi
 
Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Wael Ismail
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
Chap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmesChap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmesMohammed TAMALI
 

Tendances (20)

Chapitre iv algorithmes de tri
Chapitre iv algorithmes de triChapitre iv algorithmes de tri
Chapitre iv algorithmes de tri
 
Algorithmique et Structures de Données II
Algorithmique et Structures de Données IIAlgorithmique et Structures de Données II
Algorithmique et Structures de Données II
 
COURS_PYTHON_22.ppt
COURS_PYTHON_22.pptCOURS_PYTHON_22.ppt
COURS_PYTHON_22.ppt
 
Exercice 1 java Héritage
Exercice 1 java HéritageExercice 1 java Héritage
Exercice 1 java Héritage
 
Les enregistrements
Les enregistrements Les enregistrements
Les enregistrements
 
Cours algorithme
Cours algorithmeCours algorithme
Cours algorithme
 
02 correction-td smi-s3-algo2
02 correction-td smi-s3-algo202 correction-td smi-s3-algo2
02 correction-td smi-s3-algo2
 
Formation python 3
Formation python 3Formation python 3
Formation python 3
 
Chapitre05 : Les tableaux
Chapitre05 : Les tableauxChapitre05 : Les tableaux
Chapitre05 : Les tableaux
 
Cours : les listes chainées Prof. KHALIFA MANSOURI
Cours : les listes chainées  Prof. KHALIFA MANSOURI Cours : les listes chainées  Prof. KHALIFA MANSOURI
Cours : les listes chainées Prof. KHALIFA MANSOURI
 
Les listes en Python
Les listes en PythonLes listes en Python
Les listes en Python
 
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
Fiche de TP 1 sur les Feuilles de calculs avec les Tableurs
 
cours algorithme et structure de données 1er année
cours algorithme et structure de données 1er annéecours algorithme et structure de données 1er année
cours algorithme et structure de données 1er année
 
Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)Travaux dirigés 1: algorithme & structures de données (corrigés)
Travaux dirigés 1: algorithme & structures de données (corrigés)
 
Algorithmes de tri
Algorithmes de triAlgorithmes de tri
Algorithmes de tri
 
Rapport De PFE
Rapport De PFERapport De PFE
Rapport De PFE
 
Chapitre 5 arbres binaires
Chapitre 5 arbres binairesChapitre 5 arbres binaires
Chapitre 5 arbres binaires
 
Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18Base de-donn-es-bac-si-95ae18
Base de-donn-es-bac-si-95ae18
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
Chap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmesChap III : Cours de Modélisation & Simulation des systèmes
Chap III : Cours de Modélisation & Simulation des systèmes
 

Similaire à Cours Algorithme: Matrice

Similaire à Cours Algorithme: Matrice (20)

Tableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptxTableau a deux dimensions (1).pptx
Tableau a deux dimensions (1).pptx
 
04 cours matrices_suites
04 cours matrices_suites04 cours matrices_suites
04 cours matrices_suites
 
Initiation r
Initiation rInitiation r
Initiation r
 
Lecture 3: Visualization and Programming
Lecture 3: Visualization and ProgrammingLecture 3: Visualization and Programming
Lecture 3: Visualization and Programming
 
Chapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdfChapitre 8 - Les tableaux et les pointeurs.pdf
Chapitre 8 - Les tableaux et les pointeurs.pdf
 
Chapitre 2
Chapitre 2Chapitre 2
Chapitre 2
 
Ch5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdfCh5-les tableaux et les pointeurs.pdf
Ch5-les tableaux et les pointeurs.pdf
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019Chapitre3TableauxEnCppV2019
Chapitre3TableauxEnCppV2019
 
Chap 4 déterminant
Chap 4 déterminantChap 4 déterminant
Chap 4 déterminant
 
Tp 2 vecteur et matrice
Tp 2 vecteur et matriceTp 2 vecteur et matrice
Tp 2 vecteur et matrice
 
Matlab Travaux Pratique
Matlab Travaux Pratique Matlab Travaux Pratique
Matlab Travaux Pratique
 
Ch8 correction exercices (1)
Ch8 correction exercices (1)Ch8 correction exercices (1)
Ch8 correction exercices (1)
 
Matlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè PouvMatlab by Prof.Keang Sè Pouv
Matlab by Prof.Keang Sè Pouv
 
Chap 3 matrice
Chap 3 matriceChap 3 matrice
Chap 3 matrice
 
Tp2 matlab
Tp2 matlab Tp2 matlab
Tp2 matlab
 
Chapitre3 tableauxcpp
Chapitre3 tableauxcppChapitre3 tableauxcpp
Chapitre3 tableauxcpp
 
Les vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptxLes vecteurs seconde2020.pptx
Les vecteurs seconde2020.pptx
 
Correction td2
Correction td2Correction td2
Correction td2
 
Calcul scientifique avec python Numpy
Calcul scientifique avec python NumpyCalcul scientifique avec python Numpy
Calcul scientifique avec python Numpy
 

Dernier

Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxlamourfrantz
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.docKarimKhrifech
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.Franck Apolis
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfssuser40e112
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptxMalikaIdseaid1
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...M2i Formation
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurdinaelchaine
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...Faga1939
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxssuserbd075f
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprisesMajdaKtiri2
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertChristianMbip
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxpopzair
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxssusercbaa22
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.Txaruka
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptssusercbaa22
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptssusercbaa22
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptxSAID MASHATE
 

Dernier (20)

Evaluación Alumnos de Ecole Victor Hugo
Evaluación Alumnos de Ecole  Victor HugoEvaluación Alumnos de Ecole  Victor Hugo
Evaluación Alumnos de Ecole Victor Hugo
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Cours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptxCours-irrigation_et_drainage_cours1.pptx
Cours-irrigation_et_drainage_cours1.pptx
 
Grammaire pour les élèves de la 6ème.doc
Grammaire pour les élèves de la  6ème.docGrammaire pour les élèves de la  6ème.doc
Grammaire pour les élèves de la 6ème.doc
 
A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.A3iFormations, organisme de formations certifié qualiopi.
A3iFormations, organisme de formations certifié qualiopi.
 
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdfMICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
MICROBIOLOGIE ENDODONTIQUE english and frensh 25 nov 2020.pdf
 
presentation l'interactionnisme symbolique finale.pptx
presentation l'interactionnisme symbolique  finale.pptxpresentation l'interactionnisme symbolique  finale.pptx
presentation l'interactionnisme symbolique finale.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
Formation M2i - Intelligence Artificielle Comment booster votre productivité ...
 
présentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteurprésentation sur l'échafaudage dans des travaux en hauteur
présentation sur l'échafaudage dans des travaux en hauteur
 
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
LA MONTÉE DE L'ÉDUCATION DANS LE MONDE DE LA PRÉHISTOIRE À L'ÈRE CONTEMPORAIN...
 
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptxSUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
SUPPORT DE SUR COURS_GOUVERNANCE_SI_M2.pptx
 
gestion des conflits dans les entreprises
gestion des  conflits dans les entreprisesgestion des  conflits dans les entreprises
gestion des conflits dans les entreprises
 
systeme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expertsysteme expert_systeme expert_systeme expert
systeme expert_systeme expert_systeme expert
 
Présentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptxPrésentation de cartes d'extension zhr..pptx
Présentation de cartes d'extension zhr..pptx
 
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptxApproche-des-risques-par-l’analyse-des-accidents-1.pptx
Approche-des-risques-par-l’analyse-des-accidents-1.pptx
 
Boléro. pptx Film français réalisé par une femme.
Boléro.  pptx   Film   français   réalisé  par une  femme.Boléro.  pptx   Film   français   réalisé  par une  femme.
Boléro. pptx Film français réalisé par une femme.
 
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.pptMécanique Automobile LE TURBOCOMPRESSEUR.ppt
Mécanique Automobile LE TURBOCOMPRESSEUR.ppt
 
MaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.pptMaintenanceLa Maintenance Corrective.ppt
MaintenanceLa Maintenance Corrective.ppt
 
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
666148532-Formation-Habilitation-ELECTRIQUE-ENTREPRISE-MARS-2017.pptx
 

Cours Algorithme: Matrice

  • 2. Introduction C’est quoi une Matrice Déclaration d’une Matrice Accès aux éléments d’une matrice Quelques opérations de base sur les matrices Exercices d'applications Sommaire: 1 2 3 4 5 6
  • 4. 1. Notion d’une matrice : est un ensemble de données de même type logées en mémoire centrale et référencé par deux indices (les lignes et les colonnes). Les matrices sont donc des tableaux à deux dimensions (bidimensionnels). 2. Caractéristiques d’une matrice: Une matrice est caractérisée par: Son nom: Par exemple, la matrice M. Son type : tous les éléments de la matrice ont le même type et c’est le type de la matrice. Ses éléments : chaque case mémoire représente un élément de la matrice.
  • 5. Le nom de chaque élément: est composé du nom de la matrice avec deux indices (ligne, colonne). Ces derniers indiquent la position de l’élément dans la matrice. Par exemple, l’élément M[ 3 , 2 ]= 2. Il existe deux manières pour remplir une matrice : 1. Ligne par ligne 2. Colonne par colonne 1 2 3 4 1 -4,9 2 14,3 -6 2 1,3 -12 0 -0,5 3 11 2 -3 0,75 M[3,2]= 2
  • 7. Exemples: Variable Mat : Tableau [1..4, 1..3] d’entiers; Variable M : Tableau [1..2, 1..2] de logiques; Variable A : Tableau [1..2, 1..3] de caractères; 1 2 3 1 6 2 14 2 19 -12 0 3 11 2 -3 4 32 9 0 1 2 1 TRUE FALSE 2 FALSE TRUE 1 2 3 1 R Y * 2 U % & Variable nom_matrice: tableau [MinInd1..MaxInd1, MinInd2 ..MaxInd2] de type; Syntaxe (algorithme): Valeur de l’indice de ligne initial Valeur de l’indice ligne final Valeur de l’indice de colonne initial Valeur de l’indice colonne final
  • 8. Exemples: Var Mat :array[1..7, 1..5] of integer; M : array [1..2, 1..2] of boolean; A : Array [1..2, 1..3] of char; Cas particulier: En cas d’une matrice Mat de nXm valeurs entières, on declare: Mat: array[1..100, 1..100] of integer; M: array[1..50, 1..50] of real; Ici, c’est le cas de déclaration d’une matrice statique. Var Nom_tableau :array[MinInd1..MaxInd1, MinInd2 ..MaxInd2] of type; Syntaxe (Pascal):
  • 10. 1. Création d’une matrice (Lire/remplir une matrice): saisir les éléments par le clavier: Exemple: écrire un algorithmepermettant de remplir une matrice (5x4) d’éléments réels. 1 2 3 4 1 -4,9 2 14,3 -6 2 10 -2 3 4 3 1 2 14,3 -6 4 2 -12 0 -0,5 5 3 2 -3 0,75 INDICES ELEMENTS Deux boucles imbriquées permettent de remplir une matrice, ligne par ligne:  La première boucle parcours les lignes de la matrice.  Pour chaque ligne, la deuxième boucle parcours les colonnes de la matrice. MM [ 2, 3 ]=3 Indice de ligne Indice de colonne
  • 11. Algorithme saisie; Variable M: Tableau[1..5, 1..4] de réel; i,j: entier; Debut Pour i← 1 à 5 faire Pour i← 1 à 4 faire Ecrire ('Donner l''élément numéro ', i, j,' de la matrice‘) Lire (M[i,j]); Finpour; Finpour; Fin. 4 colonnes de la matrice de 1 à 4 5 lignes de la matrice de 1 à 5 Pour parcourir les lignes Pour parcourir les colonnes
  • 12. 2. Edition d’une matrice (affichage des éléments d’une matrice) L’affichage d’une matrice se fait aussi par les boucles imbriquées. Une boucle pour parcourir les lignes et une autre pour parcourir les colonnes. 1 2 3 1 -4,9 2 14,3 2 10 -2 3 3 1 2 14,3 4 2 -12 0 5 3 2 -3 L’affichage ligne par ligne: Ecrire (‘L''élément numéro ', 1, 1,' de la matrice=‘, Mat[1,1]); Ecrire (‘L''élément numéro ', 1,2,' de la matrice=‘, Mat[1,2]); Ecrire (‘L''élément numéro ', 1, 3,' de la matrice=‘, Mat[1,3]); Ecrire (‘L''élément numéro ', 2, 1,' de la matrice=‘, Mat[2,1]); …… Ecrire (‘L''élément numéro ', 5, 3,' de la matrice=‘, Mat[5,3]); M L’affichage colonne par colonne: Ecrire (‘L''élément numéro ', 1, 1,' de la matrice=‘, Mat[1,1]); Ecrire (‘L''élément numéro ', 2,1,' de la matrice=‘, Mat[2,1]); Ecrire (‘L''élément numéro ', 3 ,1,' de la matrice=‘, Mat[3,1]); Ecrire (‘L''élément numéro ', 4, 1,' de la matrice=‘, Mat[4,1]); …… Ecrire (‘L''élément numéro ', 3, 5,' de la matrice=‘, Mat[3,5]);
  • 13. Exemple: écrire un algorithme permettant d’afficher les éléments d’une matrice 3x4 d’éléments entiers. Algorithme affichage; Variable Mat: Tableau[1..3, 1..4] d’entiers; i,j: entier; Debut Pour i← 1 à 5 faire Pour i← 1 à 4 faire Ecrire (‘L''élément numéro ', i, j,' de la matrice=‘, Mat[i,j]); Finpour; Finpour; Fin.
  • 15. Voici les opérations de base prises en charge par un tableau. Affichage: Imprimer tous les éléments/ quelques éléments de la matrice un par un. Insertion : Ajouter un élément dans un position donnée. Suppression : Supprimer un élément de la matrice. Rechercher : Rechercher un élément en utilisant une valeur ou indiquant une position. Mise à jour: Mettre à jour un élément à une position donnée/ mettre à jour une matrice.
  • 16. 1 2 3 4 5 1 -1 22 26 14 14 2 23 10 38 13 -3 3 8 -10 -11 27 7 4 40 5 23 5 8 5 -9 1 7 15 11 1 2 3 4 5 1 5 26 -20 11 -10 2 1 -10 3 -14 35 3 -12 1 0 -8 -9 4 24 20 -2 -15 -5 5 34 28 0 -16 -16 1 2 3 4 5 1 4 48 6 25 4 2 24 0 41 -1 32 3 -4 -9 -11 19 -2 4 64 25 21 -10 3 5 25 29 7 -1 -5 A B CC[1,1]←A[1,1]+B[1,1] C[1,2]←A[1,2]+B[1,2] C[1,3]←A[1,3]+B[1,3] C[1,4]←A[1,4]+B[1,4] C[2,1]←A[2,1]+B[2,1] C[2,2]←A[2,2]+B[2,2] ……. C[i,j]←A[i,j]+B[i,j] Traitement A B C + = Exercice: Ecrire un algorithme qui calcul la somme de deux matrices A[15,15] et B[15,15] de types réels et met le résultat dans une matrice C[15,15]. .
  • 17. Algorithme Som_matrice; Variable A, B, C :Tableau [1..15,1..15] de réels; i, j : entier; Début Pour i1 à 15 Faire Pour j1 à 15 Faire LireA[i,j]; Lire B[i,j] ; Fpour; Fpour; Pour i1 à 15 Faire Pour j1 à 15 Faire C[i,j]A[i,j]+B[i,j] ; Fpour; Fpour; Pour i1 à 15 Faire Pour j1 à 15 Faire Ecrire (C[i,j]) Fpour; Fpour; Fin. Remplir les deux matrices A et B Afficher la matrice C (résultat) Traitement de la somme des deux matrices
  • 19. Exercice N°1 : Ecrire un programme PASCAL qui permet de : 1. Remplir une matrice carrée de taille 4x4. 2. Calculer et afficher le nombre d’éléments positifs, négatifs et nuls.
  • 20. Exercice N°2 : Ecrire un programme PASCAL qui permet de : 1. Remplir une matrice d’entiers de taille n*m 2. Afficher le nombre d’éléments impairs par colonne.
  • 21. Exercice N°3 : Ecrire le programme PASCAL qui calcul la multiplication d’une matrice A(20,20) avec un vecteur B(20) et met le résultat dans un vecteur C(20).