Upload
lopir120
View
50
Download
5
Embed Size (px)
Citation preview
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
STRUCTURES DE
DONNÉES
STRUCTURES DE
DONNÉES
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
STRUCTURES DE DONNÉES LINÉAIRES:
LES PILES
STRUCTURES DE DONNÉES LINÉAIRES:
LES PILES
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Plan de la leçonPlan de la leçon
Programmation structurée Programmation structurée
Le concept de pile Le concept de pile
Exemples de piles
Exemples de piles
Implantation des piles Implantation des piles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Programmation structurée
Programmation structurée
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Programmation structuréeProgrammation structurée
Besoin de structurer l'informationBesoin de structurer l'information
Retenir la relation logique qui existe entre les donnéesRetenir la relation logique
qui existe entre les données
Traitement identique concernant une famille de problèmes
Traitement identique concernant une famille de problèmes
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
ExempleExemple
SDs permettant de mettre en attente des informations pour les récupérer plus tard
SDs permettant de mettre en attente des informations pour les récupérer plus tard
Besoin de structurer l'informationBesoin de structurer l'information
Programmation structuréeProgrammation structurée
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Le concept de pileLe concept de pile
Une pile c’est quoi ?Une pile c’est quoi ?
SD caractérisée par un comportement particulier
en ce qui concerne l'insertion et l'extraction des éléments
SD caractérisée par un comportement particulier
en ce qui concerne l'insertion et l'extraction des éléments
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
DéfinitionDéfinition
Un ensemble d'élémentsde même type
Un ensemble d'élémentsde même type
Seul l'élément au sommet est visible
Seul l'élément au sommet est visible
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
DéfinitionDéfinition
EmpilementEmpilement
DépilementDépilement
Pile Pile
SommetSommet
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Le concept de pileLe concept de pile
#define Max 100enum boolean {false,true}typedef struct Elem {…} element;struct pile { element vec [Max]; int sommet;} p;
#define Max 100enum boolean {false,true}typedef struct Elem {…} element;struct pile { element vec [Max]; int sommet;} p;
Mise en oeuvreMise en oeuvre
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Initialiser une pile à vide Initialiser une pile à vide
raz()raz()
PilePile
Sommet Sommet
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Initialiser une pile à vide Initialiser une pile à vide
raz()raz()
PilePile
Sommet Sommet
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
void raz() { p.sommet = -1; return ;}
void raz() { p.sommet = -1; return ;}
Le concept de pileLe concept de pile
Initialiser une pile à vide Initialiser une pile à vide
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Indiquer si une pile est vide Indiquer si une pile est vide
empty()empty()
PilePile
Sommet Sommet falsefalse
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
empty()empty()
PilePile
Sommet Sommet truetrue
Indiquer si une pile est vide Indiquer si une pile est vide
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
boolean empty(){ return ( if (p.sommet == -1) return true; else return false;}
boolean empty(){ return ( if (p.sommet == -1) return true; else return false;}
Le concept de pileLe concept de pile
Indiquer si une pile est vide Indiquer si une pile est vide
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Récupérer l'élément au sommet Récupérer l'élément au sommet
pop(x)pop(x)
PilePile
SommetSommet
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
PilePile
SommetSommet
Récupérer l'élément au sommet Récupérer l'élément au sommet
PilePile
SommetSommet
pop(x)pop(x)
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
element pop() { if( empty() == true ) { perror("Pile vide"); exit(1); } else { res = p.vec[p.sommet ]; p.sommet--; } return(res);}
element pop() { if( empty() == true ) { perror("Pile vide"); exit(1); } else { res = p.vec[p.sommet ]; p.sommet--; } return(res);}
Le concept de pileLe concept de pile
Récupérer l'élément au sommet Récupérer l'élément au sommet
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Ajouter un nouvel élément x Ajouter un nouvel élément x
push(x)push(x)
PilePile
SommetSommetxx
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
push(x)push(x)
PilePile
SommetSommetxx
xx
Ajouter un nouvel élément x Ajouter un nouvel élément x
Le concept de pileLe concept de pile
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
void push(element x) { if(p.sommet == Max-1) { perror("Pile pleine"); exit(2);} else { p.sommet++; p.vec[p.sommet ] = x; } return;}
void push(element x) { if(p.sommet == Max-1) { perror("Pile pleine"); exit(2);} else { p.sommet++; p.vec[p.sommet ] = x; } return;}
Le concept de pileLe concept de pile
Ajouter un nouvel élément x Ajouter un nouvel élément x
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exemples d’utilisationExemples
d’utilisation
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Les problèmes qui suivent une stratégie LIFO : Last In First OutLes problèmes qui suivent une
stratégie LIFO : Last In First Out
Exemples d’utilisationExemples d’utilisation
La première information à être récupérée est celle qui a été mise en attente en dernier
La première information à être récupérée est celle qui a été mise en attente en dernier
DomainesDomaines
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Domaine d'utilisationDomaine d'utilisation
Compilation Compilation
Évaluation d'expressions arithmétiques, logiques, … Évaluation d'expressions arithmétiques, logiques, …
Exemples d’utilisationExemples d’utilisation
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exécution d'une fonction Exécution d'une fonction
Objets créés à chaque appelObjets créés à chaque appel
Variables localesariables locales Variables localesariables locales
Arguments passés par valeursrguments passés par valeurs Arguments passés par valeursrguments passés par valeurs
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exécution d'une fonction Exécution d'une fonction
Objets créés à chaque appelObjets créés à chaque appel
float echanger(float a, b){ float x = a; a=b; b=x; return x;}
float echanger(float a, b){ float x = a; a=b; b=x; return x;}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exécution d'une fonction Exécution d'une fonction
Objets créés à chaque appelObjets créés à chaque appel
int y =echanger(2.5,5.7);int y =echanger(2.5,5.7);
? yyaa2.5
5.7 bb? xx
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exécution d'une fonction Exécution d'une fonction
Objets détruits à chaque retourObjets détruits à chaque retour
Les derniers, en vue de retrouverles données à l'état où elles
étaient avant l'appel
Les derniers, en vue de retrouverles données à l'état où elles
étaient avant l'appel
? yyaa5.7
2.5 bb2.5 xx
2.5 yy
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Mini éditeur de texte
Mini éditeur de texte
Effacement de caractèresà l'aide du caractère '#‘
Destruction d'une ligne
à l'aide du caractère '@'
Effacement de caractèresà l'aide du caractère '#‘
Destruction d'une ligne
à l'aide du caractère '@'
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
EditeurEditeur
copy fich1 fich2copy fich1 fich2
mkd@copie##y fich1 fich2mkd@copie##y fich1 fich2
TapéTapé
InterprétéInterprété
Mini éditeur de texte
Mini éditeur de texte
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
#include "pile.h"void editeur() { char c; raz(); while( (c=getchar()) != ’\n’) { switch ( c ) { case '#' : pop(); break; case '@' : raz(); break; default : push(c); } } afficher()}
#include "pile.h"void editeur() { char c; raz(); while( (c=getchar()) != ’\n’) { switch ( c ) { case '#' : pop(); break; case '@' : raz(); break; default : push(c); } } afficher()}
Pile à définir iciPile à définir ici
Caractère ordinaireCaractère ordinaire
En ordre inverseEn ordre inverse
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exercice 1Exercice 1
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Expressions avec parenthèsesExpressions avec parenthèses
ExerciceExercice
ProblèmeProblème
S'assurer que les parenthèses ((et)), les crochets ([et]) et les accolades ({et}) sont correctement imbriqués
S'assurer que les parenthèses ((et)), les crochets ([et]) et les accolades ({et}) sont correctement imbriqués
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Expressions avec parenthèsesExpressions avec parenthèses
ExerciceExercice
ProblèmeProblème
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Expressions avec parenthèsesExpressions avec parenthèses
ExerciceExercice
Il y a autant de délimiteurs ouvrants que fermants Il y a autant de délimiteurs ouvrants que fermants
Chaque délimiteur fermant, d'un type donné, est précédé par un symbole du même type qui l'ouvre
Chaque délimiteur fermant, d'un type donné, est précédé par un symbole du même type qui l'ouvre
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
QuestionQuestion
Pour quelle raison la résolutionde ce problème fait-elle appelà l'utilisation d'une SD pile?
Pour quelle raison la résolutionde ce problème fait-elle appelà l'utilisation d'une SD pile?
ExerciceExercice
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Stratégie LIFO Stratégie LIFO
Le dernier délimiteur ouvert est le premier à fermer
Le dernier délimiteur ouvert est le premier à fermer
ExerciceExercice
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
QuestionQuestion
Etat de la pile après la lecture de la chaîne :Etat de la pile après la lecture de la chaîne :
ExerciceExercice
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
ExerciceExercice
Etat de la pileEtat de la pile
{PilePile
([
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
{([
ExerciceExercice
Etat de la pileEtat de la pile
{[(
{
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
ExerciceExercice
Etat de la pileEtat de la pile
{[(
{[(
{[
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
{[
{
ExerciceExercice
Etat de la pileEtat de la pile
{x+(y-[a+b])*c-[(d+e)]}{x+(y-[a+b])*c-[(d+e)]}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
ExerciceExercice
EcrireEcrire
Un programme qui examinela validité d'une expression
mathématique donnée
Un programme qui examinela validité d'une expression
mathématique donnée
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
switch(c){ case '(','[','{':
correct := push(c); break; case ')',']','}': {
o= pop(); switch(o){
case '(': if(c!=')') correct=false; break; … }
switch(c){ case '(','[','{':
correct := push(c); break; case ')',']','}': {
o= pop(); switch(o){
case '(': if(c!=')') correct=false; break; … }
// délimiteur ouvrant, on l'empile// délimiteur ouvrant, on l'empile
// délimiteur fermant, on dépile// délimiteur fermant, on dépile
// Ouvrant et fermant sont de même type
// Ouvrant et fermant sont de même type
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
if ( empty() && correct ) { printf("\n Votre expression est valide\n");}else{ printf("\n Votre expression n'est pas valide\n");}
if ( empty() && correct ) { printf("\n Votre expression est valide\n");}else{ printf("\n Votre expression n'est pas valide\n");}
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Exercice 2Exercice 2
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Imbrication des bouclesImbrication des boucles
Imbrication des boucles dans unlangage
Imbrication des boucles dans unlangage
DO 1Instructions DO 2 Instructions END 2 DO 3 Instructions END END 1
DO 1Instructions DO 2 Instructions END 2 DO 3 Instructions END END 1
Sans labelSans label
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Le programme est constituédes expressions
Le programme est constituédes expressions
DO Label END Label
DO Label END Label
Label identificateur
valide ou blanc
Label identificateur
valide ou blanc
Imbrication des bouclesImbrication des boucles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Imbrication des bouclesImbrication des boucles
AlgorithmeAlgorithme
DO 1Instructions DO 2 Instructions END 2 DO 3 Instructions END END 1
DO 1Instructions DO 2 Instructions END 2 DO 3 Instructions END END 1
lire chaque expression, l'afficher à l'écran avec un message :
lire chaque expression, l'afficher à l'écran avec un message :
BOUCLE 1 OUVERTE BOUCLE 2 OUVERTE
BOUCLE 1 OUVERTE BOUCLE 2 OUVERTE
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
AlgorithmeAlgorithme
Tant que (il y a une ligne à lire) faire lire (ligne); afficher (ligne); instr:= le premier mot de la ligne; label:= le deuxième mot de la ligne; Si instr = 'DO' Alors Afficher un message approprié;
Tant que (il y a une ligne à lire) faire lire (ligne); afficher (ligne); instr:= le premier mot de la ligne; label:= le deuxième mot de la ligne; Si instr = 'DO' Alors Afficher un message approprié;
Stocke label quelque part !
Stocke label quelque part !
Imbrication des bouclesImbrication des boucles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Sinon Si instr='END' Alors Si label= '' Alors Afficher un message fermant la dernière boucle ouverte Sinon Afficher un message fermant toutes les boucles en remontant jusqu'à la boucle label Finsi Sinon Afficher un message d'erreur Finsi FinsiRefaire
Sinon Si instr='END' Alors Si label= '' Alors Afficher un message fermant la dernière boucle ouverte Sinon Afficher un message fermant toutes les boucles en remontant jusqu'à la boucle label Finsi Sinon Afficher un message d'erreur Finsi FinsiRefaire
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Stocke label quelque part !
Stocke label quelque part !
Beaucoup d'imprécisionsBeaucoup d'imprécisions
Comment le retrouveret l'extraire?
Comment le retrouveret l'extraire?
Où? Où?
Imbrication des bouclesImbrication des boucles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
D'après l'analysefaite précédemment
D'après l'analysefaite précédemment
La dernière boucle ouverteest la première à fermer,montre qu'il est natureld'utiliser une SD PILE
La dernière boucle ouverteest la première à fermer,montre qu'il est natureld'utiliser une SD PILE
Imbrication des bouclesImbrication des boucles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
Stocke label quelque part !
Stocke label quelque part !
DoncDonc
push(PILE,label)push(PILE,label)
Imbrication des bouclesImbrication des boucles
Structures de donnéesLeçon n. 1 – Introduction et vue d’ensemble
Prof. A. EL FAKERENSIAS - UNIVERSITE MOHAMMED V SOUISSI
Leçon n° 6 – Structures de données linéaires : les piles
STRUCTURES DE
DONNÉES
STRUCTURES DE
DONNÉES