Post on 30-Jun-2015
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
http://fr.wikipedia.org/wiki/Pile_%28informatique%29
http://fr.wikipedia.org/wiki/Algorithmique
ftp://ftp.univ-tours.fr/priv/discala/fichpdf/basesinfo4.pdf
Références :
Merci pour votre attention !