Algorithmique iii

14
Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale Algorithmique Algorithmique et programmation procédurale et programmation procédurale Chap III :Les tableaux et les chaînes. Chap III :Les tableaux et les chaînes. Lajouad Rachid

description

diapos de cours d'algorithmiques

Transcript of Algorithmique iii

Page 1: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Algorithmique Algorithmique et programmation procéduraleet programmation procéduraleChap III :Les tableaux et les chaînes.Chap III :Les tableaux et les chaînes.

Lajouad Rachid

Page 2: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Pourquoi les tableauxPourquoi les tableaux

• Un tableau est un type complexe; • Il permet de stocker plusieurs variables d’un

même type sous une seule variable de ce type.• Les différentes variables sont indexées par

rapport au début du tableau et on y accède en spécifiant le numéro d’index de chacune.

• Pour résumer, un tableau est un ensemble de données du même type.

Page 3: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Tableaux unidimensionnelleTableaux unidimensionnelle

• Déclaration :Tableau[i..N] de type

N et i sont prédéfinies et type est un type de donnée prédéfini.

Exemple :

Tableau[1..26] de Reel

Page 4: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExercicesExercices

• Trouvez un algorithme qui permet de :– Déclarer, remplir un tableau de notes.– Calculer la moyenne et l’écart type de ses

valeurs.

Page 5: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

En langage CEn langage C

type nom [taille] = {inits };

Indice de départ = 0;

Indice final = taille-1;

Accéder à une valeur quelconque (position i) du tableau :

nom[i] …

Page 6: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Tableau pluridimensionnelleTableau pluridimensionnelle

• Déclaration :Tableau [i1..N1][i2..N2]…[in..Nn] de type;

Exemple :

Tableau[1..3][1..2] de Reel

Page 7: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExerciceExercice

• Calculer la somme et le produit de deux matrices

Page 8: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

En langage CEn langage C

type nom[taille1][taille2]…[taillen] = {{inits1},{inits2},…,{initsn}};

Indice de départ = 0;

Indice final = taille-1;

Accéder à une valeur quelconque (position i) du tableau :

nom[i] …

Page 9: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

TPTP

• Calculer la somme et le produit de deux matrices

Page 10: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Tri d’un tableauTri d’un tableau

• Un tri est un algorithme qui prend en entrée un tableau et qui donne en sortie ce même tableau avec les éléments ordonnes suivant une relation R donnee.

• Exemple : tri par sélection, tri à bulle …

Page 11: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

ExerciceExercice

• Donner l’algorithme puis le programme en C qui permet de trier un tableau de valeurs réels saisies par un utilisateur.

Page 12: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Devoir à la maisonDevoir à la maison

• Tri shell et tri rapide : donner l’algorithme puis le programme en C.

• Ecrire le code et le compiler …

Page 13: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

RechercheRecherche

• Recherche dans un tableau trié : exemple recherche dichotomique.

• Recherche dans un tableau non trié : exemple : recherche linéaire (recherche itérative).

Page 14: Algorithmique iii

Lycée Technique Ibn Sina Lajouad Rachid : Algorithmique et programmation procédurale

Notions sur les pointeursNotions sur les pointeurs