29/09/2014. Définitions Primitives de piles, exemples Primitives de files, exemples Implémentation des piles Implémentation des files

Documents pareils
Université Bordeaux 1, Licence Semestre 3 - Algorithmes et struct...

Génie Logiciel avec Ada. 4 février 2013

Correction TD Algorithmique 5.3 Pile Liste 5.3 Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

Structure fonctionnelle d un SGBD

IN SYSTEM. Préconisations techniques pour Sage 100 Windows, MAC/OS, et pour Sage 100 pour SQL Server V16. Objectif :

CHAPITRE 4 LA VALORISATION DES STOCKS COURS DE COMPTABILITE ANALYTIQUE SEMESTRE 2 DUT TC

T. A. D. pile. Chapitre 7 (suite) Listes particulières. T. A. D. file. représentation chaînée de la file algorithmique. Files

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Capacité de mémoire Tablettes

INITIATION A L ALGORITHMIQUE INF 102

GESTION DE STOCKS AVEC CIEL GESTION COMMERCIALE

Déroulement. Evaluation. Préambule. Définition. Définition. Algorithmes et structures de données 28/09/2009

Ensimag 1ère année Algorithmique 1 Examen 2ième session 24 juin Algorithmique 1

Module 02 - Leçon 04 : Evaluation des stocks

Complexité. Licence Informatique - Semestre 2 - Algorithmique et Programmation

CORRECTION EXERCICES ALGORITHME 1

Chapitre 5 : Flot maximal dans un graphe

Latitude N Longitude E Altitude 376 m RÉSUMÉ MENSUEL DU TEMPS DE JANVIER 2014

TRIGONOMETRIE Algorithme : mesure principale

4. Les structures de données statiques

Architecture des ordinateurs

Programmation Objet - Cours II

Recherche dans un tableau

Programmation C++ (débutant)/instructions for, while et do...while

INFRASTRUCTURES & RESEAUX

Architecture des Systèmes d Information Architecture des Systèmes d Information

Structures dynamiques Listes chaînées

COMPTABILITE. Fait par Christophe Lemaigre. Principes de base

Description des structures de donnees

Systemesdigitaux. Cours 5

Feuille TD n 1 Exercices d algorithmique éléments de correction

Diagramme de classes

QUESTION 1 QUESTION 2 QUESTION 3 QUESTION 4. Que signifie "shortage"? Que signifie "handling"? Que signifie "raw material" Que signifie "tool"?

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

ACTIVITÉ DE PROGRAMMATION

L exclusion mutuelle distribuée

Centre de Contacts Virtuel (CCV) GEN-IP SOLUTIONS

Partie 7 : Gestion de la mémoire

1.6- Génération de nombres aléatoires

Comptabilité Générale

la fiscalité des valeurs mobilières en 2015

UTILISATION DE L'APPLICATION «PARTAGE DE FICHIERS EN LIGNE»

Exercices INF5171 : série #3 (Automne 2012)

LES STOCKS DEFINITION ET TYPOLOGIE DES STOCKS

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

à l édition de textes

Approche Contract First

FAQ Dépôts d épargne réglementés

Avenir Concept Monaco

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

COTISATIONS VSNET 2015

CRÉER UNE BASE DE DONNÉES AVEC OPEN OFFICE BASE

Plan 1/9/2013. Génération et exploitation de données. CEP et applications. Flux de données et notifications. Traitement des flux Implémentation

Mémo d'utilisation de BD Dico1.6

l ERP sans limite Multi Evolutif et modulaire Import-Export des informations

Introduction à la théorie des files d'attente. Claude Chaudet

LOCAL A LOUER : Réf TS3

DÉMARRER LE PC SUR UNE CLÉ USB OU UN CD

Algorithmique et Programmation

Utiliser Glary Utilities

Découvrir l'ordinateur (niveau 2)

Rappel sur les bases de données


CIRCULAIRE. Procédures de qualification du personnel de certification des organisations de maintenance pour aéronefs.

C++ COURS N 2 : CLASSES, DONNÉES ET FONCTIONS MEMBRES Classes et objets en C++ Membres d'une classe Spécification d'une classe Codage du comportement

Urbanisation de système d'information. PLM 6 (Product Lifecycle Management) Collaboration et partage d'informations

