INF-130 Travail pratique #3 Travail en équipe

Documents pareils
EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

LibreOffice Calc : introduction aux tableaux croisés dynamiques

MODULES 3D TAG CLOUD. Par GENIUS AOM

Etape 1 : Identification avec un compte personnel sur la plateforme (cf. notice «Création et gestion de votre compte utilisateur»)

MODE OPERATOIRE CIEL GESTION COMMERCIALE VERSION EVOLUTION BTS PME PMI

MANUEL D UTILISATION DE LA SALLE DES MARCHES APPEL D OFFRES OUVERT ACCES ENTREPRISES. Version 8.2

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

TUTORIAL REUTERS. Utilisation de l'utilitaire de recherche Reuters

Documentation RBS Change E-Commerce Core

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

COMPTABILITE SAGE LIGNE 30

PRISE EN MAIN RAPIDE

LE TABLEUR OPENOFFICE CALC : CONTRÔLES DE FORMULAIRES ACCÈS AUX BASES DE DONNÉES

V 8.2. Vous allez utiliser les services en ligne de la plate forme de dématérialisation de la Salle des Marchés achatpublic.com.

: seul le dossier dossier sera cherché, tous les sousdomaines

1. Création d'un état Création d'un état Instantané Colonnes Création d'un état Instantané Tableau... 4

Chapitre 3 : outil «Documents»

GUIDE D UTILISATION DU BROWSER DE BEYOND 20/20

1. Introduction Création d'une requête...2

Algorithmique avec Algobox

Formation. Module WEB 4.1. Support de cours

Microsoft Excel Présentation du tableur Excel

SOMMAIRE... 1 ESPACE DU CLUB...

Système de Gestion Informatisée des. Exploitations Agricoles Irriguées avec Contrôle de l Eau

Parcours FOAD Formation EXCEL 2010

SUGARCRM MODULE RAPPORTS

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Les tableaux croisés dynamiques

Programmation C++ (débutant)/instructions for, while et do...while

Introduction à Business Objects. J. Akoka I. Wattiau

TABLEAU CROISE DYNAMIQUE

Plan de cours. Chiffriers et bases de données en gestion commerciale

Algorithmes de recherche

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

Nouvelle plateforme disponible pour les professeurs et les élèves de la Promotion Sociale du Collège Technique «Aumôniers du travail»

TABLEAU CROISE DYNAMIQUE

La gestion des boîtes aux lettres partagées

Architecture des Systèmes d Information Architecture des Systèmes d Information

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

EXCEL TUTORIEL 2012/2013

Version 7.1_5.1. Release Notes

MISE A NIVEAU INFORMATIQUE LANGAGE C - EXEMPLES DE PROGRAMMES. Université Paris Dauphine IUP Génie Mathématique et Informatique 2 ème année

COURS WINDEV NUMERO 3

Séminaire d information MIGRATION WINDOWS 7 ET OFFICE 2010

Europresse.com. Pour bibliothèque d enseignement Pour bibliothèque publique. Consulter facilement la presse. Guide version 1.

Propagation sur réseau statique et dynamique

Créer et modifier un fichier d'import des coordonnées approximatives avec Excel

PARAGON SYSTEM BACKUP 2010

Pluridisciplinarité. Classe de BTS DATR

Stopack : logiciel pour l entrepôt

Comment optimiser les encodages financiers?

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

MUNIA Manuel de l'utilisateur

Ouvrir le compte UQÀM

Module Communication - Messagerie V6. Infostance. Messagerie

Définitions. Numéro à préciser. (Durée : )

Utiliser un tableau de données

12 Tableaux croisés dynamiques

Cours Informatique Master STEP

GESTION DES PISTES ET OPPORTUNITES

GUIDE DE DEMARRAGE RAPIDE:

Note de cours. Introduction à Excel 2007

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Cours 1 : introduction

Guide d installation CLX.PayMaker Office (3PC)

EN BLANC AVANT IMPRESSION»»»

ANNEXE 8 : Le Mailing

Programme d Accès Communautaire / Atelier 4 Initiation à Microsoft Excel PLAN DE COURS 3 MICROSOFT EXCEL 4 LANCER EXCEL 4

