Dans cette partie de cours , on va découvrir les Tableaux à n dimensions. En effet, nous avons appris comment et quand utiliser des tableaux à une seule dimension (les tableaux qu’on a vu dans les parties précédentes sont appelés : tableaux à une dimension), alors , cette partie est une généralisation de ce qu’on a vu précédement.
Définition:
Les éléments d’un vecteur (tableau à une dimension) peuvent être de type quelconque. On peut avoir par exemple un vecteur d’entier, un vecteur de caractères ou un vecteur d’objets composés. Les éléments d’un vecteur peuvent aussi être des vecteurs. On parlera alors de vecteur de vecteurs ou tout simplement de matrice ou encore tableau à deux dimensions.
Ainsi, on pourra placer des valeurs dans un tableau à deux dimensions et cela consiste comme dans le cas des tableaux à une dimension à donner un nom à l’ensemble de ces valeurs. Chaque valeur est alors repérée par deux indices qui précisent la position.
Syntaxe : Tableau Nom_M [L,C] : Type
- Nom_M: désigne le nom du tableau
- L: désigne le nombre de lignes du tableau
- C : désigne le nombre de colonnes du tableau
- Type : représente le type des éléments du tableau
On accède en lecture ou en écriture à la valeur d’un élément d’un tableau à deux dimensions en utilisant la syntaxe suivante : Nom_tableau (i , j)
Exemple : Soit T (3 , 5) un tableau d’entiers. On peut représenter graphiquement par :
T (1 , 4) et T(3 , 4) sont deux éléments du tableau. Entre parenthèse on trouve les valeurs des indices séparées par une virgule. Le premier sert à repérer le numéro de la ligne, le second le numéro de la colonne.
De même, les éléments d’une matrice peuvent être de type quelconque. On peut avoir par exemple une matrice d’entier, de caractères ou d’objets composés. Les éléments d’une matrice peuvent aussi être des vecteurs. On parlera alors de matrice de vecteurs ou tout simplement de tableau à trois dimensions. De cette façon, on peut généraliser à l’ordre n.
Exercices d'application
Exercice 1 : Remplissage et affichage
Ecrire un algorithme qui permet de remplir une matrice M de 10 lignes et 20 colonnes .On affiche le contenu de M par la suite.
Exercice 2 :
Considérons le programme suivant :
Tableau X [2 , 3] : Entier
Variables i , j , val : Entiers
DEBUT
val ← 1
POUR i allant de 1 à 2
POUR j allant de 1 à 3
X [i , j] ← val
val ← val + 1
FIN POUR
FIN POUR
POUR i allant de 1 à 2
POUR j allant de 1 à 3
Ecrire X [i , j]
Fin POUR
Fin POUR
- Que produit l’exécution de ce programme.
- que produira ce programme si l’on remplace les derniers lignes par :
POUR j = 1 A 3
POUR i = 1 A 2
Ecrire X (i , j)
FIN POUR
FIN POUR
Exercice 3 :
Quel est le résultat fourni par l’algorithme suivant ?
Tableau X (4 , 2) : Entier
Variables k , m : Entiers
DEBUT
POUR k allant de 1 A 4
POUR m allant de 1 A 2
X (k , m) ← k + m
FIN POUR
FIN POUR
POUR k allant de 1 A 4
POUR m allant de 1 A 2
Ecrire X (k , m)
FIN POUR
FIN POUR
Fin
Exercice 4 :
Soit T un tableau à deux dimensions de vingt lignes et cinquante colonnes.
- Ecrire un algorithme qui permet de calculer la somme de tous les éléments du tableau.
- Ecrire l’algorithme qui permet de compter le nombre des éléments strictement positifs.
- Ecrire l’algorithme permettant d’obtenir la somme des éléments positifs (spos) et la somme des éléments négatifs (sneg) de ce tableau.
- Ecrire l’algorithme qui détermine la plus grande valeur des éléments du tableau.
- Ecrire l’algorithme qui détermine simultanément l’élément le plus grand du tableau ainsi que sa position.
Exercice 5 :
Addition de deux matrices B et C de dimensions N et M dans une matrice A
A = B + C
A : matrice de dimensions (N,M)
A(i,j) = B(i,j) + C(i,j)
Vous pouvez suivre notre liste des vidéos sur l’algorithmique sur notre chaine youtube 9raytifclick (Darija: arabe marocaine) : Cours sur les algorithmes.
Aussi, si vous voulez commencer l’apprentissage d’un langage de programmation, voilà notre cours : Langage Python Niveau 1 qui sera très utile pour vous (il vous aide à pratiquer tous les éléments vu dans notre cours d’algorithmique).
Très bien comme site🍀👌👍👍👍
Trop bien
Merci beaucoup mais j’aimerais aussi avoir plus d’explications beaucoup même s’il vous plaît