VB.Net :Tableaux et matrices

VB.Net :Tableaux et matrices


VB.Net :Tableaux et matrices
 



Généralités


  • Les tableaux sont comme les variables soit locales, soit globales et obéissent aux mêmes
    règles.
  • Un tableau est une structure regroupant plusieurs valeurs de même type, appelées composantes du tableau.
  • VB.Net :Tableaux et matrices

  • On peut traiter un tableau comme un tout, ou composante par composante. Traité comme un tout, on pourra le stocker dans une variable, le passer en paramètre ou le donner en résultat d’un calcul.
  • Chaque composante est désignée individuellement via son indice, qui correspond à sa position dans le tableau, et peut être traitée comme variable individuelle : on pourra consulter sa valeur, la modifier, etc.
  • Les tableaux sont des séquences de données de même type. Vous pouvez accéder à un élément individuel d’un tableau en utilisant sa position d’entier, qui s’appelle un index.
  • Les éléments d’un tableau sont situés dans la mémoire contiguë. Cela signifie qu’un programme peut accéder aussi rapidement à tous les éléments d’un tableau.
  • Dès que l’on travaille avec de nombreuses données homogènes ( de même type) la première structure de base permettant le regroupement de ces données est le tableau.
  • VB.Net comme tous les langages algorithmiques propose cette structure au programmeur.
  • Les tableaux VB.Net sont indexés uniquement par des entiers (char, int, long,…) et sur un intervalle fixe à partir de zéro.
  • Un tableau (« array » en anglais) est un objet permettant de rassembler sous un même identificateur des données de même type.
  • Un tableau VB.Net peut avoir de une ou à plusieurs dimensions, nous avons donc les variétés suivantes de tableaux dans le CLR :
    1. Tableaux à une dimension.
    2. Tableaux à plusieurs dimensions (matrices,…).
    3. Tableaux déchiquetés.
  • Chaque dimension d’un tableau en VB.Net est définie par une valeur ou longueur, qui est un nombre ou une variable N entier (char, int, long,…) dont la valeur est supérieur ou égal à zéro.
  • Lorsqu’une dimension a une longueur N, l’indice associé varie dans l’intervalle [ 0 , N – 1 ].
Déclaration et création


  • Vous utilisez la même notation pour déclarer un tableau ou une simple variable.
    1. Spécifiez d’abord le mot clé Dim
    2. Puis le nom de la variable suivi deux parenthèses.
    3. Vous déclarez le type de la variable comme un tableau à l’aide du mot clé As.
    4. Syntaxe : Dim nomtableau(dimension1,dimension2, , dimension n) As type

  • Pour déclarer un tableau en VB.Net, il faut utiliser la syntaxe « () » associée à un nom.
  • Il faudra aussi allouer l’espace mémoire nécessaire pour le tableau avant de l’utiliser.

  • Dim nom_tab( ) as type

    1. Déclaration d’une variable de tableau, référence seule:
    2. Exemple

      Dim nom_tab ( ) as type

      Exmples:
      Dim Tableau(3) As Integer
      Dim Tableau(3) As String
      Dim Tableau(3) As float

      Dim Tableau(3) As Double
      Image de ce qui est présent en mémoire centrale après ces déclarations
      VB.Net :Tableaux et matrices

    3. Déclaration d’une variable de tableau avec définition explicite de taille :


    4. Dim nom as type() nom = new type(n)

      ===>n est le nombre de données que peut contenir le tableau.

      Exemple
      ‘Déclaration
      Dim t As String()
      ‘On instancie et on initialise
      t = New String(1) {« Un », « Deux »}
      Image de ce qui est présent en mémoire centrale après ces déclarations
      VB.Net :Tableaux et matrices
      • Chaque variable de référence pointe vers un tableau de longueur 4, chaque cellule d’un tableau contient la valeur null.
      • Le mot clé new correspond à la création d’un nouvel objet (un nouveau tableau) dont la taille est fixée par la valeur indiquée entre les crochets. Ici 3 tableaux sont crées et prêts à être utilisés :
        • table1 contiendra 4 entiers 32 bits
        • table2 contiendra 4 caractères
        • table3 contiendra 4 réels en simple précision
        • tableStr contiendra 4 chaînes de type string.
      • On peut aussi déclarer un tableau sous la forme de deux instructions :
        • une instruction de déclaration et une instruction de définition de taille avec le mot clef new
        • la seconde pouvant être mise n’importe où dans le corps d’instruction, mais elle doit être utilisée avant toute manipulation du tableau.
        • Cette dernière instruction de définition peut être répétée plusieurs fois dans le
          programme
        • Il s’agira alors à chaque fois de la création d’un nouvel objet (donc un nouveau
          tableau), l’ancien étant détruit et désalloué automatiquement par le ramasse-miettes (garbage
          collector) de VB.Net.

      Dim table1( ) as int
      Dim table2( ) as char
      Dim table3( ) as float
      Dim tableStr( ) as string
      ….
      table1 = new int (4)
      table2 = new char (11)
      table3 = new float (7)
      tableStr = new string (8)

    5. Déclaration et initialisation avec définition implicite de taille :
    6. Exemple

      Dim table1() as int = {13,-19,24,33,54,-97};
      Dim table2() as char= {‘a’,’p’,’c’,’p’,’e’,’d’,’a’,’g’,’o’,’g’,’i’,’e’};
      Dim table3() as float= {-13.2, 35, -52.03, 3.543 ,57.57 };

      Dim tableStr() as String= {« apc », »pedagogie », »chemin », »éclairant », »cours »};


      Dans cette éventualité VB.Net crée le tableau, calcule sa taille et l’initialise avec les valeurs fournies.

      Image de ce qui est présent en mémoire centrale après ces déclarations
      VB.Net :Tableaux et matrices

    7. Exemple:
      • Dim tab() As Apprenant 'Cette ligne ne fait que déclarer un tableau (de taille non spécifiée).
        tab = New Apprenant (42) ' Instancie un tableau de taille 42

      • On peut combiner la déclaration et l’instanciation en une seule ligne :
      • Dim tab = New Apprenant (42)

      • Remarque que cette dernière ligne peut encore s’écrire
      • Dim tab(42) As Apprenant