Algorithmique, Structures de données et langage C

Rappels sur les suites - Algorithme

Systemes d'exploitation des ordinateurs

alg - Classes, instances, objets [oo] Exercices résolus

C++ - Classes, instances, objets [oo] Exercices résolus

IN Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

SPECIFICATIONS TECHNIQUES : Gestion des Médicaments et des commandes de médicaments

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Application 1- VBA : Test de comportements d'investissements

mode d emploi CRéATioN et GeSTioN de VoTRe CompTe personnel

REALISER UN SITE INTERNET AVEC IZISPOT SOMMAIRE

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Edmodo. Edmodo est une plateforme dont l'apparence ressemble beaucoup à celle de Facebook, mais qui est entièrement dédiée à un usage scolaire.

STATUTS. Statuts de l'asit Association suisse d'inspection technique. I. Nom, but, siège et durée de l'association.

Reaper : utilisations avancées

Programmation Orientée Objet Java

A QUOI SERVENT LES BASES DE DONNÉES?

Algorithmique répartie

SOMMAIRE 1 INTRODUCTION 3 2 CONTACTER VOTRE SUPPORT 3 3 ESPACE DE GESTION DES CARTES 4 4 CONFIGURER UNE CARTE 5


SERVICE COMMUN DE MICROSCOPIE

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

4 Exemples de problèmes MapReduce incrémentaux

Console IAP Manuel d utilisation

Quelques algorithmes simples dont l analyse n est pas si simple

Gestion commerciale. Une réponse fonctionnelle quel que soit votre secteur d activité

IBM SPSS Statistics Version 22. Instructions d'installation sous Windows (licence simultanée)

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Généralités sur le Langage Java et éléments syntaxiques.

Le programme d affiliation Skyscanner

Transcription:

Les piles et les files sont des containeurs dans lesquels on ne peut accéder qu'à un objet particulier. Déitions Primitives de piles, exemples Primitives de files, exemples Implémentation des piles Implémentation des files Déition 3.1. : Dans une pile, l objet accessible est le dernier inséré (LIFO, Last-In, First-Out). Déition 3.2: Dans une file, l objet accessible est le plus ancien dans la file (FIFO, First-In, First-Out). On écrira pour déclarer des variables : type_pile=pile de objet; type_file=file de objet; Une pile est déie par les opérations suivantes : accès fonction valeur(val P:pile de objet):objet; fonction pilevide(val P:pile de objet):booléen; fonction creerpile(ref P:pile de objet):vide; fonction empiler(ref P:pile de objet; val:objet):vide; fonction depiler (ref P:pile de objet):vide; fonction detruirepile(ref P:pile de objet):vide; fonction listeinverse(ref L:listeSC de objet):listesc de objet; var P:pile de objet; var LR:liste de objet; creerliste(lr); creerpile(p); Liste(L); tant que!liste(l) faire empiler(p,valeur(l)); suivant(l); tantque insererentete(lr,valeur(p)) depiler(p); tant que non(pilevide(p)) faire insererapres(lr,valeur(p)); suivant(lr); depiler(p); tantque; detruirepile(p) retourner(lr); fonction 1

Une file est déie par les opérations suivantes : Accès : fonction valeur(val F:file de objet):objet; fonction filevide(val F:file de objet):booléen; Modification : fonction creerfile(ref F:file de objet):vide; fonction enfiler(ref F:file de objet; val v:objet):vide; fonction defiler(ref F:file de objet):vide; fonction detruirefile(ref F:file de objet):vide; fonction comptefile(ref F:file de entier): entier; var v,compt:entier; compt=0; enfiler(f,0); tant que valeur(f)!=0 faire compt=compt+1; v=valeur(f); defiler(f); enfiler(f,v); tantque; defiler(f); retourner(compt); fonction fonction inverserfile(ref F:file de entier):file d'entier; var P:pile d'entier; var FS:file d'entier; creerpile(p); creerfile(fs); enfiler(f,0); tant que valeur(f)!=0 faire v=valeur(f); defiler(f); enfiler(f,v); empiler(p,v); tantque defiler(f); tant que non(pilevide(p)) faire v=valeur(p); enfiler(fs,v); depiler(p); tantque; detruirepile(p); retourner(fs); fonction Chaque objet de la pile est un élément du tableau. On doit de plus avoir un champs qui permet d'accéder au sommet de pile. pile d'objet=structure taille:entier; sommet:entier; pile:tableau[1..taille] d'objets; structure; 2

