Un tableau est une collection d’objets de données de même type, stockés dans des emplacements mémoires contigus, c’est-à-dire les uns à côté des autres. Les tableaux permettent de gérer facilement des collections de données, que ce soit des nombres, des chaînes de caractères ou d’autres types de données.
- Vecteur : Tableau à une seule dimension.
- Matrice : Tableau à deux dimensions.
A . DÉCLARATION VECTEUR (TABLEAU À UNE DIMENSION)
Un vecteur est un tableau où chaque élément est accessible par un seul indice.
En algorithmique :
nomTab : tableau [taille] de type
En C :
type nomTab[taille];
int tableau[5]; // Déclaration d'un tableau d'entiers de taille 5
En PHP :
$nomTab = array();
$tab = array(1, 2, 3, 4, 5); // Déclaration d'un tableau de 5 éléments
B . DÉCLARATION MATRICE (TABLEAU À DEUX DIMENSIONS)
Une matrice est un tableau où chaque élément est accessible par deux indices : un pour la ligne et un pour la colonne.
En algorithmique :
nomTab : tableau [nblignes][nbColonnes] de type
En C :
type nomTab[nblignes][nbColonnes];
int matrice[3][4]; // Déclaration d'une matrice de 3 lignes et 4 colonnes
En PHP :
$nomTab = array();
$matrice = array(
array(1, 2, 3, 4),
array(5, 6, 7, 8),
array(9, 10, 11, 12)
); // Matrice de 3 lignes et 4 colonnes
C . ALGORITHMES
a) Stockage des éléments dans un tableau
L’algorithme de stockage permet d’initialiser ou d’ajouter des valeurs dans un tableau.
En algorithmique (stockage d’un vecteur) :
Pour i allant de 0 à taille - 1 faire
Lire valeur
nomTab[i] ← valeur
Fin pour
En C :
for (int i = 0; i < taille; i++) {
scanf("%d", &tableau[i]);
}
En PHP :
for ($i = 0; $i < count($tab); $i++) {
$tab[$i] = readline("Entrez la valeur : ");
}
b) Affichage des éléments d’un tableau
L’algorithme d’affichage permet de parcourir et afficher les éléments du tableau.
En algorithmique :
Pour i allant de 0 à taille - 1 faire
Afficher nomTab[i]
Fin pour
En C :
for (int i = 0; i < taille; i++) {
printf("%d ", tableau[i]);
}
En PHP :
foreach ($tab as $valeur) {
echo $valeur . " ";
}
c) Détermination du minimum, maximum et moyenne
Ces algorithmes permettent de calculer la valeur minimale, la valeur maximale et la moyenne des éléments d’un tableau.
En algorithmique (stockage d’un vecteur) :
min ← nomTab[0]
max ← nomTab[0]
Pour i allant de 1 à taille - 1 faire
Si nomTab[i] < min alors
min ← nomTab[i]
Finsi
Si nomTab[i] > max alors
max ← nomTab[i]
Finsi
Fin pour
Afficher "Min : ", min, " Max : ", max
En C :
int min = tableau[0], max = tableau[0];
for (int i = 1; i < taille; i++) {
if (tableau[i] < min) min = tableau[i];
if (tableau[i] > max) max = tableau[i];
}
printf("Min : %d, Max : %d", min, max);
En PHP :
$min = min($tab);
$max = max($tab);
echo "Min: $min, Max: $max";
Calcul de la moyenne :
somme ← 0
Pour i allant de 0 à taille - 1 faire
somme ← somme + nomTab[i]
Fin pour
moyenne ← somme / taille
Afficher "Moyenne : ", moyenne
d) Recherche séquentielle
L’algorithme de recherche séquentielle permet de rechercher un élément dans un tableau.
En algorithmique (stockage d’un vecteur) :
trouvé ← faux
Pour i allant de 0 à taille - 1 faire
Si nomTab[i] = valeur_cherchée alors
trouvé ← vrai
Afficher "Valeur trouvée à l'indice ", i
Arrêter
Finsi
Fin pour
Si non trouvé alors
Afficher "Valeur non trouvée"
En C :
int trouvé = 0;
for (int i = 0; i < taille; i++) {
if (tableau[i] == valeur_cherchée) {
trouvé = 1;
printf("Valeur trouvée à l'indice %d", i);
break;
}
}
if (!trouvé) {
printf("Valeur non trouvée");
}
En PHP :
$trouvé = array_search($valeur_cherchée, $tab);
if ($trouvé !== false) {
echo "Valeur trouvée à l'indice $trouvé";
} else {
echo "Valeur non trouvée";
}
e) Le tri d’un tableau
Il existe plusieurs algorithmes pour trier un tableau, comme le tri par sélection, tri par insertion, tri à bulles, etc. Voici un exemple de tri à bulles.
En algorithmique :
Pour i allant de 0 à taille - 2 faire
Pour j allant de 0 à taille - i - 2 faire
Si nomTab[j] > nomTab[j + 1] alors
échanger nomTab[j] et nomTab[j + 1]
Finsi
Fin pour
Fin pour
En C :
for (int i = 0; i < taille - 1; i++) {
for (int j = 0; j < taille - i - 1; j++) {
if (tableau[j] > tableau[j + 1]) {
int temp = tableau[j];
tableau[j] = tableau[j + 1];
tableau[j + 1] = temp;
}
}
}
En PHP :
for (int i = 0; i < taille - 1; i++) {
for (int j = 0; j < taille - i - 1; j++) {
if (tableau[j] > tableau[j + 1]) {
int temp = tableau[j];
tableau[j] = tableau[j + 1];
tableau[j + 1] = temp;
}
}
}