Changes between Version 85 and Version 86 of CaoCourseTme2
- Timestamp:
- Feb 20, 2007, 12:21:54 PM (18 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
CaoCourseTme2
v85 v86 78 78 == A) Le Makefile == 79 79 80 Les premières questions portent sur le fichier [attachment: "Makefile"Makefile]80 Les premières questions portent sur le fichier [attachment:Makefile Makefile] 81 81 82 82 Completez la liste des dépendances pour les cibles : {{{main.o ... namealloc.o}}}, puis re-écrivez les commandes en utilisant les variables automatiques : {{{$@ $< $^}}} [[BR]] … … 107 107 * '''QB9''' Qu'est-ce qu'un filtre unix ? Que faut-il faire pour transformer ce programme en filtre ? 108 108 109 Questions sur le fichier de prototype associé [attachment: "main.h"main.h]109 Questions sur le fichier de prototype associé [attachment:main.h main.h] 110 110 111 111 * '''QB10''' A quoi servent les 2 premières lignes du fichier ''main.h'' et la dernière ? … … 119 119 * '''QC2''' Dans la définition des prototypes de fonctions, le nom des paramètre est-il nécessaire ? si non pourquoi les mettre ? 120 120 121 questions sur le fichier attachment:hte.c121 questions sur le fichier [attachment:hte.c hte.c] 122 122 123 123 * '''QC3''' Quel est l'encombrement (en nombre d'octets) des structures créées en mémoire par la fonction hte_create(nb_item) , quand nb_item=10 ? Quelle différence y-at-il entre les appels système malloc() et calloc() ? … … 127 127 == D) Le dictionnaire == 128 128 129 Le fichier attachment:dico.crassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire.129 Le fichier [attachment:dico.c dico.c] rassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire. 130 130 * '''QD1''' Pourquoi la structure de donnée {{{hte_item_s}}} a-t-elle un encombrement mémoire variable ? 131 131 * '''QD2''' On aurait pu utiliser une structure de donnée de taille fixe en définissant le troisième champs de la structure comme un pointeur sur chaîne de caractères du type {{{char *KEY}}}. Pour quoi n'a-t-on pas utilisé cette technique ? … … 138 138 == E) La fonction de comptage des mots == 139 139 140 Le fichier attachment:count.ccontient le code de la fonction count(), qui compte le nombre d'occurences des différents mots présents dans le fichier texte analysé. Il contient également la fonction auxiliaire token() qui lit le fichier texte mot par mot,140 Le fichier [attachment:count.c count.c] contient le code de la fonction count(), qui compte le nombre d'occurences des différents mots présents dans le fichier texte analysé. Il contient également la fonction auxiliaire token() qui lit le fichier texte mot par mot, 141 141 et la fonction result_count() qui affiche les résultats. 142 142 143 * '''QE1''' Le mot clé ''static'' est utilisé de trois manières différentes dans le fichier ''count.c''. Précisez sa signification pour chacune des troisutilisations.143 * '''QE1''' Le mot clé ''static'' est utilisé de deux manières différentes dans le fichier ''count.c'' (à l'intérieur et à l'extérieur d'une fonction). Précisez sa signification pour chacune des deux utilisations. 144 144 * '''QE2''' Dans la fonction token(), pourquoi ne peut-on pas utiliser l'appel système malloc() pour allouer la mémoire correspondant au tableau ''buffer'' ? 145 145 * '''QE3''' La fonction token() doit renvoyer un nouveau "token" (mot) du fichier texte analysé, ainsi que le numéro de ligne, chaque fois qu'elle est appelée. Elle utilise les fonctions fgets() et strtok(). Que font ces deux fonctions ? … … 150 150 151 151 Vous trouverez deux autres services possibles utilisant des tables de hachage 152 dans les fichiers , attachment:dejavu.c et attachment:namealloc.c.152 dans les fichiers [attachment:dejavu.c dejavu.c] et [attachment:namealloc.c namealloc.c]. 153 153 Ces services ne sont pas utilisés dans ce TME2, mais ils vous seront utiles lors des TME futurs. 154 154 Vous pourrez faire alors une édition de liens avec la bibliothèque libhte.a.