Le générateur d'activités

Observatoires du Bruit. Import des données du Classement sonore : Utilisation de l'outil VSMAP

7 S'abonner aux notifications des nouveaux appels

Beyond 20/20 Browser - Français. Version 7.0, SP4

Voici les objectifs de la séance d'aujourd'hui :

TEXT MINING von 7

Avenir Concept Monaco

"! "#$ $ $ ""! %#& """! '& ( ")! )*+

Publipostage avec Calc

Université Ibn Zohr Excel Résume de cours

Avant-propos FICHES PRATIQUES EXERCICES DE PRISE EN MAIN CAS PRATIQUES

Le guide Votre manuel d utilisation pour une gestion rapide des polices en ligne

1. Installation de COMPTINE

Guide de démarrage Janvier 2012

1 TD 2 : Construction d'une chier Acrobat et envoi par

MODE D EMPLOI DU MODULE D E-COMMERCE

Programmation Objet - Cours II

ELEMENTS DE BUREAUTIQUE

Avertissement : Nos logiciels évoluent rendant parfois les nouvelles versions incompatibles avec les anciennes.

NOS FORMATIONS EN BUREAUTIQUE

Première étape : créer le fichier de données - extraire les données de PMB et les transférer dans Excel

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

Initiation à la programmation en Python

TAGREROUT Seyf Allah TMRIM

La Clé informatique. Formation Excel XP Aide-mémoire

AIDE à l utilisation du cédérom «L athlétisme à l école» Niveau Primaire SOMMAIRE

Utiliser Access ou Excel pour gérer vos données

Le backup LOGOSw (Backup interne)

Transcription:

École de technologie supérieure INF-130 Travail pratique #3 Travail en équipe Création d'un nuage de mots-clés Par : Francis Bourdeau Utilisé par : Francis Bourdeau, Frédérick Henri et Hugues Saulnier 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 1

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 2

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 3

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 4

Ce formulaire offre 5 sous-programmes publics. a_annuler : Cette fonction retourne True si l utilisateur a appuyé 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 appuyé sur le bouton «Annuler» en utilisant une variable globale et il dissimule le formulaire. INF130 Ordinateurs et programmation Hiver 2017 / Page 5

UserForm_QueryClose : Cet événement annule la fermeture du formulaire, prend note que l utilisateur a appuyé sur le bouton «Annuler» et dissimule le formulaire. Clic sur la toupie : Cet événement met à jour la valeur de l intitulé affichant la fréquence minimale, en y inscrivant la valeur de la toupie. Clic sur le bouton «Continuer» : Cet évènement affiche un message d'erreur lorsque l'un des cas suivants est rencontré : Aucun nom de fichier à analyser n'est sélectionné; Aucun nom de fichier contenant la liste des mots communs n'est sélectionné. Lorsque toutes les saisies sont valides, le formulaire prend note que l'utilisateur n'a pas appuyé sur le bouton «Annuler» et dissimule le formulaire. 5.4 Description du module m_type_t_mot_cle Ce module définit le type t_mot_cle, tel que décrit à la section 4, qui servira à conserver les informations sur les mots clés qui apparaissent dans le nuage. Il ne recèle aucun sous-programme. 5.5 Description du module m_interface Ce module vous est offert et vous ne devez pas le modifier. Il offre 4 sous-programmes publics : effacer_nuage_etiquettes : cette procédure retire toutes les étiquettes (les mots-clés) qui se trouvent dans la feuille Excel où l on retrouve le nuage de mots-clés. creer_nuage_etiquettes : cette procédure crée les étiquettes dans la feuille Excel en les superposant. modifier_position_etiquettes : cette procédure attend un tableau de t_mot_cle et déplace les étiquettes dans la feuille Excel. obtenir_informations_etiquettes : cette fonction retourne un tableau de t_mot_cle contenant les caractéristiques des étiquettes présentes dans la feuille Excel. 5.6 Description du module m_bd_resultat Ce module gère la table des mots-clés visible à la section 4. Ce module offre 3 sous-programmes publics. charger : cette fonction n attend aucun paramètre et retourne un tableau de t_mot_cle contenant tous les mots clés présents dans la table. Si la table est vide, alors la fonction retourne un tableau vide. INF130 Ordinateurs et programmation Hiver 2017 / Page 6

