La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Algorithmique Tableaux de données

Présentations similaires


Présentation au sujet: "Algorithmique Tableaux de données"— Transcription de la présentation:

1 Algorithmique Tableaux de données
Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 20/10/ Dernière modification: 20/10/2003

2 Introduction Nous connaissons 5 types de données: Entiers Réels
Booléens Chaînes de caractères Caractères Leur gestion n’est souvent pas aisée …

3 Introduction Exemple: cas du calcul d’une moyenne avec possibilité d’afficher l’ensemble des notes saisies par l’utilisateur, après le calcul de la moyenne ! Il faut dans ce cas déclarer et utiliser autant de variables qu’il y aura de notes saisies. Problèmes : Le nombre de notes peut être inconnu … Grand nombre de variables nécessaires: déclaration et utilisation fastidieuses. Ex: N1, N2, N3, …, N30 …

4 Introduction Autre problème:
Après une trentaine de lectures au clavier et d’affectations, le calcul de la moyenne se fera sous cette forme: Moy = (N1 + N2 + N3 + N4 + N5 + N6 + … + N8 + N9 ) / 30 Bilan: ingérable sur de gros programmes avec des centaines de valeurs …

5 Les tableaux Solution:
Utiliser un tableau: ensemble de valeurs portant le même nom de variable et repérées par un nombre. Le nombre qui, au sein d’un tableau, sert à repérer chaque valeur s’appelle l’indice. Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le nom du tableau, suivi de l’indice de l’élément, entre crochets.

6 Les tableaux Exemple de déclaration: Programme ExTab Déclarations
Variable i, j : entier t: tableau[0..99] d’entiers Début Fin

7 Les tableaux Ex: Var t: tableau[1..100] d’entiers
t est de type tableau d’entiers, avec 100 « cases » possibles, allant de 0 à 99. On peut très bien faire commencer t à 1 et le faire finir à 100. Ex: Var t: tableau[1..100] d’entiers

8 Les tableaux Var t: tableau[0..99] d’entiers
On remarque aussi qu’un type particulier de valeurs est associé à t: il est défini ici comme un tableau contenant des valeurs étant de type entier. On peut associer n’importe quel type de valeurs à un tableau: booléen, entiers, réels, caractères, chaînes … En revanche on ne peut pas mixer différents types de valeurs dans un même tableau !

9 Les tableaux Exemple d’utilisation: initialisation Programme ExTab
Déclaration Var t: tableau[0..99] d’entiers i : entier Début //initialisation du tableau avec une valeur négative //ex: cas d’un tab destiné à ne contenir que des entiers positifs Pour i de 0 à 99 faire tab[i]  -1 Fin Pour Fin

10 Les tableaux Exemple d’utilisation: remplissage Programme ExTab
Déclaration Var t: tableau[0..99] d’entiers i, n : entier Début i  0 Ecrire(‘Entrez un entier positif (-1 pour terminer la saisie): ‘) lire(n) Tant que ((n>-1) et (i<=99)) Faire t[i]  n i  i+1 Fin Fin Tantque

11 Les tableaux Exemple d’utilisation: affichage Programme ExTab
Déclaration Var t: tableau[0..99] d’entiers i : entier Début i  0 Tant que ((i<100) et (t[i]<>-1)) Faire écrire(‘Valeur à l’indice ‘, i, ‘: ‘, t[i]) i  i + 1 Fin Fin Tantque

12 Les tableaux Exercice:
Ecrire un algorithme qui demande 10 notes à l’utilisateur, qui stocke ces notes dans un tableau, qui calcule la moyenne de ces notes, et qui affiche ensuite la moyenne à l’écran. On supposera qu’il n’y a pas plus ni moins de 10 notes, et qu’il n’y a pas besoin de vérifier la validité des notes. Le programme utilisera une boucle pour le remplissage du tableau, et une autre pour le calcul de la moyenne et/ou somme des notes.

13 Les tableaux Exercice: Programme Moyenne Déclaration
Variable i, somme : entier moy : réel tab : tableau[0..9] d’entiers Début somme  0 Pour i de 0 à 9 faire Ecrire(‘entrez la note n°’, i+1,’: ‘) lire(tab[i]) Fin Fin Pour Pour i de 0 à 9 faire somme  somme + tab[i] moy  somme / 10 Ecrire(‘Moyenne des 10 notes: ‘, moy)

14 Les tableaux Attention aux valeurs des indices:
Doit être au moins égal à 0 (en fait, il est fonction de l’indice de début utilisé dans la déclaration du tableau) Doit être un nombre entier ! Doit rester inférieur ou égal à l’indice max utilisé lors de la déclaration du tableau, c’est-à-dire grosso modo au nombre d’éléments du tableau Se rappeler que si un tableau commence à zéro, tab[13] désigne le 14ème élément ! Se rappeler que l’indice d’un élément dans un tableau n’a rien à voir avec la valeur de cet élément. Tab[3] n’a pas forcément la valeur 3 et Tab[56] n’a pas forcément la valeur 56 !

15 Les tableaux Exercice:
Ecrire un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite la saisie des valeurs. Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de valeurs positives contenues dans le tableau.

16 Les tableaux Exercice:
Ecrire un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ. Exemple : Tableau 1 :                                  4 – 8 – 7 – 9 – 1 – 5 – 4 – 6 Tableau 2 :                                  7 – 6 – 5 – 2 – 1 – 3 – 7 – 4 Tableau à constituer :               11 – 14 – 12 – 11 – 2 – 8 –

17 Les tableaux Prochaine étape : les tris de tableaux !


Télécharger ppt "Algorithmique Tableaux de données"

Présentations similaires


Annonces Google