Algorithmique iii

Post on 09-Jul-2015

149 views 5 download

description

diapos de cours d'algorithmiques

Transcript of 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

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.

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

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.

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] …

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

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

ExerciceExercice

• Calculer la somme et le produit de deux matrices

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] …

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

TPTP

• Calculer la somme et le produit de deux matrices

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 …

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.

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 …

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).

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

Notions sur les pointeursNotions sur les pointeurs