Changes between Version 85 and Version 86 of CaoCourseTme2


Ignore:
Timestamp:
Feb 20, 2007, 12:21:54 PM (18 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • CaoCourseTme2

    v85 v86  
    7878== A) Le Makefile ==
    7979
    80 Les premières questions portent sur le fichier [attachment:"Makefile" Makefile]
     80Les premières questions portent sur le fichier [attachment:Makefile Makefile]
    8181
    8282Completez la liste des dépendances pour les cibles : {{{main.o ... namealloc.o}}}, puis re-écrivez les commandes en utilisant les variables automatiques : {{{$@ $< $^}}} [[BR]]
     
    107107 * '''QB9''' Qu'est-ce qu'un filtre unix ? Que faut-il faire pour transformer ce programme en filtre ?
    108108
    109 Questions sur le fichier de prototype associé [attachment:"main.h" main.h]
     109Questions sur le fichier de prototype associé [attachment:main.h main.h]
    110110
    111111 * '''QB10''' A quoi servent les 2 premières lignes du fichier ''main.h'' et la dernière ?
     
    119119 * '''QC2''' Dans la définition des prototypes de fonctions, le nom des paramètre est-il nécessaire ? si non pourquoi les mettre ?
    120120 
    121 questions sur le fichier attachment:hte.c
     121questions sur le fichier [attachment:hte.c hte.c]
    122122
    123123 * '''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() ?
     
    127127== D) Le dictionnaire ==
    128128
    129 Le fichier attachment:dico.c rassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire.
     129Le fichier [attachment:dico.c dico.c] rassemble les fonctions d'accès à une table de hachage utilisée comme dictionnaire.
    130130 * '''QD1''' Pourquoi la structure de donnée {{{hte_item_s}}} a-t-elle un encombrement mémoire variable ?
    131131 * '''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 ?
     
    138138== E) La fonction de comptage des mots ==
    139139
    140 Le fichier attachment: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,
     140Le 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,
    141141et la fonction result_count() qui affiche les résultats.
    142142
    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 trois utilisations.
     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.
    144144 * '''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'' ?
    145145 * '''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 ?
     
    150150
    151151Vous trouverez deux autres services possibles utilisant des tables de hachage
    152 dans les fichiers, attachment:dejavu.c et attachment:namealloc.c.
     152dans les fichiers [attachment:dejavu.c dejavu.c] et [attachment:namealloc.c namealloc.c].
    153153Ces services ne sont pas utilisés dans ce TME2, mais ils vous seront utiles lors des TME futurs.
    154154Vous pourrez faire alors une édition de liens avec la bibliothèque libhte.a.