Algo_Structures de données(Piles)

Post on 30-Jun-2015

512 views 0 download

Transcript of Algo_Structures de données(Piles)

Algorithme/ Structure de

données : Piles

Université Mohamed I

École Supérieure de Technologie

Département d’Informatique

Oujda

Présenté par:

BRAZI Kawtar, BENAISSA Safae

et EL ABBASSI Soufyane

Année universitaire: 2010/ 2011

Comprendre la notion d’algorithme

Savoir le représenter et comprendre sa structure

Comprendre la notion des piles en informatique

Comprendre l’algorithme des piles

Objectifs :

Première partie: Algorithme

1. Origine du mot « Algorithme ».

2. Définition d’un algorithme.

3. Structure d’un algorithme.

4. Représentation d’un algorithme. (Algorithme d’Euclide)

Deuxième partie: Structures de données : les piles

1. Définition d’une pile.

2. Primitives de manipulation d’une pile.

3. Algorithme d’une pile.

4. Exemple d’utilisation.

5. Les piles en langages de programmation .

Plan :

Algorithme Première partie :

Le mot algorithme

vient du nom du

mathématicien perse

du 9ième siècle Al

Khawarizmi (latinisé au

Moyen Âge en

Algoritmi).

1. Origine du mot « Algorithme »

Définition courante: Un ensemble d'instructions pour

résoudre un problème.

Un algorithme est souvent exprimé avec une notation

indépendante de tout langage de programmation.

Un algorithme doit toujours se terminer avec un résultat.

Un algorithme est donc une méthode pour résoudre un

problème particulier dont on est sûr qu'elle trouve

toujours une réponse en un temps fini.

2. Définition d’un algorithme

Un algorithme a à peu près toujours la même organisation générale. Trois grandes parties se distinguent :

Le nom de l’algorithme. Partie déclaration: déclaration des variables

et des constantes. Partie traitement : actions, conditions…

regroupées dans des sections « DEBUT… FIN ».

3. Structure d’un algorithme

Pour représenter un algorithme, on peut utiliser deux méthodes :

En organigramme de programmation : une

représentation graphique d’un algorithme, utilisée pour analyser un problème. Cet organigramme utilise des symboles normalisés.

En pseudo-code : permet souvent de bien prendre toute la mesure de la difficulté de la mise en œuvre de l'algorithme. Son aspect descriptif permet de décrire avec en détail l'algorithme.

4. Représentation d’un

algorithme

L’organigramme de programmation de la solution

Le pseudo-code de la solution

4. Représentation d’un

algorithme (Exemple)

Structures de données:

Les piles

Deuxième partie :

En informatique, une pile

(en anglais stack) est une

structure de données

fondée sur le principe

« dernier arrivé, premier

sorti » (ou LIFO pour Last In,

First Out), ce qui veut dire

que les derniers éléments

ajoutés à la pile seront les

premiers à être récupérés.

1. Définition d’une pile

Voici les primitives communément utilisées pour manipuler des piles. Il

n'existe pas de normalisation pour les primitives de manipulation de pile.

« Empiler » : ajoute un élément sur la pile. Terme anglais

correspondant : « Push ».

« Dépiler » : enlève un élément de la pile et le renvoie.

Terme anglais correspondant : « Pop ».

« La pile est-elle vide ? » : renvoie vrai si la pile est vide,

faux sinon.

« Nombre d'éléments de la pile » : renvoie le nombre

d'éléments dans la pile.

2. Primitives de manipulation

d’une pile

Procédure PUSH (objet : element)

Début

Si sommet < max Alors

sommet <- sommet + 1

pile[sommet] <- element

Sinon

Afficher "Pile pleine"

Fin Si

Fin

3. Algorithme d’une pile

Fonction POP () : objet

objet : element

Début

Si non vide() Alors

element <- pile[sommet]

Sommet <- Sommet - 1

Sinon

Afficher "Pile vide"

Fin Si

Retourner element

Fin

Ajouter un élément sur la pile Enlever un élément de la pile

Dans un navigateur web, une pile sert à mémoriser les

pages Web visitées. L'adresse de chaque nouvelle page

visitée est empilée et l'utilisateur dépile l'adresse de la

page précédente en cliquant le bouton « Afficher la page

précédente ».

L'évaluation des expressions mathématiques en notation

post-fixée utilise une pile.

La fonction « Annuler la frappe » d'un traitement de texte

mémorise les modifications apportées au texte dans une

pile.

4. Exemples d’utilisation

Merci pour votre attention !