PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 1 I. Intro
PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 1 I. Introduction Prenons l’exemple d’un algorithme qui permet de lire les températures des jours du mois de janvier 2016 et de calculer la moyenne de ces températures ; l’ensemble d’instructions suivant permet ça : Moy 0 ; Pour i allant de 1 à 31 faire Lire (temp) ; Moy Moy+temp ; Finpour Moy Moy/31 ; Si de plus on veut écrire des fonctions qui retournent : - Le jour le plus froid du mois ; - Le jour le plus chaud du mois ; - Le(s) jour(s) ou il fait mois de 0°C - Le(s) jour(s) ou il fait plus de 20°C Pour réaliser ces traitements, il faut avoir toutes les températures du mois en MC et en même temps utiliser 31 variables 31 adresses à gérer exécution longue Mauvaise solution ! Ce qui est interessent c’est d’utiliser une seule variable qui peut contenir toutes les températures en même temps ; Ce genre de variable est appellé variable structurée ou structure de données (data structures) Dans ce chapitre on va étudier deux types de ces structures de données : les tableaux et les enregistrements ; Dans l’exemple des températures on doit utiliser les tableaux. Il existe des tableaux à une dimension et des tableaux à plusieurs dimensions. Variable simple : représente un objet unique en MC (toutes les variables vues jusqu’à présent sont des variables simples) Variable structurée (complexe) : permet de repésenter plusieurs objets en MC en même temps. On distingue plusieurs types de structures de données parmis lesquels : - Tableau : ensemble d’objets de même types ; - Enregistrement : ensemble d’objets de types différents ; - Fichier : ensemble d’objets de même types en MS - Les liste, piles et files : des structure de données reposant sur l’utilisation des pointeurs PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 2 II. Tableau à une dimension (vecteur) II.1. définition : On appelle vecteur T d’ordre n, et on note T(n), un ensemble de n éléments de même type disposés dans un tableau à n cases contigües et numérotées. Un élément de la ième case est repéré à l’aide du numéro de la case qui le contient, par la notation T[i]. Exemple 15 -5 7 32 -12 0 5 1 2 3 4 5 6 7 T est un vecteur à 7 cases ; T[i] est le contenu de la case N° i ; T[4] = 32. II.2. Déclaration Pour déclarer un vecteur, on donne : Le nom (identificateur) du vecteur La taille du vecteur (nombre de ses éléments) Le type du vecteur (type de ses éléments) Dans un algorithme En C++ Variable nom (taille) : type Type nom[taille]; Exemple Variable temp(31) : réel ou bien constante N=31 variable temp(N) : réel Représentation en MC Variable x : entier ; T(10) : entier ; L(7) : caractère ; T MC T L X 16 bits (16*10) bits (8*7) bits PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 3 II.3. Utilisation Un tableau est déclaré en bloc, mais utilisé élément par élément on manipule un seul élément du tableau par instruction ; La position d’un élément est dite indice. L’indice est généralement de type entier ; On désigne un élément du tableau par le nom du tableau et son indice entre crochées ; Format d’utilisation Nom [indice] / Nom : le nom du tableau et indice : la position de l’élément dans le tableau Exemple1 T(8) : entier ; T Si on veut utiliser le 3ème élément du tableau : T[3] 10 ; lire(T[3]) ; ecrire(T[3]) ; On ne peut pas manipuler le tableau dans une seule instruction : T 0 ; faux lire(T) ; faux ecrire(T) ; faux Exemple2 : quel est la signification de chacune des instructions suivantes : 1- Lire (Note[3]) ; lecture de la case 3 du tableau Note 2- I 5 ; ecrire (Note[i+1]) ; affichage de la 6ème case du tableau 3- Note[j] Note[j+1] ; la case N°= j reçoit la valeur de la case N°= j+1 ; 4- A Note[7] ; la variable A reçoit la valeur de la case N°= 7 du tableau Note Attention au mélange de type (exemple : A réel ; T(10) : entier T[3] A ; mélange de type) Remarque : comme pour les variables simples, avant d’utiliser un tableau on doit initialiser ses éléments (soit par affectation ou par lecture) Exemple : on veut initialiser un tableau d’entier à 0 Variable i, T(10) : entier ; Debut Pour i allant de 1 à 10 faire T[i] 0 ; Finpour Fin. PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 4 II.4. Quelques procédures et fonctions manipulant des tableaux Const n=10 ; A. Procédure pour lire un tableau de 10 entiers Procedure lect_tab(var T (n):entier) ; Variable i : entier ; Début Pour I allant de 1 à n faire lire(T[i]); finpour fin; B. Procédure pour afficher un tableau de 10 entiers Procedure affich_tab(T(n) : entier); Variable i: entier; début pour I allant de 1 à n faire ecrire(T[i]: 5); finpour fin; C. Fonction qui retourne la valeur la plus grande dans un tableau de 10 entiers Fonction plus_grand(T(n) : entier) : entier ; Variable i, max : entier ; début max T[1]; Pour I allant de 2 à n faire si T[i]>max alors max T[i]; Finsi finpour Plus_grandmax; fin; II.4. Cas particulier des chaines de caractères En informatique une variable de type caractère correspond à un seul symbole alphanumérique et est codé au moyen d’un code universel : le code ASCII On appelle chaîne de caractères tout ensemble de caractères telle que la taille est >1 ; Une constante de type chaîne de caractère est toujours écrite entre deux apostrophes ; Dans ce qui suit nous allons représenter une chaîne de caractères comme étant un tableau de taille connue et dont chaque élément est un caractère ; PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 5 Soit la chaîne X ; X[i] signifie le caractère de rang i dans la chaîne. Exemple : on a la déclaration suivante Var T : chaîne(10) ; Les expressions suivantes sont justes T[i]<>’ ‘, T[i]<T[i+1], T[i]>=’A’ Les deux exercices suivants sont à résoudre à la fin du chapitre Exercice1 : écrire un algorithme qui lit un texte de 100 caractères au clavier puis affiche - Le nombre d’apparition d’un chiffre, - Le nombre d’apparition du caractère espace ‘ ‘, et - Le nombre d’apparition d’une lettre majuscule. En utilisant les fonctions. Exercice2 : soit les notes de 100 étudiants du module InitAlgo, on veut lire ces notes, calculer la moyenne de ces notes, puis de déterminer le nombre des notes superieur à cette moyenne Utiliser - Un tableau pour enregistrer les notes ; - Une procédure pour lire les notes ; - Une fonction pour calculer la moyenne ; - Une fonction pour calculer le nombre des notes superieur à la moyenne ; Afficher les résultats III. Tableau à plusieurs dimensions –cas particulier : les matrices Reprenons l’exemple des températures : La représentation des températures du mois de janvier à setif l’utilisation d’un tableau à une dimension de taille 31 et de type réel (var T(31) :réel) Si maintenant, on veut représenter les températures du mois de janvier dans les 48 wilayas on a besoins à 48 tableaux de même taille et de même type 48 adresses mauvaise solution. La solution est d’utiliser une seule variable structurée dont le nombre d’éléments est connue et ces éléments ont le même type ; chaque élément est accompagné de deux informations : - Le numéro de jours (1.. 31) - Le numéro de wilaya (1.. 48). Donc on doit utiliser un tableau à 2 dimensions qu’on appelle Matrice. III.1. Définition : Une matrice est un ensemble d’éléments de même type portant le même nom, et dont le nombre d’éléments est connu (taille fixe). Chaque élément est repéré par son indice de ligne et son indice de colonne ; PSD 1ère MI 2015/2016 Chapitre 1 Les tableaux et les enregistrements 6 Exemple M 12 5 4 8 -1 0 9 10 4 5 2 3 M est une matrice à 3 lignes et 4 colonnes. III.2. Déclaration On donne : - Le nom de la matrice - Le nombre de lignes - Le nombre de colonnes - Le type des éléments de la matrice Dans un algorithme En C++ Variable nom (Nbrlignes, Nbrcolonnes) :type type nom [Nbrlignes][ Nbrcolonnes] ; Exemple Variable MA(48, 31): reel ou bien const N=48; M=31; Variable Ma(N, M) : réel ; Remarque : le nombre d’éléments de la matrice= Nbrligne * Nbrcolonnes III.3. Utilisation On donne le nom de la matrice suivi de deux indices (indice de la ligne et indice de la colonne) Format d’utilisation Nom [indice1, indice2] Numéro uploads/Ingenierie_Lourd/ chapitre-1-les-tableaux-et-les-enregistrements.pdf
Documents similaires










-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mai 15, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.7145MB