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





Previous PDF Next PDF



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

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



SUJET + CORRIGE

16 déc. 2011 Exercice 1 (Files à l'aide de Piles (8 points)) ... la file est pleine si la pile de queue est pleine (c'est un choix).



Algorithmique et structures de données en langage C 2ème année

et fonctions pour manipuler des listes piles



Corrigé du TP sur les piles Langage C : Compilation séparée

typedef struct SPile *Pile;. Pile pileVide();. Pile pileAjouter(Pile p Element e);. Pile pileSupprimer(Pile p);. Element *pileSommet(Pile p);.



Exercice 1 : piles et files

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.



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 var C:car;.



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.



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

Correction de l'exercice n. ?. 4. Soit P une pile d'entiers. Écrire les fonctions pour determiner: a/ Le nombre d'éléments. b/ La valeur maximale. c/ La 



Corrigé des exercices

Corrigé des exercices élément de la file celui-ci est extrait de la pile b à moins que celle-ci ne soit vide



TD – Piles et files - Corrigé

TD – Piles et files. Corrigé. Piles. Exercice N°1 – Copie d'une pile Sans surprise ce tableau illustre clairement le fait que c'est la conservation de ...



Contrôlez l'ajout d'éléments avec les piles et les files

Exercice N°1 – Copie d’une pile Ecrire une fonction stack_copy(s) recevant une pile (s) comme argument et renvoyant une copie s2 de s Attention la pile s doit (bien sûr) être conservée ! Evaluer le coût en mémoire et le nombre d’opérations de la fonction



Chapitre 11 Piles et files - Nantes Université

DVD-MIAGE Piles et Files Algorithmique Chapitre 11 Page 1 / 6 Chapitre 11 Piles et files 1 Piles Une pile est une liste chaînée d'informations dans laquelle : Un élément ne peut être ajouté qu'au sommet de la pile Un élément ne peut être retiré que du sommet de la pile



Algorithmique et Structures de donn ees - LaBRI

fonction essai_file():File de car; var F: File de car; var C:car; debut creerFile(F); enfiler(F'A'); enfiler(F'B'); enfiler(F'C'); defiler(F); C=valeur(F); enfiler(F'a'); defiler(F); enfiler(F'b'); enfiler(FC); retourner(F); fin 4 6

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 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;quotesdbs_dbs2.pdfusesText_2
[PDF] exercice corrigé pourcentage 1ere es

[PDF] exercice corrigé pourcentage seconde pdf

[PDF] exercice corrigé produit scalaire 1s

[PDF] exercice corrigé produit scalaire 1s pdf

[PDF] exercice corrige racine carrée pdf

[PDF] exercice corrigé relation de conjugaison et grandissement

[PDF] exercice corrigé relation fondamentale de lhydrostatique

[PDF] exercice corrigé représentation détat

[PDF] exercice corrigé représentation de fischer

[PDF] exercice corrigé représentation paramétrique

[PDF] exercice corrigé représentation spatiale des molécules terminale s

[PDF] exercice corrigé semi conducteur intrinsèque et extrinsèque pdf

[PDF] exercice corrigé spectre rmn pdf

[PDF] exercice corrigé stabilisation de tension par diode zener

[PDF] exercice corrige statique des solides