[PDF] Exercice 1 : piles et files séance n°9 - corrigé.





Previous PDF Next PDF



Algorithmique et Structures de données 1 Piles

Dans les exercices suivants on consid`ere les types abstraits : type_Pile = Pile de objet;. type_File = File de objet; définis en cours. 1 Piles.



SUJET + CORRIGE

16 déc. 2011 Exercice 1 (Files à l'aide de Piles (8 points)). Nous avons vu en cours une implémentation d'un pile par un tableau borné. CreerPileVide (N){.



Pile renversée Exercice 2: suppression dun élément Exercice 3

(Indication: il est légèrement plus simple d'utiliser des piles à capacité illimitée on n'a pas à s'occuper de leur capacité). • Le corrigé utilise les piles à 



Langage C : énoncé et corrigé des exercices IUP GéniE

Langage C : énoncé et corrigé des exercices. 1.5. P ILE E T FILE. Ce s exercice 4 - Affi c h age par éc h ange de pointeurs d 'une pile implémentée en liste c ...



TD – Piles et files - Corrigé

Dans l'exercice précédent on a vu que



Exercice 1 : piles et files

Exercices dirigés séance n°9 - corrigé. Exercice 1 : piles et files. Un système muti-tâches peut exécuter n tâches en quasi parallélisme. Chaque tâche est 



Corrigé de la série de TD N 03 de Structures de Données

Supprimer toutes les villes ayant plus de 10.000 habitants. Exercice n. ◦. 02: Piles. Soit P une Pile représentée par une liste 



Corrigé des exercices

Exercice 2. La première pile (la pile a) reçoit les éléments qu'on ajoute à la file. Lorsqu'on veut supprimer un élément de la file celui-ci est extrait de 



PILES ET FILES

Inversion d'une File en utilisant une Pile. Le but de cet exercice est d'écrire en Python une procédure qui inverse une file d'éléments qui lui est passée en.



LISTES CHAINÉES FILES DATTENTE

http://hebergement.u-psud.fr/mkowalski/doc/L3_IST_306_TP9.pdf



SUJET + CORRIGE

16 déc. 2011 Exercice 1 (Files à l'aide de Piles (8 points)). Nous avons vu en cours une implémentation d'un pile par un tableau borné.



Algorithmique et Structures de données 1 Piles

type_File = File de objet; définis en cours. 1 Piles. Exercice 4.1. Evaluer `a l'aide des primitives du type abstrait Pile de objet la fonction suivante et.



TD – Piles et files - Corrigé

TD – Piles et files. Corrigé. Piles. Exercice N°1 – Copie d'une pile. Ecrire une fonction stack_copy(s) recevant une pile (s) comme argument et renvoyant.



Corrigé de la série de TD N 03 de Structures de Données

Soit P une Pile représentée par une liste chaînée des villes de Boumerdès



Untitled

Exercice 6 Résolution d'un labyrinthe. Corrigé. Annexe. Correction du programme de parenthésage. Enoncé. Correction. PC* - Lycée Thiers. TD 5 : Les piles.



Exercice 1 : piles et files

séance n°9 - corrigé. Exercice 1 : piles et files Elles sont rangées dans l'ordre de leur arrivée



TD1.6 Simulation mutuelle : file pile

https://algo.gricad-pages.univ-grenoble-alpes.fr/L3I-S5-algo/TD1-6-corrige.pdf



Corrigé des exercices

Exercice 2. La première pile (la pile a) reçoit les éléments qu'on ajoute à la file. Lorsqu'on veut supprimer un élément de la file celui-ci est extrait de 



2020 12 08 - DE EFREI 2A SDD P2024 Corrigé et consignes sujets

et fonctions pour manipuler des listes piles



Langage C : énoncé et corrigé des exercices IUP GéniE

1.5 PILEET FILE . Les exercices 1 à 1 6 20 à 2 5

Exercices dirigés

séance n°9 - corrigé

Exercice 1 : piles et files

Un système muti-tâches peut exécuter n tâches en quasi parallélisme. Chaque tâche est munie d'une

priorité et d'un numéro. Elles sont rangées, dans l'ordre de leur arrivée, sur une pile. A chaque niveau de priorité est associée une file. Les tâches sont ensuite dispatchées sur l'une des files selon leur

priorité de manière à ce que, pour une même priorité, la plus ancienne soit la première traitée.

Pour tester ce système, on considérera 3 niveaux de priorité. Le résultat du test sera un affichage de

chaque tâche (sous la forme (heure, numéro) ) rangés selon un ordre de priorité .

L'analyse de ce problème montre la nécessité de deux types de données à construire : les classes

Pile et File.

Question 1

Construire la classe Tache.

Question 2

Construire la classe Pile. Les opérations possibles sont : oempiler une tâche (ajouter une tâche au sommet de la pile) odepiler une tâche (ce qui provoque son élimination de la pile) osommet (consulter le sommet de la pile sans le supprimer de la pile) On s'inspirera de la classe Liste vue en cours pour construire la classe Pile. Il s'agira donc d'une représentation chaînée.

Question 3

