Algorithmiques Abdelbasset KABOU Kabou.abdelbasset@gmail.com. Département des Sciences Techniques. Université Ammar Thelidji – Laghouat.
Structures de données Complexes 1- Les tableaux
Sommaire Rappel Actions/Objets Structures de Contrôle Traitement Séquentiel Traitement Répétitif Les boucles (Notation Algorithmique) La boucle «tant que» La boucle «répéter» La boucle «pour» Exemples …
Algorithme Structure de Contôle Structure de données
Notion de tableau Une suite finie d'éléments de même type identifiées au moyen d'une unique variable. des éléments qui peuvent être: des entiers, des réels, des tableaux … etc. stockés dans des cases (zones mémoire contiguës), numérotées de 1 à n.
Notion de tableau 1 2 3 4 5 6 7 8 9 71 -8 12 93 -10 -34 Lorsque le tableau est composé de données de type simple, on parle de tableau monodimensionnel (ou vecteur) Lorsque celui-ci contient lui-même d'autres tableaux on parle alors de tableaux multidimensionnels (aussi matrice ou table)
Nom_tab : Tableau type_éléments [nbre_éléments] Déclarer un tableau Le type d'un tableau précise l’intervalle de définition et le type (commun) des éléments. Nom_tab : Tableau type_éléments [nbre_éléments] Pour un tableau t de 10 entiers: t : tableau entier [10]
Affecter à la variable x, la valeur du premier élément du tableau ? Le type « tableau » 1 2 3 4 5 6 7 8 9 71 -8 12 93 -10 -34 Affecter à la variable x, la valeur du premier élément du tableau ? t[6]=? x ← t[0] t[6] ← 43
Lire un tableau Est il possible d’utiliser la boucle « pour » pour lire un tableau de N entiers? Pour i← 1 à n faire lire(tab[i]) ; fpour;
Parcours complet d’un tableau Afficher tous les éléments d’un tableau « tab » de N entiers. Pour i← 1 à n faire écrire(tab[i]) ; fpour;
Multiplier par 2 tous les éléments du tableau tab Pour i← 1 à n faire tab[i]← tab[i]*2 fpour;
Parcours partiel d’un tableau Certains algorithmes se contentent de parcourir successivement les éléments du tableau jusqu’à rencontrer un élément satisfaisant une condition donnée. Un tel parcours (partiel) est souvent basé sur une répétition conditionnelle.
Exemple: On cherche ici à savoir si un tableau n’est constitué que d’entiers positifs ?
… i ← 1; positif ← vrai; Tant que (positif =vrai et i < n+1) faire si tab[i] < 0 alors positif ← faux Sinon i ← i + 1; fin tant que si positif=vrai alors écrire(‘ tableau d’entiers naturels’) sinon écrire(‘tableau d’entiers relatifs’);
Les matrices Lorsque le tableau est composé de données de type simple, on parle de tableau monodimensionnel (ou vecteur) Lorsque celui-ci contient lui-même d'autres tableaux on parle alors de tableaux multidimensionnels (aussi matrice ou table)
Nom_matrice : Tableau type_éléments [nbr_lignes, nbr_colonnes] Les matrices sont donc des tableaux à deux dimensions. Déclaration: Nom_matrice : Tableau type_éléments [nbr_lignes, nbr_colonnes] Exemple : M : Tableau entier [10, 20]
Pour accéder à un élément d’une matrice on doit préciser sa position (la ligne et la colonne). Pour la lecture (ou l’écriture) d’une matrice il est pratique d’utiliser deux boucles imbriquées.
Pour i← 1 à 10 faire Pour j← 1 à 20 faire lire(tab[i]) ; fpour;
Exemples …
L’Addition de deux Matrices, La soustraction de deux matrices, Calculer la trace d’une matrice.