Matrices

- Présentation -

        Les matrices, que certains ont peut-être déjà rencontré en maths, peuvent être assimilées à des tableaux. Mais contrairement à notre réalité, les matrcies utilisées en programmation peuvent posséder une infinité de dimensions. Mais il est rare d'aller au-delà de deux. Ces matrices sont très souvent utilisées en 3d mais nous allons voir ici comment se servir de leur propriété principale, c'est à dire l'indexation de variables.

- Notre Projet -

        Imaginons que vous soyez en train de développer un projet en Java. Celui-ci pourra donc être éxécuté sur des machines différentes. Bon, votre soft accepte des arguments en ligne de commande dont un servant à afficher l'aide. Mais les arguments utilisés dans le monde du Pc et d'Unix pour l'aide sont différents. Il va donc falloir créer une liste de if ou utiliser un switch. Mais c'est assez fatiguant. Je vous propose d'utiliser une boucle for à la place...

- Le Code -

        Voici le pseudo-code correspondant aux trois cas envisageables. Vous verrez que le dernier est très avantageux en raison de se facilité de maintenance et de sa légéreté.
La version if:

if ((argument == "/?") or (argument == "--help") or ...
  afficheAide();

La version switch:

switch (argument)
{
  case "/?" :
    afficheAide();
    stop;
  case "--h"
    afficheAide();
    stop;
  ...
}

Et la version matricielle:

matrice aide = { "help", "--h", "h", "/?", "?", ... };
for (i = 0; i < aide.longueur; i++)
  if (argument = aide[i])
  {
    afficheAide();
    stop;
  }
}

        Mais vous pouvez vous en servir dans le cadre de vérification d'extensions de fichiers. Deux bons exemples d'utilisations des matrices sont les programmes Java Jm3u pour les fichiers, JHtml pour une comparaison matrice à matrice (remplacement de caractères par d'autres) et enfin JMat pour les opérations matricielles.