Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une...
-
Upload
tristand-dumont -
Category
Documents
-
view
119 -
download
4
Transcript of Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une...
![Page 1: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/1.jpg)
Les tableaux
![Page 2: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/2.jpg)
Tableau?Erreur de langage !
Un tableau est généralement une liste…C’est donc une liste de mêmes éléments :
Liste de notesListe de noms d’étudiantsListe de caractères (pour former un mot)…
Un tableau a une taille maximale
![Page 3: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/3.jpg)
Création d’un tableauLors de la déclaration de la variable de type
tableau, il faut :Donner la taille max
C’est ici que l’on donne le nombre maximal de cases à réserver
Donner le type des cases C’est ici qu’on donne le type des valeurs que l’on
souhaite mettre dans les cases.Donner le nom du tableau
C’est grâce à ce nom qu’on pourra modifier le contenu du tableau.
![Page 4: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/4.jpg)
Ce qu’il se passe en mémoire…Mémoire vive de
l’ordinateur
0xAABA
0xAABC
0xAABD
0xAABE
0xAABF
0xAAC0
0xAAC1
0xAAC2
0xAAC3
Adresse mémoire
![Page 5: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/5.jpg)
Ce qu’il se passe en mémoire…
monTableau Cellule de rang 1
Cellule de rang 2
Cellule de rang 3
Cellule de rang 4
Mémoire vive de
l’ordinateur
![Page 6: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/6.jpg)
Ce qu’on peut faire…Accéder à une case du tableau :
monTableau[0]Mettre une valeur dans le tableau :
monTableau[2]=120
monTableau
![Page 7: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/7.jpg)
Ce qu’on peut faire…Accéder à une case du tableau :
monTableau[0]Mettre une valeur dans le tableau :
monTableau[2]=120
monTableau
12
![Page 8: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/8.jpg)
Ce qu’il se passe en vrai !Quand on manipule une case du tableau :
monTableau[2]Le compilateur C++ transforme cette instruction en adresse mémoire :
@monTableau+20xAABD+20xAABF
C’est pour ça que la première caseest à l’indice 0…
0monTableau
12
0
0
0xAABA
0xAABC
0xAABD
0xAABE
0xAABF
0xAAC0
0xAAC1
0xAAC2
0xAAC3
![Page 9: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/9.jpg)
Ce qu’il se passe en vrai !C’est vrai aussi pour les variables normales !
Quand on déclare une variable dans un programme : int cpt;
On peut ensuite l’utiliser pour faire des calculs : cpt=cpt+1;
Ce qu’il se passe que on appuie sur ctrl-F5 :Partout où Visual Studio voit le mot cpt, il remplace
ce mot par l’adresse de la case cpt. Ainsi :cpt=cpt+1; 0x0001<=0x0001+1
![Page 10: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/10.jpg)
Ce qu’il faut savoirÀ gauche d’un « égal », il faut une adresse en
mémoirePour une variable « normale », c’est son nomPour un tableau, c’est une de ses cases
À droite, c’est un calcul avec la possibilité de mettre des adresses en mémoire pour récupérer des valeurs
Pour le reste, on verra ça plus tard avec les pointeursDemandez aux redoublants, c’est le bonheur ;-)
![Page 11: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/11.jpg)
Petit parallèle avec ExcelExcel, c’est un tableur fait par Microsoft :
![Page 12: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/12.jpg)
Petit parallèle avec ExcelOn a vu qu’un tableau en C++ n’est pas un
vrai tableauPar contre, une colonne sous Excel peut être
vue comme un tableau de grande taille.
Exemple sous Excel…
![Page 13: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/13.jpg)
![Page 14: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/14.jpg)
![Page 15: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/15.jpg)
![Page 16: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/16.jpg)
![Page 17: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/17.jpg)
![Page 18: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/18.jpg)
Pourquoi utiliser des tableaux?Permet de répéter le même traitement sur
plusieurs valeurs en faisant varier l’indice du tableau :Tab[i], avec i qui varie sur toutes les cases (en
utilisant une boucle…)Impossible de traiter un grand nombre de
données sans tableaux
![Page 19: Les tableaux. Tableau? Erreur de langage ! Un tableau est généralement une liste… Cest donc une liste de mêmes éléments : Liste de notes Liste de noms.](https://reader035.fdocuments.net/reader035/viewer/2022062621/551d9d7f497959293b8b85e3/html5/thumbnails/19.jpg)
Et les matrices?Les matrices, c’est souvent utile :
Une image, c’est une matriceLes notes d’une classe, c’est une matrice
Ça se déclare comme ça :int maMatrice[15][20];Bien entendu, le type, le nom et les nombres
peuvent être changés…Il faut ensuite considérer la matrice comme un
tableau Excel, et donc pour accéder à une case, il faut faire :maMatrice[2][3] (pour la 2ème colonne et 3ème
ligne)