Type Tableau Partie 1 : Vecteurs Introduction Définition de la structure de tableau Tableau à une dimensions (Vecteurs) Problèmes à résoudre sur les vecteurs. Tableau à deux dimension (Matrices) Problèmes à résoudre sur les matrices. Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année Universitaire 2015/2016
Introduction Comment faire si nous avons 100 étudiants ? Jusqu’ici, nous avons vu uniquement des variables de type simple (Entier, Réel, Caractère, …). (Un seul espace mémoire). Les variables permettent de modéliser les données du problème à résoudre. Nous avons 5 étudiants Analyser Calculer la moyenne d’une classe de 5 étudiants Chaque étudiant possède une moyenne Moyenne de la casse : M = (m1 +m2+m3+m4+m5)/5 5 variables réelles m1, m2, m3, m4,m5 Comment faire si nous avons 100 étudiants ? 1ère Année Technologie Année Universitaire : 2015/2016 01/11
C’est Quoi le Type Tableau (1/2) ? Définition Type Tableau permet au programme d’allouer (de réserver) un espace mémoire (dans la RAM) pour stocker N valeurs de même type. Un Tableau est un ensemble de variables Chaque variable du tableau représente un élément de ce dernier (cellule, case ou une composante du Tableau). Ces éléments (cases du Tableau) sont accessibles par un indice. Pour 100 variables réelles (moyennes) m1 m2 m3 …… m99 m100 Un Tableau est une variable qui contient plusieurs valeurs Chaque case est accédée par un (ou plusieurs) indice(s). 1ère Année Technologie Année Universitaire : 2015/2016 02/11
C’est Quoi le Type Tableau (2/2) ? Tableaux à 1 dimension (Vecteurs) Pour traiter les problèmes nécessitant une représentation vectorielle des données. On utilise un seul indice pour accéder à une valeur du Vecteur. Tableaux Tableaux à 2 dimensions (Matrices) Problèmes nécessitant une représentation matricielle des données. On utilise deux indices pour accéder à une valeur de la matrice. 1ère Année Technologie Année Universitaire : 2015/2016 03/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique Déclaration <id_variable> : Tableau [<ii> .. <if>] de <type>; <ii> : valeur de l’indice initial <if> : valeur de l’indice final <id_variable> : Array [<ii> .. <if>] of <type>; R.A.M. (Mémoire vive) ii ii+1 ii+2 …… if-1 if e1 e2 e3 …… en-1 en n = if – ii + 1 ii = 1 1ère Année Technologie Année Universitaire : 2015/2016 04/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique Déclaration T : Tableau [1 .. 50] de Réel; N : entier; T : Array [1 .. 50] of Real; N : integer; Remarques : 1- Si <ii> = 1 donc <if> représente la taille (maximale) du vecteur. 2- Dans l’exemple ci-dessous 50 est la taille maximale du vecteur, donc, nous ajoutons une variable entière N qui représente le nombre de cases du vecteur qu’on veut utiliser. N sera déterminé par l’utilisateur (lecture). 1ère Année Technologie Année Universitaire : 2015/2016 05/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique R.A.M. Taille maximale du Vecteur Taille à utiliser Pour le vecteur 1 2 3 …… N …… 49 50 T = v1 v2 v3 -52 …… vN …… v49 v50 Si on veut mettre la valeur (-52) dans la case N°3 du Vecteur T : T[3] -52 1ère Année Technologie Année Universitaire : 2015/2016 06/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique Lecture Read(N); for i := 1 to N do begin Read( T[i] ); end; Lire(N); pour i 1 à N faire Lire( T[i] ) fin-pour Remarques : 1- la variable i, le compteur de la boucle pour, sert comme indice pour accéder au ième élément du vecteur T. 2- Le premier élément : T[1], le deuxième T[2] , … le ième est : T[i]. 3- Pour i1 à N faire lire(T[i]) permet la lecture des cases : T[1], T[2], …., T[N]. 1ère Année Technologie Année Universitaire : 2015/2016 07/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique Ecriture for i := 1 to N do begin Write( T[i] ); end; pour i 1 à N faire Ecrire ( T[i] ) fin-pour 1ère Année Technologie Année Universitaire : 2015/2016 08/11
Tableaux à une Dimension - Vecteur Syntaxe & Sémantique Lecteur & Ecriture d’un vecteur de type réel Algorithme Vecteur_lec_ecr Variables T : Tableau [1..50] de réel N, i : entier Début Lire(N) pour i 1 à N faire Lire ( T[i] ) fin-pour Ecrire ( T[i] ) Fin. Program Vecteur_lec_ecr; Uses wincrt; Var T : Array [1..50] of real; N, i : integer; Begin {Lecture du Vecteur T} Read(N); for i := 1 to N do Read (T[i]); {Affichage du Vecteur T} Write ( T[i] ) End. 1ère Année Technologie Année Universitaire : 2015/2016 09/11
Tableaux à une Dimension - Vecteur Problèmes sur les vecteurs Somme et la moyenne des éléments d’un vecteur. Inverser les éléments d’un vecteur (le résultat dans un autre vecteur, ou dans le même vecteur). La recherche de l’élément minimum (et/ou maximum) dans un vecteur et leurs positions (leurs indices). Tri d’un vecteur (Ordre croissant ou décroissant) La recherche d’un élément dans un vecteur La somme et produit cartésien de deux vecteurs. Ajouter une même valeur à tous les éléments d’un vecteur Compter le nombre d’éléments (pairs, impaires, divisibles par …) …..etc. 1ère Année Technologie Année Universitaire : 2015/2016 10/11
Démonstration Réaliser un programme PASCAL pour la lecture et l’écriture d’un vecteur V. Réaliser un programme pour rechercher une valeur val dans un vecteur T (dans le cas ou la valeur est trouvée, afficher sa position). Pour la démonstration, voir la vidéo sur le lien : https://youtu.be/9tDICLR_99U 1ère Année Technologie Année Universitaire : 2015/2016 11/11