INF130 Ordinateurs et programmation Hiver 2017 / Page 1
École de technologie supérieure Par : Francis Bourdeau
Utilisé par : Francis Bourdeau, Frédérick
Henri et Hugues Saulnier
INF-130 Travail pratique #3
Travail en équipe
Création d'un nuage de mots-clés Remise à la 13
e
semaine
1 Objectifs
- Se familiariser avec l'utilisation de type défini
- Introduire l'utilisation d'Excel et des fichiers textes comme médium.
- Mettre en pratique l’approche « Top-Down ».
2 Description du problème : Les nuages de mots-clés
Vous souhaitez dégager les thèmes importants d'un texte et pour ce faire vous décidez de les
visualiser à l'aide d'un nuage de mots-clés
1
.
Dans cet outil, la taille de la police de chaque mot représente l'importance relative de ce mot par
rapport aux autres thèmes importants du texte analysé. Afin de dégager les thèmes importants, les
mots les plus fréquents d'une langue sont ignorés lors de l'analyse du texte.
3 Description de l’application
L’application que vous devez développer comporte trois fonctions principales :
Ce bouton permet d'effacer le nuage de mots-clés.
1
https://fr.wikipedia.org/wiki/Nuage_de_mots-cl%C3%A9s.
INF130 Ordinateurs et programmation Hiver 2017 / Page 2
Ce bouton permet de retrouver les thèmes importants d'un texte et de leur
attribuer une position initiale (les mots seront tous superposés).
Ce bouton permet de modifier la position des thèmes afin de créer l'effet de
nuage.
4 Description des données de l'application
Deux types définis seront requis pour conserver les données de l'application : t_dictionnaire et
t_mot_cle.
Un t_dictionnaire est un enregistrement qui conserve le contenu d'un fichier texte. On y retrouve
le nombre de mots dans le texte, un tableau contenant chaque mot (sans répétition) et un autre
tableau contenant la fréquence de chacun des mots.
Un t_mot_clé est également un enregistrement qui conserve des informations sur les mots clés
d'un nuage. Ces données sont conservées dans une table (dans une feuille Excel). Chaque colonne
de ladite table est un champ d'un t_mot_clé.
INF130 Ordinateurs et programmation Hiver 2017 / Page 3
5 Description des modules
5.1 Description du module m_chaine
Ce module offre 5 sous-programmes publics permettant de manipuler des chaines de caractères.
indice_chaine : Cette fonction reçoit une chaine de caractères et un tableau de chaines de
caractères. Elle retourne l'indice de la case du tableau qui contient la chaine reçue. Lorsque le
tableau ne contient pas la chaine reçue, la fonction retourne -1.
indice_premier_espace : Cette fonction reçoit une chaine de caractères et retourne l'indice du
premier espace contenu dans la chaine (notons que le premier caractère porte l’indice 1). Lorsque la
chaine ne contient pas d'espace, la fonction retourne -1.
extraire_premier_mot : Cette fonction reçoit une chaine de caractères par référence. Elle
retourne le premier mot contenu dans la chaine (les caractères qui précèdent le premier espace) et
retire de la chaine reçue ce mot ainsi que le blanc qui le suit. Si la chaine ne contient qu’un seul mot
(ne contient pas d’espace), alors la fonction retourne la chaine reçue et la vide ensuite en lui
assignant une chaine vide.
retirer_ponctuation : Cette procédure reçoit une chaine de caractères par référence. Elle retire
de cette chaine tous les caractères qui sont des signes de ponctuation (qui sont présents dans la
chaine SIGNES_PONCTUATIONS).
tableau_est_vide : Cette fonction reçoit un tableau de chaines de caractères. Elle retourne True
lorsque le tableau est vide (n’a pas été redimensionné) et False s’il n’est pas vide. Cette fonction
vous est offerte et vous ne devez pas la modifier.
5.2 Description du module m_dictionnaire
Ce module définit le type t_dictionnaire tel que décrit à la section 4. Ce type nous servira à
conserver les listes de mots communs dans une langue, de même que les mots du texte à analyser.
Ce module offre 4 sous-programmes privés.
ajouter_mot : Cette procédure reçoit un dictionnaire, un mot et la fréquence de ce mot dans un
texte. Elle incrémente de 1 le nombre de mots contenu dans le dictionnaire. Ensuite, elle ajoute un
élément à la liste des mots du dictionnaire et y insère le mot reçu. Enfin, elle ajoute un élément au
tableau contenant la fréquence des mots du dictionnaire et y insère la fréquence reçue.
permuter_mots : Cette procédure reçoit un dictionnaire, l'indice d'un premier mot dans le
dictionnaire et l'indice d'un deuxième mot dans le dictionnaire. Elle permute les mots et leurs
fréquences dans le dictionnaire.
INF130 Ordinateurs et programmation Hiver 2017 / Page 4
traiter_chaine : Cette procédure reçoit un dictionnaire et une chaine de caractères. Elle retire
tous les signes de ponctuation de la chaine. Par la suite, elle extrait chaque mot de la chaine et le
traite (à l’aide de la procédure qui suit) lorsque celui-ci n’est pas une chaîne vide.
traiter_mot : Cette procédure reçoit un mot (une chaîne de caractères) et un dictionnaire.
Lorsque le mot reçu n'est pas présent dans le dictionnaire, la procédure l'y ajoute. Lorsque le mot s’y
trouve déjà, alors la procédure augmente de 1 sa fréquence.
Ce module offre 6 sous-programmes publics.
get_nb_mots : Cette fonction reçoit un dictionnaire et retourne son nombre de mots.
get_frequence_mot : Cette fonction reçoit un dictionnaire et l’indice d’un mot (un entier dans
l’intervalle [1, get_nb_mots()]). Elle retourne la fréquence du mot à l’indice spécifié.
charger : Cette fonction reçoit un nom de fichier (incluant son chemin) et retourne le dictionnaire
contenant chaque mot du fichier. Pour y parvenir, la fonction ouvre le fichier et traite celui-ci, ligne par
ligne, jusqu'à ce que le marqueur de fin de fichier soit rencontré. La fonction s'assure de fermer le
fichier. Il est à noter qu’il n’est pas nécessaire de vérifier que le fichier existe.
filtrer : Cette fonction reçoit un dictionnaire et une fréquence minimale. Elle ajoute dans un
nouveau dictionnaire tous les mots ayant une fréquence supérieure ou égale à la fréquence minimale
reçue. La fonction retourne le nouveau dictionnaire ainsi créé.
soustraire : Cette fonction reçoit deux dictionnaires. Elle ajoute dans un nouveau dictionnaire tous
les mots du premier dictionnaire qui ne sont pas présents dans le second dictionnaire. Elle retourne
le nouveau dictionnaire ainsi créé.
trier : Cette procédure reçoit un dictionnaire et le trie en ordre décroissant de fréquence des mots.
Pour y arriver, elle utilise l’algorithme du tri par sélection :
POUR chaque mot du dictionnaire BOUCLE
On trouve le mot le plus fréquent qui n'a pas encore été trié
On permute le mot courant avec le mot le plus fréquent
FIN BOUCLE
5.3 Description du formulaire f_selection_fichiers
Ce formulaire permet de sélectionner le fichier à analyser lors de la création du nuage de mots-clés.
Il permet également de sélectionner la liste des mots communs à utiliser lors de l'analyse, de même
que la fréquence minimale pour déterminer qu'un mot est un thème du fichier analysé.
INF130 Ordinateurs et programmation Hiver 2017 / Page 5
Ce formulaire offre 5 sous-programmes publics.
a_annuler : Cette fonction retourne True si l’utilisateur a appu sur le bouton « Annuler » et
False si ce n’est pas le cas.
initialiser : Cette procédure reçoit un tableau de chaines de caractères contenant la liste des
fichiers à analyser et un tableau de chaines de caractères contenant les listes des mots communs de
plusieurs langues. Elle efface le contenu des deux listes et remplit les deux listes avec le contenu
des tableaux reçus. Elle assigne ensuite la valeur 5 à la toupie (ce qui correspond à la fréquence
minimale par défaut, le minimum étant 1 et le maximum étant 30).
obtenir_nom_fichier : Cette fonction retourne le nom du fichier à analyser sélectionné par
l'utilisateur.
obtenir_nom_liste_mots_communs : Cette fonction retourne le nom du fichier contenant la liste
des mots communs sélectionné par l'utilisateur.
obtenir_fréquence_minimal : Cette fonction retourne la fréquence minimale entrée par
l'utilisateur.
Ce formulaire contient des sous-programmes privés.
Vous devez déterminer par vous-mêmes les sous-programmes privés nécessaires à l’écriture de ce
formulaire.
Ce formulaire gère 4 évènements.
Clic sur le bouton « Annuler » : Cet évènement prend note du fait que l’utilisateur a appu
sur le bouton « Annuler » en utilisant une variable globale et il dissimule le formulaire.
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !