Menu de navigation ouvert
Fermer les suggestions
Recherche
Recherche
fr
Change Language
Changer de langue
Importer
Se connecter
Se connecter
Téléchargez gratuitement pendant jours
0 évaluation
0% ont trouvé ce document utile (0 vote)
45 vues
4 pages
Examen Programmation Avancee Et Structures de Donnees
Transféré par
El Varough Haiballa
Titre amélioré par l'IA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu,
signalez une atteinte au droit d’auteur ici
.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Télécharger
Enregistrer
Enregistrer Examen Programmation Avancee et Structures de donn... pour plus tard
Partager
0%
0% ont trouvé ce document utile, undefined
0%
, undefined
Imprimer
Intégrer
Signaler
0 évaluation
0% ont trouvé ce document utile (0 vote)
45 vues
4 pages
Examen Programmation Avancee Et Structures de Donnees
Transféré par
El Varough Haiballa
Titre amélioré par l'IA
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu,
signalez une atteinte au droit d’auteur ici
.
Formats disponibles
Téléchargez aux formats PDF ou lisez en ligne sur Scribd
Élément précédent du carrousel
Élément suivant du carrousel
Télécharger
Enregistrer
Enregistrer Examen Programmation Avancee et Structures de donn... pour plus tard
Partager
0%
0% ont trouvé ce document utile, undefined
0%
, undefined
Imprimer
Intégrer
Signaler
Télécharger
Enregistrer Examen Programmation Avancee et Structures de donn... pour plus tard
Vous êtes sur la page 1
/ 4
Recherche
Plein écran
Institut Galilée - Université Paris 18 Programmation Avancée - Structures de données Ingénieur Info 1ére année 2017 - 2018 Examen Programmation Avancée et Structures de données Durée 2h00 - Aucun document autorisé, Téléphones portables éteints 1 Questions théoriques (20mn) 1. Voici un extrait de programme permettant de parcourir et d’afficher. de la dernigre a la premiére, toutes les eases d'un tableau d'entiers tab de taille n. Est-ce que cette méthode fonctionne? +s wineaat 1; 5 1505 1) + printe(d\e", tablil); ey 2, Quelles doivent étre les caractéristiques d'une bonne fonction de hachage servant & ranger des éléments dans une table de hachage? 3. Dans la structure Arraylist vue en conrs, on posséde trois éléments : un pointeur sur des maillons ‘occupé, un pointeur sur des maillons libres, et un troisiéme pointeur. Expliquez, A quoi sert ce ‘roisiéme pointeur - en particulier, est-il absolument nécessaire pour pouvoir utiliser une Arraylist 4, Proposez un programme permettant dVafficher tous les nomibres réels de type double 2 Détecter des erreurs de parenthéses (40mn) Dans un code source en C, les symboles "ouvrants" (la parenthse ouvrante '(, Vaccolade ouvrante {ef le crochet ouvrant '') sont toujours snivis, plus Toin dans le fichier, du symbole eorrespondant “formant” (respectivement la parenthése fermante ‘), Taecolade fermante "}’ ou le erochet fermant Si ce n'est pas le cas, alors le fichier posséce une erreur de syntaxe. Par exemple, parmi ces trois expressions, seule la derniére est correctement "équilibrée", cet & dire «ne les symboles ouvrants sont suivis, Ta bonne position, «un symbole fermant correspondant 1x = tabla) — 6e(ary; tabl2 + (xy) +8; tbls * Gey] +75 La premiére expression ne possdde pas de crochet fermant correspondant au erochet ouvrant, et la parenthiése fermante est placé avant la parenthése ouvrante. La seconde expression posséde bien un crochet, fermant correspondant au crochet ouvrant, mais il est placé avant la parenthése fermante; cette derniére anrait dn étze placé avant Te crochet afin que Yexprestion soit correcte ‘Afin d’6valuer si ma fichier source en C est correctement "équilibré", nous suivrous la méthode décrite dans Falgorithme en page suivante, On emmpile, dans une pile, es caractéres onvrant lus dans le texte. Lors de la rencontre d'un symbole fermant, on vérifie que ce dernier conespond aa dernier symbole ouvrant Iu (et qui n'a pas encore &46 associé & un symbole fermant) en depilant la pile ‘Sia la fin de la lecture du fichier, la pile n'est pas vide, alors cela sigufie que certains syimboles ouyrant n'out pas été associés avec leur syinbole fermant correspondant : on affiche le fait que le fichier n'est pas équilibré. De plus, si lors du dépilage on trouve un caractére ouvrant qui ne correspond pas au caractére ferinant lu, alors cela signifie aussi que le fier west pas équilibyé. Cette approche ne fonetionne pas si des symboles ouvrants on fermants sont présents dans des com- ‘mentaites on dans des chaines de caractéres. On ignorera.ce type spéelfcité, et on estimera que chaque symbole ouvraut dens notze fichier participe & une expression, et doit done étre fer1 Pe pile vide 2 tant que il existe un caractére © & lire dans le fiei entrée faire sice (CL) alors LL Eipiler dans P sie alors Si P cst vide alors ‘Afcher message : Le fichier source n'est pas correctement équilibré FIN Dépiler d de P si d n'est pas symbole fermant correspondant & ¢ alors ‘Afficher message : Le fichier source n'est pas correctement équilibré FIN si P nest pas vide alors Aificher messuge : Le fichier source n’est pas correetement équilibré FIN Questions 1, Proposez une structure mailfon ot pile permettant de stocker les symboles ouvrants lus dans Ie texte. 2, Proposez une fonction creerPile et crverMaillon permettant respectivement de créer tune now velle pile vide et de créer un nouveau maillon. Voici les entetes des ces dewx fonctions pier craerPileQ; maillont creerMailion(char ¢); 3. Proposes une fouction push permettant d’empller un élément dans la pil void push(pile *p, char c); 4. Proposez une fonction pop permettant de dépiler un élément de la pile 1 char pop(pile +p); Attention a la gestion de la mémoire. 5. Proposez.une fonction frvePile pemettant de libérer la pile de la mémoire \ void freePile(pite *p); 6. Enfin, implémentez Valgorithime permettant d’évaluer st un fichier C (qui sera toujours uommé prog.c) est correctetnent équilibré. Afin de vous alder, voiet un morceau de code permettant de lire ot aificher chagme earactene du fichier prag.c "2b"; FILE =f = fopen( "prog. 2 char cj « While(! feof(#)) of © fecanf(t, "Le", ke); + fprintf(stdout, "he", 0); +} felose(t);7. Comment feriez-vous afin de traiter, avec la meme méthode, les chevrons ("<' et '>")? Ex: pliquez simplement quelle partie de votre code nécessiterait une modification, vous n’avez pas besoin de modifier votre programme précédent. 3. Une file de priorité pour un microprocesseur (1h) ‘Dans un ordinateur, les processus (les programmes) ne sont pas exécutés en paralléle, mais un petit peu, chacun leur tour. Cette méthode, dite du "tourniquet", permet de doner I'lusion a l'utilisateur (que tous les processus fonctionnent en parallle Chaque processus qui doit sexécuter sur Vordinateur posséde un nivean de priorité qui, pour cet exercice, ra de 0 & 255 : Ie niveau de priorité 0 sera le plus élevé, tandis que le niveau 255 sera le moins prioritair. ‘Un ordonnanceur est un systéme permettant de décider quel processus doit s"exéeuter & quel moment. Dans cet exercice, Yordonnancour choisira toujours d’exécuter le processus de priorité la plus élevée. Si plusieurs processus possédent Ia priorité la plus élevée, il choisira celui qui est en attente d'exécution ‘depuis le plus longtemps. ‘Nous allons tenter d'implémenter um tel systéme avec deux différentes structures de données : une liste tide ot un tablean de lstes. 3.1 Implémentation avec une liste triée Nous allons implémenter Yordonnanceur avec une simple liste triée, qui sera une pile ou une file Questions 1. On rappelle que "Si plusieurs processus possédent la priovité la plus élewée, Vorlonnanceur choisira celui qui est en attente d’eréoution depuis le plus longtemps". Dans ce cas, utiliserez ‘une file on une pile pour représeuter 'ordoununceur’? Justifiez volze répon 2. Un processus est représenté par une chaine de caractéres (qui est la commande a exécuter, et ‘qui ne fera jamais plus de 1000 caractéres), et une priorité qui sera une valeur entire entre D ct 255. Proposez une structure maillon et fle_triee qui permettra de stocker les processus en, attente d’exécution, 3. Proposes une fonction creerFile et une fonction ereerMaillon permettant de exter respective- ment une nowvelle file triée vide et un nouveat maillon. Voici les entétes de ces deus fonctions file_trieet creerFile(); maillont creerMaillon(char «commande, uint@_t priorite); 4, Proposez une fonction afouterProcessus permettant d'ajouter a la fle trige um processus. A chaque instant, votre file devra rester triée par ordre de priorité, c'est a dire quien téte de fle devront se trouver tous les processus de priorité 0, puis viendront tous les processus de priorité 1, puls viendront tous les processus de priorté 2, ete Quand on ajoute un processus de priorité A la Ble il devea étre ajonté A la suite de tons les processus de priorité n, et avant les processus de priorité n + 1 5. Proposes une fonction prendreProcessus, permettant de récupérer. de la file trie, In commande associée au processus de priorité la plus élevée qui attendait depuis le plus longtemps. Votre Tonetion devra aussi retirer le processus de la file 6. Proposer une fonction principale qui créera tne nouvelle file triée, y empilera cing processus ce priorité 1, 2, 1,4 et 2 (dans cet ordre, vous étes libres du choix de Ia commande & y associer), puis retire et affche Ia commancle associée aux deux processus les plus prioritaires, 3.2 Implémentation avec un tableau Afin de slaffranchir de la phase de tri, nous pouvons anssi eréer 256 files, une pour chaque niveau de priorité possible. Chacune des files collectera les processus dune meme priorité : tous les processusde priorité 0 seront stockés dans la premiére file, tons les processus de priorité 1 seront stockés dans Ia seconde file, ete. On va done exter un tablean de 256 files pour stocker nos processus, Questions L Votre structure file_triee pourra tonjours étre utilisée pour représenter les files, mais votre structure maillon pourrait étre allégée : est-ce que vous avez toujours besoin de stocker, pour chaque processus, sa priorité? Justifer votre réponse. Proposez une structure tab_file qui servita & stocker le tablews de 256 files. Proposes une fonction creerTabFile et une fonction erverMaillon permettant de cxéer respec- tivement un nouveau tableau de files et un nonveau maillon. Voici les entetes de ces deux fonctions ‘tab files creerTabrile(); maillon* creerMailion(char *comande) ; Vous n'avez pas besoin de eréer une nowvelle fonction ereerFile, car celle de la partie précédente convient tout a fait ici. Proposer une fonction ajouterProcessus permettant d'ajouter an tableau de files un processus, Votre fonction devra chercher Ia file correspondant & la priorité du processus, et y ajonter le processus en queue (par exemple, si le processus posséde une priorité 7, on le rajoutera a la ‘queue de la buitiéme file du tableau), Proposez une fonction prendreProcessus, permettant de récupérer la commande associée au. processus de priorité la plus élewée qui attendait depuis le plus longtemps. Votre fonction devra parcourir les files du tableau par ordre de priorité, et retirer Ie processus cen téte de la premiére file non vide rencontrée. Comment modifier la fonction principale réalisée dans la partie précédente afin de Vadapter & votze nouvelle structure?”
Vous aimerez peut-être aussi
4.corrigé TD3 PILE & FILE
PDF
0% (3)
4.corrigé TD3 PILE & FILE
13 pages
TP Info 3
PDF
Pas encore d'évaluation
TP Info 3
3 pages
Test TP Question Sujet B + Solution
PDF
Pas encore d'évaluation
Test TP Question Sujet B + Solution
3 pages
TD 3 Piles Files
PDF
Pas encore d'évaluation
TD 3 Piles Files
2 pages
Généralités Les Piles Les Files Les Listes Chaînées
PDF
Pas encore d'évaluation
Généralités Les Piles Les Files Les Listes Chaînées
32 pages
TP 2-Evaluation D'une Expression Mathématique
PDF
Pas encore d'évaluation
TP 2-Evaluation D'une Expression Mathématique
4 pages
Enregistrements Et Fichiers Etudiant
PDF
50% (2)
Enregistrements Et Fichiers Etudiant
16 pages
Mp2i Chap8
PDF
Pas encore d'évaluation
Mp2i Chap8
65 pages
7 Pilefile
PDF
Pas encore d'évaluation
7 Pilefile
33 pages
Systeme D'exploiatation
PDF
Pas encore d'évaluation
Systeme D'exploiatation
5 pages
CorrectionSerie1SMI4 2020
PDF
Pas encore d'évaluation
CorrectionSerie1SMI4 2020
18 pages
Struct
PDF
Pas encore d'évaluation
Struct
5 pages
Correction TD1
PDF
Pas encore d'évaluation
Correction TD1
4 pages
Chap0 Introduction
PDF
Pas encore d'évaluation
Chap0 Introduction
7 pages
Correction Examen2
PDF
Pas encore d'évaluation
Correction Examen2
4 pages
Prof Ferraguhein
PDF
Pas encore d'évaluation
Prof Ferraguhein
5 pages
TD-TP Ict106 16 Mai 2024
PDF
Pas encore d'évaluation
TD-TP Ict106 16 Mai 2024
3 pages
Cor CC 111
PDF
Pas encore d'évaluation
Cor CC 111
14 pages
Correction de La Serie N 5 de Structures
PDF
Pas encore d'évaluation
Correction de La Serie N 5 de Structures
4 pages
TP 2
PDF
Pas encore d'évaluation
TP 2
4 pages
Chp1 Files Cours Exercices v1.1
PDF
Pas encore d'évaluation
Chp1 Files Cours Exercices v1.1
3 pages
IGL245 Structure de Données Et IHM
PDF
Pas encore d'évaluation
IGL245 Structure de Données Et IHM
45 pages
TP Final Inf112 23 Juin 2024
PDF
Pas encore d'évaluation
TP Final Inf112 23 Juin 2024
2 pages
Chap N°3 Structures Relationnelles TD
PDF
Pas encore d'évaluation
Chap N°3 Structures Relationnelles TD
5 pages
Examen1 Algorithmique Et Structure de Données 2 L1 2023
PDF
Pas encore d'évaluation
Examen1 Algorithmique Et Structure de Données 2 L1 2023
8 pages
Structures Des Donnã©es en C - Liste CH
PDF
Pas encore d'évaluation
Structures Des Donnã©es en C - Liste CH
47 pages
Cours3 Show
PDF
Pas encore d'évaluation
Cours3 Show
44 pages
TP10-files Corrigé
PDF
Pas encore d'évaluation
TP10-files Corrigé
2 pages
Cours3 Print
PDF
Pas encore d'évaluation
Cours3 Print
11 pages
Questions de Cours: (3 PTS) 0.25pts
PDF
Pas encore d'évaluation
Questions de Cours: (3 PTS) 0.25pts
7 pages
Cours4 C Preprocesseur Fichiers
PDF
Pas encore d'évaluation
Cours4 C Preprocesseur Fichiers
6 pages
Fichires en Langage C
PDF
Pas encore d'évaluation
Fichires en Langage C
111 pages
Devoir INF 233
PDF
Pas encore d'évaluation
Devoir INF 233
7 pages
Cours lesPilesEtlesFiles
PDF
Pas encore d'évaluation
Cours lesPilesEtlesFiles
5 pages
Exercice Fichier
PDF
Pas encore d'évaluation
Exercice Fichier
7 pages
2020 2021-Sujet Progc
PDF
Pas encore d'évaluation
2020 2021-Sujet Progc
5 pages
SMI - S4 TPs Serie - 3 Et Correction Langage C
PDF
Pas encore d'évaluation
SMI - S4 TPs Serie - 3 Et Correction Langage C
6 pages
Chapitre 5
PDF
Pas encore d'évaluation
Chapitre 5
9 pages
Document 6
PDF
Pas encore d'évaluation
Document 6
60 pages
Inf231 Seance 2
PDF
Pas encore d'évaluation
Inf231 Seance 2
7 pages
Agr Gation Externe Section Informatique Sujet de La Premi Re Preuve Crite de La Session 2025 15887
PDF
Pas encore d'évaluation
Agr Gation Externe Section Informatique Sujet de La Premi Re Preuve Crite de La Session 2025 15887
19 pages
Chap 7 Les Files
PDF
Pas encore d'évaluation
Chap 7 Les Files
39 pages
Exercice 1:: Khalaf Drhourhi Grp2 Section 1 GI
PDF
Pas encore d'évaluation
Exercice 1:: Khalaf Drhourhi Grp2 Section 1 GI
14 pages
Correction TP Piles Et Files
PDF
Pas encore d'évaluation
Correction TP Piles Et Files
5 pages
Examen 2020 SMI S4 - 2
PDF
Pas encore d'évaluation
Examen 2020 SMI S4 - 2
4 pages
Partielnov05 Corrige
PDF
Pas encore d'évaluation
Partielnov05 Corrige
8 pages
Dsgis 2 A2021
PDF
Pas encore d'évaluation
Dsgis 2 A2021
2 pages
Partie 1: Les Piles - Les Files: Module: Algo 4 TP #06
PDF
Pas encore d'évaluation
Partie 1: Les Piles - Les Files: Module: Algo 4 TP #06
4 pages
Preparation PRATIQUE
PDF
Pas encore d'évaluation
Preparation PRATIQUE
16 pages
Correction Exercice File Et Pile
PDF
Pas encore d'évaluation
Correction Exercice File Et Pile
5 pages
Correction tp7
PDF
Pas encore d'évaluation
Correction tp7
6 pages
Files Piles
PDF
Pas encore d'évaluation
Files Piles
30 pages
Correction TP5 Les Listes Doubles
PDF
Pas encore d'évaluation
Correction TP5 Les Listes Doubles
8 pages
Cours Pile Et File
PDF
Pas encore d'évaluation
Cours Pile Et File
5 pages
Exercices 8
PDF
Pas encore d'évaluation
Exercices 8
3 pages
Travaux Pratique File
PDF
Pas encore d'évaluation
Travaux Pratique File
8 pages
Série de TD N 7
PDF
Pas encore d'évaluation
Série de TD N 7
2 pages
Include
PDF
Pas encore d'évaluation
Include
4 pages