IPEI - Manar A.U : 2020/2021 2ème Année MP/PC/PT Page 1 PROBLEME 2 La quantité
IPEI - Manar A.U : 2020/2021 2ème Année MP/PC/PT Page 1 PROBLEME 2 La quantité d’informations disponible en ligne s’est considérablement accrue. Notons par exemple la numérisation de nombreux ouvrages, le développement exponentiel du web, etc. Un problème clé lié à ce volume de données est l'efficacité de la recherche d'informations. Dans un moteur de recherche internet par exemple, un facteur d’importance d’une page pour une requête donnée est l’appartenance des mots recherchés à la page ainsi que leur nombre d’apparitions (occurrences). Ces informations peuvent être obtenues en mettant en œuvre des algorithmes de recherche comme nous le verrons dans la suite. Un texte donné est une suite de n lettres minuscules stockées dans une liste d’entiers où l’élément d’indice 0 stocke la taille du texte et le reste sont des entiers (compris entre 1 et 26) représentants les lettres minuscule du texte suivant l'ordre lexicographique (voir tableau suivant). a b c d e f g h i j k l m n o p q r s t u v w x y z 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Il est à noter que les espaces, les fins de lignes et les caractères de ponctuation présents dans le texte ne sont pas représentés dans la liste. Un mot, composé d’une ou de plusieurs lettres, est un texte. Exemple : Le texte "quelbonbonbon" est représenté par la liste L où l’élément d’indice 0 stocke le nombre de lettres dans le texte et le reste des éléments sont les ordres lexicographique des lettres minuscules du texte. Texte : q u e l b o n b o n b o n 13 , 17 , 21 , 5 , 12 , 2 , 15 , 14 , 2 , 15 , 14 , 2 , 15 , 14 L : Travail demandé : N.B : Dans la suite, les fonctions demandées seront écrites en langage Python, en utilisant impérativement la nomenclature donnée par le tableau suivant. Nom Type Description n int Taille du texte L list Liste d’entiers représentant un texte mot list Liste d’entiers représentant un mot occ list Liste d’entiers stockant les occurrences d’un mot dans un texte Freq list Liste de listes stockant les occurrences des lettres dans un texte LF list Liste d’entiers les lettres les plus fréquentes 1. Ecrire une fonction, nommée Taille, qui saisit et retourne un entier compris entre 1 et NMAX. Cette fonction a pour entête : def Taille(NMAX = 1000): 2. Ecrire une fonction, nommée SaisiText, qui saisit dans une liste L les n entiers représentants les lettres d’un texte donné. Cette fonction a pour entête : def SaisiText(n): IPEI - Manar A.U : 2020/2021 2ème Année MP/PC/PT Page 2 3. Ecrire une fonction, nommée VerifMot, qui retourne True si un mot identifié par mot apparaît à une position k d’un texte représenté par une liste L et False sinon. Cette fonction a pour entête : def VerifMot(L , mot , k): 4. En utilisant impérativement la fonction VerifMot, écrire une fonction, nommée RechercheMot, qui retourne l'indice de la première apparition (occurrence) d’un mot identifié par mot si ce mot apparaît dans un texte représenté par une liste L, et -1 sinon. Cette fonction a pour entête : def RechercheMot(L , mot): Exemple : La première apparition du mot "bonbon" dans le texte "quelbonbonbon" est à l’indice 5. 5. Ecrire une fonction, nommée ListOccur, qui détermine dans une liste occ les occurrences d’un mot identifié par mot apparaissant dans un texte représenté par une liste L. La case d’indice 0 de occ stocke le nombre d’occurrences. La suite des cases stocke les indices des occurrences si le mot apparaît dans le texte. Cette focntion a pour entête : def ListOccur(L , mot) : Exemple : Dans le texte "quelbonbonbon" le mot "bonbon" a pour nombre d’occurrences 2 avec 5 indice de la première occurrence et 8 comme indice de la deuxième occurrence. 2 , 5 , 8 occ : 6. Ecrire une fonction, nommée MotRecouv, qui à partir, d'un mot identifié par mot et d’une liste d’occurrence occ, retourne True si certaines occurrences du mot identifié par mot se recouvrent dans le texte (comme le cas du mot "bonbon" dans le texte "quelbonbonbon"), et False sinon. Cette fonction a pour entête : def MotRecouv(mot, occ) : 7. En utilisant impérativement la fonction ListOccur, écrire une fonction python nommée FrequenceLettres qui détermine dans une liste Freq (liste de listes) la fréquence de chaque lettre de l’alphabet (nombre d’occurrences) ainsi que ses positions dans le texte si la lettre existe. Dans ce cas, chaque sous liste de Freq contient dans l’ordre la fréquence de chaque lettre et les indices de ses occurrences dans la suite. Dans le cas contraire la fréquence de la lettre est nulle. Cette fonction a pour entête : def FrequenceLettres (L) : 8. Ecrire une fonction, LettresPlusFreq, qui détermine dans une liste LF les lettres ayant la fréquence maximale dans le texte représenté par L. L’élément d’indice 0 de LF stocke la fréquence maximale et la suite contient l’ordre lexicographique des lettres ayant toutes cette même fréquence maximale. uploads/Science et Technologie/ probleme-2-ipei-manar-a-u-2020-2021.pdf
Documents similaires










-
35
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jul 31, 2021
- Catégorie Science & technolo...
- Langue French
- Taille du fichier 0.3412MB