ecrire : cette procédure reçoit un tableau de t_mot_cle et ajoute à la fin de la table tous les motsclés du tableau. effacer : cette procédure n attend aucun paramètre et retire tous les enregistrements présents dans la table. 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. 5.7 Description du module m_principal Ce module implémente les fonctionnalités de l'application. Il connaît les autres modules, mais n accède jamais directement au contenu d un enregistrement, au contenu d une feuille Excel ou encore à un contrôle dans le formulaire. Ce module offre 4 sous-programmes privés qui vous sont offerts et que vous ne devez pas modifier. taille_des_mots : Cette fonction reçoit un dictionnaire (déjà trier en ordre décroissant selon la fréquence) et elle retourne un tableau d'entiers contenant la taille de la police à employer pour chacun des mots. taille_mot : Cette fonction reçoit la fréquence d'un mot du texte analysé, la fréquence du mot le plus important dans le texte ainsi que la fréquence du mot le moins important dans le texte. Elle retourne la taille de la police du mot analysé. obtenir_nom_fichiers : Cette fonction reçoit une chaine de caractère représentant un répertoire. Elle retourne le nom de tous les fichiers présents dans le répertoire. modifier_position_mots : Cette procédure reçoit un tableau de t_mot_cle. Elle modifie les coordonnées des mots-clés reçus de façon à ce que les mots-clés ne soient plus superposés et prennent plutôt la forme d une étoile. Ce module offre 3 sous-programmes publics. reinitialiser_application : Cette procédure ne reçoit aucun paramètre. Elle efface le nuage d étiquettes, de même que les enregistrements inscrits dans la table. trouver_themes_fichier : Cette procédure ne reçoit aucun paramètre. Elle utilise l'algorithme suivant pour analyser un fichier et y découvrir ses mots-clés. 1. Elle obtient les noms de fichiers des textes pouvant être analysés 2. Elle obtient les noms de fichiers des listes contenant les mots communs d'une langue. 3. Elle initialise le formulaire et l'affiche. INF130 Ordinateurs et programmation Hiver 2017 / Page 7

4. Lorsque l'utilisateur appuie sur "Effectuer analyse" 5. Elle récupère les noms des fichiers sélectionnés par l'utilisateur, de même que la fréquence minimale choisie. 6. Elle charge le contenu de ces fichiers dans des dictionnaires. 7. Elle soustrait les mots communs du texte analysé. 8. Elle filtre le résultat de cette soustraction avec la fréquence sélectionnée. 9. Elle trie le résultat de filtre. 10. Si le dictionnaire résultant est vide Alors 11. Elle affiche un message. 12. Sinon 13. Elle calcule la taille de la police des mots-clés. 14. Elle efface le nuage d étiquettes. 15. Elle crée le nuage de mots-clés en se limitant à un maximum de 20 thèmes. 16. Elle obtient l'information concernant les mots-clés du nuage et les enregistre dans la table. placer_themes : Cette procédure ne reçoit aucun paramètre. Elle charge les enregistrements inscrits dans la table. Puis, elle calcule la position modifiée des mots-clés (afin d en faire un nuage), elle met à jour le nuage de mots-clés et elle enregistre l information dans la table. 6 Contraintes de l enseignant Votre programme devra respecter les contraintes suivantes : Il devra respecter les exigences de remise des travaux pratiques. D ailleurs, la qualité du code vaudra au moins autant de points que le fonctionnement du programme. À l exception du formulaire, il ne devra contenir aucune variable globale. La présence d une variable globale entraînera la perte de 25 % des points. À l exception de la fonction tableau_est_vide, il ne devra contenir aucun Goto. La présence de cette instruction entraînera la perte de 25 % des points. En cas de doute, n hésitez pas à consulter votre enseignant. INF130 Ordinateurs et programmation Hiver 2017 / Page 8