lec 06_piles

Post on 25-Jul-2015

52 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related