Pascal - Tableaux

Le langage de programmation Pascal fournit une structure de données appelée tableau, qui peut stocker une collection séquentielle de taille fixe d'éléments du même type. Un tableau est utilisé pour stocker une collection de données, mais il est souvent plus utile de considérer un tableau comme une collection de variables du même type.

Au lieu de déclarer des variables individuelles, telles que nombre1, nombre2, ... et nombre100, vous déclarez une variable de tableau telle que des nombres et utilisez les nombres [1], les nombres [2] et ..., les nombres [100] pour représenter variables individuelles. Un élément spécifique d'un tableau est accessible par un index.

Tous les tableaux sont constitués d'emplacements de mémoire contigus. L'adresse la plus basse correspond au premier élément et l'adresse la plus élevée au dernier élément.

Veuillez noter que si vous voulez un tableau de style C à partir de l'index 0, il vous suffit de démarrer l'index à partir de 0, au lieu de 1.

Déclaration de tableaux

Pour déclarer un tableau en Pascal, un programmeur peut soit déclarer le type puis créer des variables de ce tableau, soit déclarer directement la variable tableau.

La forme générale de la déclaration de type d'un tableau à une dimension est -

type
   array-identifier = array[index-type] of element-type;

Où,

  • array-identifier - indique le nom du type de tableau.

  • index-type- spécifie l'indice du tableau; il peut s'agir de n'importe quel type de données scalaire sauf réel

  • element-type - spécifie les types de valeurs qui vont être stockées

Par exemple,

type
   vector = array [ 1..25] of real;
var
   velocity: vector;

Maintenant, la vitesse est un tableau variable de type vectoriel, qui est suffisant pour contenir jusqu'à 25 nombres réels.

Pour démarrer le tableau à partir de 0 index, la déclaration serait -

type
   vector = array [ 0..24] of real;
var
   velocity: vector;

Types d'indice de tableau

En Pascal, un indice de tableau peut être de n'importe quel type scalaire comme, entier, booléen, énuméré ou sous-intervalle, sauf réel. Les indices de tableau peuvent également avoir des valeurs négatives.

Par exemple,

type
   temperature = array [-10 .. 50] of real;
var
   day_temp, night_temp: temperature;

Prenons un autre exemple où l'indice est de type caractère -

type
   ch_array = array[char] of 1..26;
var
   alphabet: ch_array;

L'indice peut être de type énuméré -

type
   color = ( red, black, blue, silver, beige);
   car_color = array of [color] of boolean;
var
   car_body: car_color;

Initialisation des tableaux

En Pascal, les tableaux sont initialisés par affectation, soit en spécifiant un indice particulier, soit en utilisant une boucle for-do.

Par exemple -

type
   ch_array = array[char] of 1..26;
var
   alphabet: ch_array;
   c: char;

begin
   ...
   for c:= 'A' to 'Z' do
   alphabet[c] := ord[m];  
   (* the ord() function returns the ordinal values *)

Accès aux éléments de la baie

Un élément est accessible en indexant le nom du tableau. Cela se fait en plaçant l'index de l'élément entre crochets après le nom du tableau. Par exemple -

a: integer;
a: = alphabet['A'];

L'instruction ci-dessus prendra le premier élément du tableau nommé alphabet et affectera la valeur à la variable a.

Voici un exemple, qui utilisera tous les trois concepts mentionnés ci-dessus à savoir. déclaration, affectation et accès aux tableaux -

program exArrays;
var
   n: array [1..10] of integer;   (* n is an array of 10 integers *)
   i, j: integer;

begin
   (* initialize elements of array n to 0 *)        
   for i := 1 to 10 do
       n[ i ] := i + 100;   (* set element at location i to i + 100 *)
    (* output each array element's value *)
   
   for j:= 1 to 10 do
      writeln('Element[', j, '] = ', n[j] );
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

Element[1] = 101
Element[2] = 102
Element[3] = 103
Element[4] = 104
Element[5] = 105
Element[6] = 106
Element[7] = 107
Element[8] = 108
Element[9] = 109
Element[10] = 110

Pascal Arrays en détail

Les tableaux sont importants pour Pascal et devraient avoir besoin de beaucoup plus de détails. Voici quelques concepts importants liés au tableau qui devraient être clairs pour un programmeur Pascal -

Sr. Non Concept et description
1 Tableaux multidimensionnels

Pascal prend en charge les tableaux multidimensionnels. La forme la plus simple du tableau multidimensionnel est le tableau à deux dimensions.

2 Tableau dynamique

Dans ce type de tableaux, la longueur initiale est égale à zéro. La longueur réelle du tableau doit être définie avec la normeSetLength fonction.

3 Tableau emballé

Ces tableaux sont remplis de bits, c'est-à-dire que chaque caractère ou valeur de vérité est stocké dans des octets consécutifs au lieu d'utiliser une unité de stockage, généralement un mot (4 octets ou plus).

4 Passer des tableaux à des sous-programmes

Vous pouvez transmettre à un sous-programme un pointeur vers un tableau en spécifiant le nom du tableau sans index.