Aller au contenu principal

Tableaux 1D

1️⃣ Pourquoi utiliser un tableau ?

Imaginons que nous devions stocker les notes de 5 étudiants. Sans tableau, nous aurions :

int note1 = 85;
int note2 = 90;
int note3 = 78;
int note4 = 92;
int note5 = 88;

Inconvénients :

  • Trop de variables à déclarer.
  • Difficile à traiter automatiquement (par exemple pour calculer la moyenne).
  • Peu pratique si le nombre d’éléments change.

Solution : utiliser un seul conteneur capable de stocker toutes les valeurs : un tableau.

int[] notes = { 85, 90, 78, 92, 88 };

👉 Avec un tableau, tout est regroupé sous un seul nom (notes) et on peut accéder facilement à chaque élément.


2️⃣ Qu’est-ce qu’un tableau ?

Un tableau est une collection ordonnée d’éléments du même type, repérés par un index.

Avantages :

  • Regrouper plusieurs valeurs sous un seul nom.
  • Accès rapide à n’importe quel élément via son index.
  • Taille connue grâce à la propriété .Length.
  • Compatible avec les boucles pour automatiser le traitement.

3️⃣ Déclaration et préinitialisation

Forme générale pour un tableau préinitialisé :

type[] nomTableau = { elt1, elt2, ..., eltN };

Exemple :

int[] notes = { 85, 90, 78, 92, 88 };

Forme générale pour un tableau vide avec une taille définie :

type[] nomTableau = new type[taille];

Exemple :

int[] tabNombres = new int[10]; // Tableau de 10 entiers initialisés à 0

4️⃣ Indexation – Comment accéder aux éléments ?

📌 L’index commence toujours à 0.

Console.WriteLine(notes[0]); // Premier élément (85)
Console.WriteLine(notes[4]); // Dernier élément (88)

Illustration visuelle

┌────┬────┬────┬────┬────┐
│ 85 │ 90 │ 78 │ 92 │ 88 │ ← Valeurs
└────┴────┴────┴────┴────┘
[0] [1] [2] [3] [4] ← Index

5️⃣ Modifier un élément

notes[2] = 80; // Change le 3e élément de 78 à 80
Console.WriteLine(notes[2]); // Affiche 80

6️⃣ Propriété .Length

Retourne le nombre d’éléments d’un tableau.

Console.WriteLine(notes.Length); // 5
Console.WriteLine(notes[notes.Length - 1]); // 88, dernier élément

📌 Ce tableau contient 5 valeurs, mais l’index commence à 0. Le dernier élément est donc à l’index 4 ou notes.Length - 1.


7️⃣ Les chaînes de caractères comme tableaux

Un string peut être vu comme un tableau de caractères.

string mot = "Bonjour";
Console.WriteLine(mot[0]); // B
Console.WriteLine(mot[3]); // j
Console.WriteLine(mot[mot.Length - 1]); // r

8️⃣ Découper une chaîne avec .Split()

Découpe une chaîne en morceaux selon un séparateur.

string texte = "pomme,banane,orange";
string[] fruits = texte.Split(',');

Console.WriteLine(fruits[0]); // pomme
Console.WriteLine(fruits[1]); // banane
Console.WriteLine(fruits[2]); // orange

9️⃣ Parcourir un tableau avec une boucle

Sans boucle :

Console.WriteLine(notes[0]);
Console.WriteLine(notes[1]);
Console.WriteLine(notes[2]);

Avec for :

int[] notes = { 85, 90, 78, 92, 88 };

for (int i = 0; i < notes.Length; i++)
{
Console.WriteLine("Note " + i + " = " + notes[i]);
}

🔟 Trier un tableau avec Array.Sort()

int[] nombres = { 42, 7, 19, 3, 88 };
Array.Sort(nombres);

for (int i = 0; i < nombres.Length; i++)
{
Console.WriteLine(nombres[i]);
}
/* Résultat :
3
7
19
42
88
*/

Fonctionne aussi avec les chaînes :

string[] noms = { "Zara", "Alice", "Bob" };
Array.Sort(noms);
// Résultat : Alice, Bob, Zara

1️⃣1️⃣ Recréer une chaîne avec string.Join()

Recolle les éléments d’un tableau en une seule chaîne.

string[] fruits = { "pomme", "banane", "orange" };
string phrase = string.Join(", ", fruits);
Console.WriteLine(phrase);
// Résultat : pomme, banane, orange

1️⃣2️⃣ Les constantes en C#

Une constante est une valeur qui ne change jamais pendant l’exécution du programme. On la déclare avec le mot-clé const.

Exemple simple

const double TAUX_TPS = 0.05;
const double TAUX_TVQ = 0.09975;

Console.WriteLine("TPS = " + TAUX_TPS);
Console.WriteLine("TVQ = " + TAUX_TVQ);

👉 L’avantage est que si le taux change, on modifie une seule ligne dans le code.

Avec et sans constantes

Sans constante :

double prix = 100;
double total = prix + prix * 0.05 + prix * 0.09975;

Avec constantes :

const double TPS = 0.05;
const double TVQ = 0.09975;

double prix = 100;
double total = prix + prix * TPS + prix * TVQ;

✅ Le code est plus lisible et plus facile à maintenir.

Constantes et tableaux

On peut aussi utiliser une constante pour définir la taille d’un tableau.

const int NOMBRE_ETUDIANTS = 5;
int[] notes = new int[NOMBRE_ETUDIANTS];

Cela rend le code plus clair et permet de modifier facilement la taille du tableau en changeant une seule valeur.


📎 Référence

👉 Documentation officielle : Tableaux en C#

Vous devez réaliser les labos suivants : 🧪 Labo 4.2A 🧪 Labo 4.2B