accès fonction valeur(ref P:pile de objet):objet; retourner(p.pile[p.sommet]); fonction fonction pilevide(ref P:pile de objet):booléen; retourner(p.sommet==0); fonction fonction empiler(ref P:pile de objet; x:objet):booleen; /* l'espace de stockage peut être saturé */ si P.sommet==P.taille alors retourner(faux) sinon P.sommet=P.sommet+1; P.pile[P.sommet]=x; retourner(vrai) si fonction fonction depiler(ref P:pile de objet):vide; P.sommet=P.sommet-1; fonction fonction creerpile(ref P:pile de objet):pile de objet; P.sommet=0; fonction Chaque objet de la pile est un objet de la listesc. pile d'objet=listesc de objet; accès : fonction valeurpile(ref P:pile de objet):objet; Liste(P); retourner(valeurliste(p)); fonction fonction pilevide(ref P:pile de objet):booléen; retourner(listevide(p)); fonction 3

fonction empiler(ref P:pile de objet; x:objet):vide; insérerentete(p,x) fonction fonction depiler(ref P:pile de objet):vide; supprimerentete(p); fonction fonction creerpile(ref P:pile de objet):vide; creerliste(p); fonction Chaque objet de la file est un élément du tableau. On utilise le tableau de manière circulaire avec un pointeur donnant le premier et un autre donnant le dernier. file d'objet=structure taille : entier; premier : entier; dernier : entier; plein : booléen; file : tableau[0..taille-1] d'objets; structure; accès fonction valeur(ref F:file de objet):objet; retourner(f.file[f.premier]); fonction fonction filevide(ref F:file de objet):booléen; retourner(f.premier==f.dernier & non(f.plein)); fonction 4

Modification fonction enfiler(ref F:file de objet; x:objet):booleen; si F.plein alors retourner(faux) sinon F.file[F.dernier]=x; F.dernier=(F.dernier+1) mod F.taille; F.plein=F.dernier==F.premier; retourner(vrai) si fonction Modification fonction creerfile(ref F:file de objet):file de objet; F.premier= 0; F.dernier= 0; F.plein=FAUX; fonction Modification fonction defiler(ref F:file de objet):vide; F.premier=(F.premier+1) mod F.taille; F.plein=Faux fonction Chaque objet de la file est un objet de la liste_dc car il faut un accès au dernier. file d'objet=liste_dc de objet; Accès : fonction filevide(ref F:file de objet):booléen; retourner(listevide(f)); fonction 5

Chaque objet de la file est un objet de la liste_dc car il faut un accès au dernier. Accès : file d'objet=liste_dc de objet; fonction valeurfile(ref F:file de objet):objet; Liste(F); retourner(valeurliste(f)); fonction fonction enfiler(ref F:file de objet; x:objet):vide; dernier(f); insererapres(f,x); fonction fonction defiler(ref F:file de objet):vide; supprimerentete(f); fonction fonction creerfile(ref F:file de objet):vide; creerliste(f); fonction cellule=structure valeurelement:objet; pointeursuivant:^cellule; structure; curseur=^cellule; file d'objet=structure premier:curseur; dernier:curseur structure 6

accès fonction valeurfile(ref F:file de objet):objet; retourner(f.premier^.valeurelement); fonction fonction filevide(ref F:file de objet):booléen; retourner(f.premier==nil); fonction fonction enfiler(ref F:file de objet; x:objet):vide; var c:curseur; new(c); c^.valeurelement=x; c^.pointeursuivant=nil; si F.premier==NIL alors F.premier=C si F.dernier^.pointeurSuivant=c; F.dernier=c; fonction fonction defiler(ref F:file de objet):vide; var c:curseur; c=f.premier; si F.premier=F.dernier alors F.dernier=NIL si F.premier=c^.pointeurSuivant; delete(c) fonction fonction creerfile(ref F:file de objet):vide; F.premier=NIL; F.dernier=NIL; fonction 7

fonction detruirefile(ref F:file de objet):vide; tantque!filevide(f) faire defiler(f) tantque fonction 8