Tableaux à deux dimensions(ou plus)


  • VB.Net permet des tableaux multidimensionnels. Tableaux multi-dimensionnels sont également appelés tableau rectangulaire.
  • La forme la plus simple du tableau multidimensionnel est le tableau à 2 dimensions .
  • Un tableau à 2 dimensions peut être considéré comme une table , qui a x nombre de lignes et y nombre de colonnes.
  • Un tableau à deux dimensions se déclare de la manière suivante :
  • Dim nom_tab( , ) As type= new type(n, m) {}

    Syntaxe : Dim nomtableau(dimension1,dimension2, , dimension n) As type
    Dim NomTableau(,) As Integer = New Integer(4,2)
    { {1,2},
    {2,2},
    {3,2},
    {4,2},
    {5,2} }

  • Où n est le nombre de lignes et m le nombre de colonnes.
  • Dim Tableau(indice de la dernière ligne,indice de la dernière colonne) indice de la dernière colonne)

    Voici un tableau à 2 dimensions , qui contient 3 lignes et 4 colonnes :
    VB.Net :Tableaux et matrices

  • Les tableaux VB.Net peuvent avoir plusieurs dimensions, ceux qui ont deux dimensions sont dénommés matrices (vocabulaire scientifique).
  • Tous ce que nous allons dire sur les matrices s’étend ipso facto aux tableaux de dimensions trois, quatre et plus.
  • Ce sont aussi des objets et ils se comportent comme les tableaux à une dimension tant au niveau des déclarations qu’au niveau des utilisations.
  • La déclaration s’effectue avec un opérateur crochet et des virgules,exemples d’une syntaxe de déclaration d’un tableau à trois dimension : ( , , ).


Tableaux de tableaux (en escalier)



VB.Net :Tableaux et matrices

  • Un tableau en escalier est un tableau dont les éléments sont des tableaux .
  • Les éléments d’un tableau en dents de scie peuvent être de différentes dimensions et de tailles.
  • Un tableau en escalier est parfois appelé un « tableau de tableaux .
  • Un tableau en escalier est un tableau dont les éléments sont des tableaux.Les éléments d’un tableau en escalier peuvent être de dimensions et de tailles différentes.Un tableau en escalier est parfois appelé « tableau de tableaux ».
  • En VB.Net un tableau déchiqueté ou en escalier est composé de plusieurs tableaux unidimensionnels de taille variable.
  • La déclaration s’effectue avec des opérateurs parenthèses ( ) ( )… : autant de crochets que de dimensions.
  • VB.Net autorise comme Java, des tailles différentes pour chacun des sous-tableaux.
  • Les données proviennent de diverses formes . Parfois, la forme est inégale . Avec des tableaux déchiquetées , nous pouvons stocker efficacement de nombreuses lignes de différentes longueurs .


Travaux pratiques

  • Exécuter dans un projet de console le programme suivant.
    • Créez un tableau en escalier d’éléments int .
    • Définissez des valeurs dans le tableau.
    • Imprimez ensuite le résultat à la fin.

  • Cet exemple déclare un tableau en escalier .
  • Le mot Jagged n’existe pas dans le langage C #. Cela signifie que vous ne devez pas utiliser ce mot dans votre code.

  1. Déclarer et initialiser le tableau déchiquetée:

  2. Dim tab_escalier ()() As Integer= new integer(5)(){}

    Dans la déclaration ci-dessus les lignes sont fixées dans la taille. Mais les colonnes ne sont pas spécifiés , car ils peuvent varier.

    Dim tab_escalier(0) as Integer=new int(3);
    Dim tab_escalier(1) as Integer= new int(5);
    Dim tab_escalier(2) as Integer= new int(2);
    Dim tab_escalier(3) as Integer= new int(8);
    Dim tab_escalier(4) as Integer= new int(10);

    Dim tab_escalier(0) as Integer= new int() { 3, 5, 7};
    Dim tab_escalier(1) as Integer =new int() { 1, 0, 2, 4, 6 };
    Dim tab_escalier(2) as Integer= new int() { 1, 6 };
    Dim tab_escalier(3) as Integer= new int() { 1, 0, 2, 4, 6, 45, 67, 78 };
    Dim tab_escalier(4) as Integer= new int() { 1, 0, 2, 4, 6, 34, 54, 67, 87, 78 };

  3. Vous pouvez également initialiser le tableau lors de la déclaration comme ceci:

  4. Dim tab_escalier()() as integer = new integer()()
    {
    Dim tab_escalier(0) as Integer= new int() { 3, 5, 7},
    Dim tab_escalier(1) as Integer=new int() { 1, 0, 2, 4, 6 },
    Dim tab_escalier(2) as Integer= new int() { 1, 6 },
    Dim tab_escalier(3) as Integer= new int() { 1, 0, 2, 4, 6, 45, 67, 78 }
    };

        Vous pouvez envisager de tableau en escalier comme un compteur de billets de cinéma où la vente de billets compteurs sont fixes ( lignes sont fixes ), mais vous ne savez pas combien de personnes seront debout dans chaque compteur dans une file d’attente ( numéros de colonne ne sont pas fixes peuvent varier en fonction des différentes lignes ) .



Exercices




Sommaire du cours VB.Net