Présentation
1. Principe et définition
a. Simplifier les variables
Jusqu’à présent, les types de données que vous avez rencontrés sont des scalaires, sauf pour les chaînes de caractères. Pour
rappel un scalaire est un type de donnée qui ne représente qu’une seule variable à la fois. Un entier, un caractère, un réel, un
booléen, etc, sont des scalaires. Une chaîne de caractères non : il s’agit d’une suite, ou liste, de caractères, les uns après les
autres. Une chaîne est donc une liste ordonnée par vos soins de scalaires. Les langages proposent souvent un type pour les
chaînes de caractères, mais c’est une facilité offerte par ceuxci. Un langage comme le C n’en propose pas. En algorithmique,
vous utilisez le type "Alphanumérique", il vous faudra alors faire attention lors de la conversion en C. Bien heureusement, Java
propose un type de ce genre, même si comme souvent, derrière les apparences se cache une bien trompeuse réalité…
Mais alors comment se représenter une chaîne de caractères avec un type scalaire ? Il faut pour cela se rappeler comment sont
placées en mémoire les informations. La mémoire de l’ordinateur est composée de cases pouvant contenir certaines
informations. Ces cases sont numérotées (on parle d’adresse de la case) et contiennent des données. Ces données
représentent ce que vous voulez selon le contexte de leur utilisation. Vous pouvez par exemple partir du principe qu’elles
contiennent des scalaires. Si une case mémoire contient le nombre 65, ce peut être la valeur entière 65 ou encore le code ASCII
du caractère "A". Une case mémoire peut parfaitement contenir l’adresse d’une autre case mémoire : c’est un peu plus
compliqué que cela en a l’air, et ce sera l’objet d’un plus long exposé dans la suite de cet ouvrage.
Une chaîne de caractères est donc une suite de scalaires de type Caractère, les uns derrière les autres dans des cases
mémoires en principes contiguës. Selon le même principe, si vous reprenez l’exemple du chapitre précédent consistant en la
saisie des notes d’étudiants, ne pensezvous pas qu’il serait plus pratique de pouvoir conserver ces notes pour la suite du
programme ? Il serait alors possible de les réutiliser à volonté pour de nouveaux calculs, voire même pour les sauver dans un
fichier, les imprimer, les consulter, etc.
Jusqu’à présent, le seul moyen dont vous disposiez était de faire une boucle de saisie de notes, et dedans de tenter de faire
les calculs au fur et à mesure. L’autre possibilité était de poser n fois la même question et de placer les résultats dans n
variables différentes. Imaginez ceci :
...
Lire N1
Lire N2
...
Lire N20
Moy←(N1+N2+...+N20)/20
...
Ridicule, n’estce pas ? Maintenant, si vous savez qu’il y a vingt élèves dans une classe et donc vingt notes à saisir, ne seraitil
pas plus simple de remplacer toutes les variables par une seule, mais qui pourrait contenir toutes les notes ? L’idée serait donc
d’avoir un nom de variable mais qui pourrait associer une note à un numéro. Prenez la variable "note". Il suffirait alors de dire
que "note 1 vaut 15, note 2 vaut 17, note 3 vaut 8,etc.".
Un ensemble de valeurs représenté par le même nom variable et identifié par un numéro s’appelle un tableau. Le numéro qui
sert à identifier un élément (une valeur) du tableau s’appelle un indice. En représentation algorithmique, un élément du tableau
est représenté par le nom de la variable auquel on accole l’indice entre crochets :
Note[1]←15
Un tableau n’est pas un type de données, mais une liste d’éléments d’un type donné. On parlera d’un tableau de n
éléments de type numérique, ou Alphanumérique, etc.
b. Les dimensions
Faites courir un peu plus votre imagination et maintenant vous avez trois classes de vingt élèves. Devezvous utiliser trois
tableaux ? Ce qu’il y a de bien avec les tableaux, c’est qu’on peut rajouter des indices aux indices. C’est très facile à
appréhender avec deux indices.
Note[1][10]←17
Ceci pourrait (au conditionnel car soumis aux contraintes de la numérotation des éléments) se traduire par : La 10ème note de
la 1ère classe.
Rajouter un indice à un tableau s’appelle rajouter une dimension à un tableau. Avec une dimension le tableau peut être
représenté sur une ligne. Avec deux dimensions, le tableau peut être représenté en lignes et colonnes, comme dans un tableur
ou une grille quelconque. Et avec trois dimensions ? Sous forme de cube, avec un axe de profondeur. Audelà c’est plus difficile
à représenter, aussi il faut parfois utiliser des analogies avec des choses de la vie courante. Ainsi pour trois dimensions,
imaginez un grand casier avec x cases en largeur, y cases en hauteur, et dont chaque tiroir est décomposé en z petites cases.
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
95
1. Principe et définition
a. Simplifier les variables
Jusqu’à présent, les types de données que vous avez rencontrés sont des scalaires, sauf pour les chaînes de caractères. Pour
rappel un scalaire est un type de donnée qui ne représente qu’une seule variable à la fois. Un entier, un caractère, un réel, un
booléen, etc, sont des scalaires. Une chaîne de caractères non : il s’agit d’une suite, ou liste, de caractères, les uns après les
autres. Une chaîne est donc une liste ordonnée par vos soins de scalaires. Les langages proposent souvent un type pour les
chaînes de caractères, mais c’est une facilité offerte par ceuxci. Un langage comme le C n’en propose pas. En algorithmique,
vous utilisez le type "Alphanumérique", il vous faudra alors faire attention lors de la conversion en C. Bien heureusement, Java
propose un type de ce genre, même si comme souvent, derrière les apparences se cache une bien trompeuse réalité…
Mais alors comment se représenter une chaîne de caractères avec un type scalaire ? Il faut pour cela se rappeler comment sont
placées en mémoire les informations. La mémoire de l’ordinateur est composée de cases pouvant contenir certaines
informations. Ces cases sont numérotées (on parle d’adresse de la case) et contiennent des données. Ces données
représentent ce que vous voulez selon le contexte de leur utilisation. Vous pouvez par exemple partir du principe qu’elles
contiennent des scalaires. Si une case mémoire contient le nombre 65, ce peut être la valeur entière 65 ou encore le code ASCII
du caractère "A". Une case mémoire peut parfaitement contenir l’adresse d’une autre case mémoire : c’est un peu plus
compliqué que cela en a l’air, et ce sera l’objet d’un plus long exposé dans la suite de cet ouvrage.
Une chaîne de caractères est donc une suite de scalaires de type Caractère, les uns derrière les autres dans des cases
mémoires en principes contiguës. Selon le même principe, si vous reprenez l’exemple du chapitre précédent consistant en la
saisie des notes d’étudiants, ne pensezvous pas qu’il serait plus pratique de pouvoir conserver ces notes pour la suite du
programme ? Il serait alors possible de les réutiliser à volonté pour de nouveaux calculs, voire même pour les sauver dans un
fichier, les imprimer, les consulter, etc.
Jusqu’à présent, le seul moyen dont vous disposiez était de faire une boucle de saisie de notes, et dedans de tenter de faire
les calculs au fur et à mesure. L’autre possibilité était de poser n fois la même question et de placer les résultats dans n
variables différentes. Imaginez ceci :
...
Lire N1
Lire N2
...
Lire N20
Moy←(N1+N2+...+N20)/20
...
Ridicule, n’estce pas ? Maintenant, si vous savez qu’il y a vingt élèves dans une classe et donc vingt notes à saisir, ne seraitil
pas plus simple de remplacer toutes les variables par une seule, mais qui pourrait contenir toutes les notes ? L’idée serait donc
d’avoir un nom de variable mais qui pourrait associer une note à un numéro. Prenez la variable "note". Il suffirait alors de dire
que "note 1 vaut 15, note 2 vaut 17, note 3 vaut 8,etc.".
Un ensemble de valeurs représenté par le même nom variable et identifié par un numéro s’appelle un tableau. Le numéro qui
sert à identifier un élément (une valeur) du tableau s’appelle un indice. En représentation algorithmique, un élément du tableau
est représenté par le nom de la variable auquel on accole l’indice entre crochets :
Note[1]←15
Un tableau n’est pas un type de données, mais une liste d’éléments d’un type donné. On parlera d’un tableau de n
éléments de type numérique, ou Alphanumérique, etc.
b. Les dimensions
Faites courir un peu plus votre imagination et maintenant vous avez trois classes de vingt élèves. Devezvous utiliser trois
tableaux ? Ce qu’il y a de bien avec les tableaux, c’est qu’on peut rajouter des indices aux indices. C’est très facile à
appréhender avec deux indices.
Note[1][10]←17
Ceci pourrait (au conditionnel car soumis aux contraintes de la numérotation des éléments) se traduire par : La 10ème note de
la 1ère classe.
Rajouter un indice à un tableau s’appelle rajouter une dimension à un tableau. Avec une dimension le tableau peut être
représenté sur une ligne. Avec deux dimensions, le tableau peut être représenté en lignes et colonnes, comme dans un tableur
ou une grille quelconque. Et avec trois dimensions ? Sous forme de cube, avec un axe de profondeur. Audelà c’est plus difficile
à représenter, aussi il faut parfois utiliser des analogies avec des choses de la vie courante. Ainsi pour trois dimensions,
imaginez un grand casier avec x cases en largeur, y cases en hauteur, et dont chaque tiroir est décomposé en z petites cases.
- 1 -
© ENI Editions - All rigths reserved - Jonifar lina
95