Une file est accessible par une tête et une queue. Les éléments sont ajoutés en queue et retirés en

tête (si elle n'est pas vide). Construire la classe File. On choisira une représentation de la classe File sous la forme d'un tableau de taille suffisante. Les opérations possibles sont :

oenfiler une tâche ( ajouter un élément dans la file selon l'ordre de priorité ). On suppose

que 2 tâches ne peuvent pas arriver en même temps (dates différentes). On n'envisagera pas de gestion circulaire du tableau. odéfiler, retourner l'élément en tête de file ( c'est-à-dire le plus prioritaire ). otester si elle est pleine otester si elle est vide

Question 4 X1 X2 X3 X4

queuetête Comment transformer ce système en exploitant les possibilités de l'Orienté Objet ?

Question 5

Ecrire un programme de test qui générera aléatoirement un certain nombre de tâches, les rangera

selon leur priorité puis les affichera sous la forme (numéro, priorité) selon l' ordre de priorité et

d'arrivée décroissante.

Rappel :

la méthode int nextInt(int i) de la classe java.util.Random génère un entier aléatoirement dans l'intervalle[0,i[.

--- Exercice 1 ------ Solutions ----------------------------------------------------------------------------

Question 1

public class Tache{ private int priorite; private int numero; public Tache(){} public Tache(int priorite, int numero){ this.priorite = priorite; this.numero = numero; public long getNumero(){ return numero; public int getPriorite(){ return priorite; public void setNumero( long msecs ){ this.msecs = msecs; public void setPriorite( int priorite ){ this.priorite = priorite; public void println(){

System.out.print("[priorité : "+priorite);

System.out.println(", date : "+msecs+"]");

Question 2

public class Pile{

Tache tache;

Pile suivant;

public Pile(){} public Pile( Tache tache, Pile suivant ){ this.tache = tache; this.suivant = suivant; public Pile empiler( Tache tache ){ return new Pile(tache,this); public Pile depiler(){ return suivant; public Tache sommet(){ return tache; public void println(){

Pile ref = this;

while( ref!=null ){ (ref.sommet()).println(); ref = ref.depiler();

System.out.println();

Question 3

import static java.lang.System.*; public class File{ private Tache[] taches; private int queue; private int tete; private int taille=0; private boolean fileVide; // filePleine si gestion circulaire public File(){} public File( int taille ){ this.taille = taille; taches = new Tache[taille]; queue = 0; tete = 0; fileVide = true; // filePleine = false; public void enfiler( Tache tache )throws FileException{ // if ( !filePleine ) { si gestion circulaire file[queue] = x; queue = queue + 1; // (queue=queue+1)%taille si gestion circulaire if ( fileVide ) fileVide = false; // if ( tete == queue ) filePleine = true; // si gestion circulaire // else throw new FileException( "file pleine" ); public Tache defiler()throws FileException{ if ( !fileVide ) {

Tache x = file[tete];

tete = tete + 1; //tete = (tete + 1)%taille si gestion circulaire // if( filePleine ) filePleine = false; if ( tete == queue ) fileVide = true; return x; else throw new FileException( "file vide" ); public boolean vide () { return fileVide; } public boolean pleine () { return filePleine; } public void println(){ if ( fileVide == true ) System.out.println("Vide"); else{

System.out.print(file[0].getPriorite()+" : ");

for ( int i=tete;iSystem.out.print(file[i].getNumero()+" ");

System.out.println();

Question 4

A condition de renommer les méthodes et de modifier la signature des méthodes de la classe File :

interface PileFile{ public PileFile ajouter( Tache tache ); public PileFile supprimer(); public Tache tete(); public class Pile implements PileFile{

Tache tache;

Pile suivant;

public Pile(){} public Pile( Tache tache, Pile suivant ){ this.tache = tache; this.suivant = suivant; public PileFile ajouter( Tache tache ){...} public PileFile supprimer(){...} public Tache tete(){...} public class File implements PileFile{ private Tache[] taches; private int queue; private int tete; public FilePriorite(){} public FilePriorite( int taille ){ taches = new Tache[taille]; queue = 0; tete = 0; public PileFile ajouter( Tache tache ){...} public PileFile supprimer(){...} public Tache tete(){...}

Question 5

public class TestTaches{quotesdbs_dbs7.pdfusesText_5
[PDF] exercice plan d'amortissement degressif

[PDF] exercice pourcentage 6ème à imprimer

[PDF] exercice pourcentage 6ème avec correction

[PDF] exercice pourcentage 6ème en ligne

[PDF] exercice puissance de 10 4ème pdf

[PDF] exercice racine carré 2nde pdf

[PDF] exercice reaction chimique eb7

[PDF] exercice relation de conjugaison corrigé

[PDF] exercice semaphore systeme d'exploitation corrigé

[PDF] exercice statistique 3ème avec correction

[PDF] exercice suite arithmétique terminal bac pro

[PDF] exercice suite arithmétique terminale bac pro

[PDF] exercice suite arithmétique terminale st2s

[PDF] exercice suite arithmétique terminale stmg

[PDF] exercice sur budget des ventes