INF431 Projets pour la promo X2005 Correction orthographique
|
|
- Marie-Noëlle Marion
- il y a 7 ans
- Total affichages :
Transcription
1 INF431 Projets pour la promo X2005 Correction orthographique Page de suivi du projet : informatique/laurent.mauborgne/x2005/projet/ Sujet proposé par Laurent Mauborgne Laurent.Mauborgne@ens.fr Difficulté : moyenne (**). Le but de ce projet est de proposer pour chaque mot mal orthographié (indépendamment du contexte) d un texte, une liste de mots bien orthographiés classés selon leur similitude avec le mot mal orthographié. 1 Trouver les erreurs d orthographe Trouver les erreurs d orthographes indépendantes du contexte n est pas un exercice très difficile : il suffit de prendre les mots un par un et de voir si il apparaissent dans un dictionnaire contenant tous les mots de la langue du texte, déclinaisons et conjugaisons comprises. Ce dictionnaire vous sera fourni sur la page de suivi du projet. La seule difficulté consiste à être efficace : il vaut mieux d une part que le dictionnaire ne prenne pas trop de place en mémoire, et d autre part que la recherche soit assez rapide. On peut réunir ces deux contraintes en utilisant un trie [Fredkin, 1960] ou mieux encore un automate déterministe minimal. Vous êtes libres de choisir la représentation qui vous semble la plus adaptée. 1.1 Trie (ou arbre des préfixes) Cette structure de données consiste en un arbre étiqueté par des lettres (sauf pour la racine), plus une lettre particulière ( \0 ) pour la fin de mot. Tous les fils d un nœud de l arbre ont une étiquette différente. Un mot est dans le dictionnaire si il existe un chemin de la racine vers une feuille étiquetée \0 tel qu en mettant bout à bout les lettres rencontrée sur ce chemin, on forme le mot. Ainsi, le trie encode un partage de tous les préfixes des mots du dictionnaire Exemple Si le dictionnaire se compose des mots cas, ce, ces, ci, de des et do, l arborescence sera la suivante : 1
2 1.1.2 Représentation Pour une représentation efficace, on a principalement deux méthodes : soit on utilise en chaque nœud de l arbre un tableau de taille 27, chaque indice du tableau correspondant à une lettre de l alphabet (plus la lettre de fin de mot), soit on utilise un arbre binaire. Dans un arbre binaire (généralement moins gourmand en mémoire), le fils gauche correspond à la suite du mot, et le fils droit à une alternative pour le suffixe du mot. Pour le dictionnaire précédent, cela donnerait : 1.2 Automate minimal Un dictionnaire étant un ensemble de mots, il se représente naturellement par un automate. Et l automate déterministe minimal sera la représentation la plus compacte et la plus efficace pour déterminer si un mot appartient au dictionnaire. Un trie peut d ailleurs être vu comme un automate déterministe, surtout quand on le représente avec un tableau en chaque nœud, ce tableau correspondant à la table de transition en ce point. Pour obtenir un automate minimal, il suffit donc de minimiser le trie. Et comme le trie ne comporte pas de boucle, l algorithme de minimisation peut être beaucoup plus simple et efficace que dans le cas général. Il suffit en fait de partager les sousarbres communs, en utilisant une méthode appelée hash-consing. Cela consiste à parcourir l arbre en partant des feuilles, et pour chaque nœud, on associe une valeur de hash entière construite à partir de l étiquette du nœud et des valeurs de hash de ses fils. On cherche ensuite dans une table si on a déjà stocké un nœud avec la même étiquette et les mêmes fils (égalité physique, c est-à-dire même objet). Si ce n est pas le cas, on rajoute le nœud à la table, et si c est le cas, on remplace le nœud dans l arbre par celui de la table. Dans l exemple précédent, cela donne 2
3 Il ne reste plus ensuite qu à déclarer finaux les états qui pointent sur un \0 et à supprimer l état \0. 2 Les deux types d erreurs Il est bien plus difficile de trouver quel était le mot correct que l utilisateur voulait écrire que de trouver les erreurs. Pour s y retrouver, on distingue deux grandes catégories d erreurs : Les erreurs de faute de frappe. Les erreurs dues à une méconnaissance de l orthographe. Bien entendue, ces deux types d erreur ne s excluent pas l une l autre, et il faudra trouver quelles erreurs mettre en avant selon leur vraisemblance. Cette vraisemblance pourra être estimée par une distance entre le mot écrit et le mot correct candidat. Quel que soit le type d erreur recherchée, on utilisera une variante de la distance de Levenshtein. 3 Distance de Levenshtein La distance de Levenshtein entre deux mots, aussi appelée distance d édition, est le nombre minimal d opérations élémentaires à effectuer pour passer d un mot à l autre. Les opérations considérées sont la substitution d une lettre du mot par une autre lettre, l ajout d une lettre et la suppression d une lettre. D un point de vue algorithmique, il existe deux approches efficaces, et vous choisirez celle qui vous semble la plus adaptée. Quel que soit votre choix, n oubliez pas de faire des tests sur de petits exemples pour valider votre implémentation. 3.1 Première approche : chemin minimal dans un graphe Soient deux mots m 1 et m 2 de longueur l 1 et l 2. On considère le graphe dont les points sont les couples (i, j) avec 0 i l 1 et 0 j l 2. Les arêtes de ce graphe sont les (i, j) vers (i + 1, j), (i, j + 1) et (i + 1, j + 1) quand ces sommets existent. Un parcours sur ce graphe partant du point (0, 0) est interprété comme : Si on va de (i, j) à (i + 1, j), on ajoute la lettre i + 1 de m 1 en position j. Si on va de (i, j) à (i, j + 1), on enlève la lettre j + 1 de m 2 en position j. Si on va de (i, j) à (i + 1, j + 1), on enlève la lettre j + 1 de m 2 pour la remplacer par la lettre i + 1 de m 1. Si on part du mot m 2, un chemin de (0, 0) à (l 1, l 2 ) va donc produire le mot m 1 (puisqu on aura enlevé toutes les lettres de m 2 et ajouté toutes celles de m 1 ) en ne faisant que des opérations élémentaires. Pour trouver la distance entre m 1 3
4 et m 2, il suffit donc de trouver le chemin de poids minimal (par un parcours en largeur) entre (0, 0) et (l 1, l 2 ) et mettant le poids 1 à toutes les arêtes, sauf les arêtes (i, j) (i + 1, j + 1) telles que la lettre i + 1 de m 1 soit égale à la lettre j + 1 de m 2 qui auront un poids Deuxième approche : programmation dynamique Cette deuxième approche est très semblable au parcours de graphe, mais elle permet de mieux contrôler l usage de la mémoire. On calcule la longueur du chemin le plus court pour arriver en (i, j) comme le minimum de la longueur du chemin le plus court pour (i 1, j) ou (i, j 1) ou (i 1, j 1), plus le poids de l arête qui mène à (i, j). Cela oblige à visiter tous les sommets du graphe (ce que ne fait pas forcément le parcours en largeur qui s arrête dès qu il atteint (l 1, l 2 )), mais on peut faire le calcul ligne par ligne, ce qui permet de ne garder en mémoire que 2 lignes à la fois. 4 Fautes de frappe Quand on fait une faute de frappe, on appuie sur la mauvaise touche, ou on oublie une touche ou on appuie sur une touche sans le vouloir. Retrouver le mot le plus vraisemblable sur lequel on aurait fait une faute de frappe revient donc à rechercher le mot du dictionnaire le plus proche du mot erroné pour la distance de Levenshtein. 4.1 Une meilleure distance En fait,une faute de frappe très répandue consiste à échanger deux lettres, un doigt allant plus vite que l autre. Il faut donc rajouter dans les opérations élémentaires l interversion de deux lettres du mot. Le problème devient assez difficile car deux lettres peuvent devenir successive après avoir retiré une lettre entre les deux. Toutefois on remarque en pratique qu il est très rare de combiner ainsi deux fautes de frappe. Vous pourrez donc vous contenter d adapter les algorithmes classiques pour la distance de Levenshtein. De manière optionnelle (augmentant la difficulté du projet), vous pouvez implémenter la véritable distance (appelée distance de Damerau-Levenshtein). Enfin, les erreurs qui consistent à remplacer une lettre par une autre ne se produisent en général que pour des lettres proches du clavier. Vous pouvez donc faire une analyse qui dépend du clavier en associant aux échanges de lettres un poids égal à leur distance sur le clavier. Votre analyse peut aussi prendre le type de clavier en paramètre. 4.2 Problème d efficacité Mais calculer la distance de Levenshtein avec tous les mots du dictionnaire serait bien trop coûteux. Si on se limite à une distance de 1, il est possible de générer tous les mots obtenus en faisant une seule opération élémentaire et de regarder si ils sont dans le dictionnaire. Si on se limite à une distance de 2, il est encore possible de calculer la distance avec chaque mot du dictionnaire en s arrêtant dès que la distance minimale trouvée (par le parcours en largeur ou la programmation dynamique) dépasse 2. Pour aller plus loin, il faut utiliser une technique plus élaborée 4
5 4.3 Automates de Levenshtein (option difficile ***) L automate de Levenshtein de degré n associé au mot w accepte exactement tous les mots à distance de Levenshtein n ou moins de w. Naïvement, chaque état de l automate correspond à une table de distances minimales (telle que construite en programmation dynamique). En lisant une lettre, on passe d une table à une table avec une ligne de plus correspondant à la lettre rajoutée en fin du mot. Un état est final si la case en bas et à droite à une valeur inférieure ou égale à n. Elle n a pas de transition (elle est bloquante) si en dernière ligne, les distances d édition sont à n + 1, sauf le coin en bas à droite qui est à n. Muni de cet automate, il suffit ensuite de parcourir l automate du dictionnaire en parcourant en même temps l automate de Levenshtein. Pour plus d efficacité, il est recommandé de ne pas construire directement cet automate (encore que cela soit possible, regardez [Schulz and Mihov, 2002]) mais de construire ses états au fur et à mesure. Seuls les mots qui arrivent dans un état final de l automate de Levenshtein sont à considérer. On pourra fixer une limite n au nombre de fautes de frappes qui dépend de la taille du mot. 5 Fotes par iniorance de l ortografe Quand les fautes sont dues à une méconnaissance de l orthographe, on peut considérer que l utilisateur a écrit un mot qui se prononce pas de la même façon que le mot correct. Pour retrouver le mot correct, il faut donc passer par une représentation phonétique, de préférence assez lâche. On a plusieurs choix : Ne garder que les consonnes en simplifiant les consonnes dédoublées non séparées par une voyelle. On peut aussi ignorer les consonnes finales qui ne se prononcent pas comme les R, X ou S. Utiliser aussi des phonèmes simplifiés pour les voyelles. Par exemple, on peut garder un seul phonème simplifié pour les sons [é], [en] et [eu]. Un fichier indiquant les traductions possibles pour cette option sera fourni sur la page de suivi du projet. Il est possible d être plus précis, mais il faut alors utiliser des ensembles de phonèmes possibles en fonction de prononciations. Un mot incorrect sera alors traduit en une suite d ensembles de phonèmes. Une fois le mot incorrect traduit en suite de pseudo phonèmes, la difficulté consiste à retrouver les mots corrects qui aboutissent à la même traduction. Pour ce faire, on pourra utiliser un trie de pseudo phonèmes, dont les feuilles contiennent des ensembles de mots. Pour évaluer la pertinence des mots trouvés (s il y en a), on pourra utiliser la distance de Levenshtein classique. 6 Combinaison des deux types de fautes Lorsqu on cherche à combiner les deux méthodes de recherches de mots corrects, il faut faire face à deux problèmes. D abord savoir si on peut faire les deux types de fautes à la fois sur le même mot (la réponse est oui bien sûr) et ensuite si on arrive à deux mots par deux méthodes comment évaluer leurs pertinences relatives. Pour ce qui est de combiner les deux types de faute, il est logique de commencer par trouver les fautes de frappe, puis les fautes d orthographe. Le problème, c est qu il n est pas raisonnable d engendrer tous les mots à une distance supérieure à 1 du mot de départ. Il faut donc d une part considérer tous les mots de toutes les suites de pseudo phonèmes des mots à une distance d édition de 0 ou 1, puis si 5
6 on ne trouve rien, chercher les suites de pseudo phonèmes les plus proches pour la distance de Levenshtein de la suite de pseudo phonèmes associé au mot incorrect. Finalement, pour évaluer la pertinence des mots trouvés, il faut d une part utiliser la distance de Levenshtein avec le mot incorrect et d autre part la distance phonétique (savoir si on est passé par une traduction phonétique puis par une certaine distance de Levenshtein de la traduction phonétique). Le poids à mettre à chacun de ces deux éléments doit être basé sur l expérience. On peut aussi choisir des poids en fonction de la qualité de l orthographe de l utilisateur ou de sa propension à faire des fautes de frappe. Références [Fredkin, 1960] Fredkin, E. (1960). Trie memory. Communications of the ACM, 3(9) : [Philipps, 2000] Philipps, L. (2000). C/C++ Users Journal. The double metaphone search algorithm. [Schulz and Mihov, 2002] Schulz, K. and Mihov, S. (2002). Fast string correction with levenshtein-automata. International Journal of Document Analysis and Recognition, 5(1) :
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
Plus en détailLa syllabe (1/5) Unité intuitive (différent du phonème) Constituant essentiel pour la phonologie au même titre que phonème et trait
La syllabe (1/5) Unité intuitive (différent du phonème) Variation des structures syllabiques d une langue à une autre et dans une même langue (cf strict vs à : une seule syllabe mais des structures bien
Plus en détailFeuille TD n 1 Exercices d algorithmique éléments de correction
Master Sciences, Technologies, Santé Mention Mathématiques, spécialité Enseignement des mathématiques Algorithmique et graphes, thèmes du second degré Feuille TD n 1 Exercices d algorithmique éléments
Plus en détailCH.6 Propriétés des langages non contextuels
CH.6 Propriétés des langages non contetuels 6.1 Le lemme de pompage 6.2 Les propriétés de fermeture 6.3 Les problèmes de décidabilité 6.4 Les langages non contetuels déterministes utomates ch6 1 6.1 Le
Plus en détailLES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN
LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN Les contenues de ce document sont la propriété exclusive de la société REVER. Ils ne sont transmis qu à titre d information et ne peuvent en aucun cas
Plus en détailLes arbres binaires de recherche
Institut Galilée Année 2010-2011 Algorithmique et arbres L2 TD 6 Les arbres binaires de recherche Type en C des arbres binaires (également utilisé pour les ABR) : typedef struct noeud_s { struct noeud_s
Plus en détailRappel sur les bases de données
Rappel sur les bases de données 1) Généralités 1.1 Base de données et système de gestion de base de donnés: définitions Une base de données est un ensemble de données stockées de manière structurée permettant
Plus en détailUNE ADRESSE SUR INTERNET
DONNEZ À VOTRE ENTREPRISE UNE ADRESSE SUR INTERNET TOUT CE QU IL FAUT SAVOIR ÉDITO Parce qu Internet transforme les structures de l économie, les CCI de France font du développement des usages numériques
Plus en détail1. Qu est-ce que la conscience phonologique?
1. Qu est-ce que la conscience phonologique? Définition La conscience phonologique est définie comme la connaissance consciente et explicite que les mots du langage sont formés d unités plus petites, à
Plus en détailMegaStore Manager ... Simulation de gestion d un hypermarché. Manuel du Participant
MegaStore Manager Simulation de gestion d un hypermarché.......... Manuel du Participant 1. Introduction 1.1. La simulation de gestion Vous allez participer à une simulation de gestion. Cette activité
Plus en détailProjet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Plus en détailArithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Plus en détailDéfinitions. Numéro à préciser. (Durée : )
Numéro à préciser (Durée : ) On étudie dans ce problème l ordre lexicographique pour les mots sur un alphabet fini et plusieurs constructions des cycles de De Bruijn. Les trois parties sont largement indépendantes.
Plus en détailUEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.
UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases
Plus en détailEteindre. les. lumières MATH EN JEAN 2013-2014. Mme BACHOC. Elèves de seconde, première et terminale scientifiques :
MTH EN JEN 2013-2014 Elèves de seconde, première et terminale scientifiques : Lycée Michel Montaigne : HERITEL ôme T S POLLOZE Hélène 1 S SOK Sophie 1 S Eteindre Lycée Sud Médoc : ROSIO Gauthier 2 nd PELGE
Plus en détail6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr
6 - Le système de gestion de fichiers F. Boyer, UJF-Laboratoire Lig, Fabienne.Boyer@imag.fr Interface d un SGF Implémentation d un SGF Gestion de la correspondance entre la structure logique et la structure
Plus en détailUNE ADRESSE SUR INTERNET
DONNEZ À VOTRE COLLECTIVITÉ UNE ADRESSE SUR INTERNET TOUT CE QU IL FAUT SAVOIR ÉDITO Pour être facilement identifiés par les internautes, les communes et les EPCI doivent apporter une grande attention
Plus en détailGrandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test
Grandes lignes Analyseur Statique de logiciels Temps RÉel Embarqués École Polytechnique École Normale Supérieure Mercredi 18 juillet 2005 1 Présentation d 2 Cadre théorique de l interprétation abstraite
Plus en détailmajuscu lettres accent voyelles paragraphe L orthographe verbe >>>, mémoire préfixe et son enseignement singulier usage écrire temps copier mot
majuscu conjugaison >>>, L orthographe singulier syllabe virgule mémoire lettres et son enseignement graphie suffixe usage accent ; écrire féminin temps voyelles mot point Renforcer l enseignement de l
Plus en détailJade. Projet Intelligence Artificielle «Devine à quoi je pense»
Jade Projet Intelligence Artificielle «Devine à quoi je pense» Réalisé par Djénéba Djikiné, Alexandre Bernard et Julien Lafont EPSI CSII2-2011 TABLE DES MATIÈRES 1. Analyse du besoin a. Cahier des charges
Plus en détailReprésentation des Nombres
Chapitre 5 Représentation des Nombres 5. Representation des entiers 5.. Principe des représentations en base b Base L entier écrit 344 correspond a 3 mille + 4 cent + dix + 4. Plus généralement a n a n...
Plus en détailIntroduction à l algorithmique et à la programmation (Info 2)
Introduction à l algorithmique et à la programmation (Info 2) Premier cours: présentation du module, codage et définition de l algorithmique Matthieu Puigt IUT du Littoral Côte d Opale DUT Génie Industriel
Plus en détailProgrammation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
Plus en détailDifferential Synchronization
Differential Synchronization Neil Fraser Google 2009 BENA Pierrick CLEMENT Lucien DIARRA Thiemoko 2 Plan Introduction Stratégies de synchronisation Synchronisation différentielle Vue d ensemble Dual Shadow
Plus en détailManuel d utilisation 26 juin 2011. 1 Tâche à effectuer : écrire un algorithme 2
éducalgo Manuel d utilisation 26 juin 2011 Table des matières 1 Tâche à effectuer : écrire un algorithme 2 2 Comment écrire un algorithme? 3 2.1 Avec quoi écrit-on? Avec les boutons d écriture........
Plus en détailQuelques Algorithmes simples
Quelques Algorithmes simples Irène Guessarian ig@liafa.jussieu.fr 10 janvier 2012 Je remercie Patrick Cegielski de son aide efficace pour la programmation Java ; la section sur le codage de Huffman a été
Plus en détailBaccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé
Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé A. P. M. E. P. Exercice 1 5 points 1. Réponse d. : 1 e Le coefficient directeur de la tangente est négatif et n est manifestement pas 2e
Plus en détailUtiliser Améliorer Prêcher. Introduction à LDAP
Introduction à LDAP Introduction à LDAP Sommaire 2 Sommaire Historique rapide Les concepts LDAP et la gestion d identité Démonstration Autre ressources 2 Historique Historique Historique rapide 4 Historique
Plus en détailLes structures de données. Rajae El Ouazzani
Les structures de données Rajae El Ouazzani Les arbres 2 1- Définition de l arborescence Une arborescence est une collection de nœuds reliés entre eux par des arcs. La collection peut être vide, cad l
Plus en détailReprésentation d un entier en base b
Représentation d un entier en base b 13 octobre 2012 1 Prérequis Les bases de la programmation en langage sont supposées avoir été travaillées L écriture en base b d un entier est ainsi défini à partir
Plus en détailCORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!»
Corrigé Cours de Mr JULES v3.3 Classe de Quatrième Contrat 1 Page 1 sur 13 CORRIGE LES NOMBRES DECIMAUX RELATIFS. «Réfléchir avant d agir!» «Correction en rouge et italique.» I. Les nombres décimaux relatifs.
Plus en détailChapitre 1 I:\ Soyez courageux!
Chapitre 1 I:\ Soyez courageux! Pour ne rien vous cacher, le langage d'assembleur (souvent désigné sous le terme "Assembleur", bien que ce soit un abus de langage, puisque "Assembleur" désigne le logiciel
Plus en détailPrénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Plus en détailNotice d utilisation
Notice d utilisation Gestion des Dossiers et des Bases de Données Sommaire Préambule 1. Accès à la gestion des Dossiers et des Bases de Données 1.1 Accès «Ecole» 1.2 Accès «Entreprise» 1.3 Modification
Plus en détailexigences des standards ISO 9001: 2008 OHSAS 18001:2007 et sa mise en place dans une entreprise de la catégorie des petites et moyennes entreprises.
R E S U M E de la Thése de doctorat Perfectionnement du systemé de management intégré qualité-responsabilité sociale-santé et sécurité occupationnelle élaborée par Monsieur le thésard Denuntzio C. Romeo,
Plus en détailARBRES BINAIRES DE RECHERCHE
ARBRES BINAIRES DE RECHERCHE Table de symboles Recherche : opération fondamentale données : éléments avec clés Type abstrait d une table de symboles (symbol table) ou dictionnaire Objets : ensembles d
Plus en détailTP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile
TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface
Plus en détailExercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT
Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT Ces exercices portent sur les items 2, 3 et 5 du programme d informatique des classes préparatoires,
Plus en détailSouad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Plus en détailFRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO
PAVE NUMERIQUE CALCULATRICE MANUEL UTILISATEUR USER S GUIDE BENUTZERHANDBUCH GUIDA PER L UTENTE GUIA DEL USUARIO GEBRUIKERSGIDS MANUAL DO USUARIO FRANCAIS ENGLISH DEUTSCH ITALIANO ESPANOL NEDERLANDS PORTUGUESES
Plus en détailINITIATION AU LANGAGE C SUR PIC DE MICROSHIP
COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par
Plus en détailTD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
Plus en détailNote de cours. Introduction à Excel 2007
Note de cours Introduction à Excel 2007 par Armande Pinette Cégep du Vieux Montréal Excel 2007 Page: 2 de 47 Table des matières Comment aller chercher un document sur CVMVirtuel?... 8 Souris... 8 Clavier
Plus en détailProgrammation par contraintes. Laurent Beaudou
Programmation par contraintes Laurent Beaudou On se trouve où? Un problème, une solution : la solution est-elle une solution du problème? simulation, vérification 2 On se trouve où? Un problème, une solution
Plus en détailLe modèle standard, SPE (1/8)
Le modèle standard, SPE (1/8) Rappel : notion de grammaire mentale modulaire Les composants de la grammaire : module phonologique, sémantique syntaxique Syntaxe première : elle orchestre la relation mentale
Plus en détailAlgorithmique et Programmation, IMA
Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions
Plus en détailIntroduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
Plus en détailchapitre 4 Nombres de Catalan
chapitre 4 Nombres de Catalan I Dénitions Dénition 1 La suite de Catalan (C n ) n est la suite dénie par C 0 = 1 et, pour tout n N, C n+1 = C k C n k. Exemple 2 On trouve rapidement C 0 = 1, C 1 = 1, C
Plus en détailMIS 102 Initiation à l Informatique
MIS 102 Initiation à l Informatique Responsables et cours : Cyril Gavoille Catherine Pannier Matthias Robine Marc Zeitoun Planning : 6 séances de cours 5 séances de TD (2h40) 4 séances de TP (2h40) + environ
Plus en détailChap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1
Chap 4: Analyse syntaxique 1 III- L'analyse syntaxique: 1- Le rôle d'un analyseur syntaxique 2- Grammaires non contextuelles 3- Ecriture d'une grammaire 4- Les méthodes d'analyse 5- L'analyse LL(1) 6-
Plus en détailProgrammation C++ (débutant)/instructions for, while et do...while
Programmation C++ (débutant)/instructions for, while et do...while 1 Programmation C++ (débutant)/instructions for, while et do...while Le cours du chapitre 4 : le for, while et do...while La notion de
Plus en détailSub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
Plus en détailDocument d aide au suivi scolaire
Document d aide au suivi scolaire Ecoles Famille Le lien Enfant D une école à l autre «Enfants du voyage et de familles non sédentaires» Nom :... Prénom(s) :... Date de naissance :... Ce document garde
Plus en détailTRANSMETTEUR TELEPHONIQUE TTX = SINTEL X
TRANSMETTEUR TELEPHONIQUE TTX = SINTEL X CARACTERISTIQUES 3 entrées. 4 numéros de téléphone par entrée, programmés à l aide d un clavier numérique intégré. Un message de 10 secondes par entrée, et un de
Plus en détailAlgorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Plus en détailInitiation. àl algorithmique et à la programmation. en C
Initiation àl algorithmique et à la programmation en C Initiation àl algorithmique et à la programmation en C Cours avec 129 exercices corrigés Illustration de couverture : alwyncooper - istock.com Dunod,
Plus en détailBaccalauréat ES/L Amérique du Sud 21 novembre 2013
Baccalauréat ES/L Amérique du Sud 21 novembre 2013 A. P. M. E. P. EXERCICE 1 Commun à tous les candidats 5 points Une entreprise informatique produit et vend des clés USB. La vente de ces clés est réalisée
Plus en détailDEVENEZ UN POKER-KILLER AU TEXAS HOLD EM!
DEVENEZ UN POKER-KILLER AU TEXAS HOLD EM! NIVEAU DEBUTANT http://www.poker-killer.com/ 1 INTRODUCTION Je m'appelle david Jarowsky, 53 ans. Je n ai jamais été le premier de la clase, ni quelqu un d extraordinaire.
Plus en détailArbres binaires de recherche
1 arbre des comparaisons 2 recherche dichotomique l'arbre est recalculé à chaque recherche 2 5 3 4 7 9 1 6 1 2 3 4 5 6 7 9 10 conserver la structure d'arbre au lieu de la reconstruire arbre binaire de
Plus en détailWindows 7 Système d exploitation. INF0326 - Outils bureautiques, logiciels et Internet
Windows 7 Système d exploitation INF0326 - Outils bureautiques, logiciels et Internet Ordinateur Un ordinateur est une machine électronique qui fonctionne par la lecture séquentielle d'un ensemble d'instructions,
Plus en détailOLYMPIADES ACADÉMIQUES DE MATHÉMATIQUES
OLYMPIADES ACADÉMIQUES DE MATHÉMATIQUES ACADÉMIE DE RENNES SESSION 2006 CLASSE DE PREMIERE DURÉE : 4 heures Ce sujet s adresse à tous les élèves de première quelle que soit leur série. Il comporte cinq
Plus en détailAide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.
Aide Webmail 1. Découverte de l environnement : L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels. 1. La barre d application (1) Les
Plus en détailUne proposition de séquence relative à l étude des sons /an/, /on/ et de leurs graphies. Cadre général
Une proposition de séquence relative à l étude des sons /an/, /on/ et de leurs graphies Cadre général Analyse des difficultés : Ces phonèmes présentent une double difficulté : - au niveau de leur discrimination
Plus en détailContrainte de flot pour RCPSP avec temps de transfert
Contrainte de flot et x-rcpsc T 1 Contrainte de flot pour RCPSP avec temps de transfert PS temp, s ij Cmax BENOIST Thierry BOUYGUES/e-Lab DIAMANTINI Maurice ENSTA/LMA Contrainte de flot et x-rcpsc T Présentation
Plus en détail2.4 Représentation graphique, tableau de Karnaugh
2 Fonctions binaires 45 2.4 Représentation graphique, tableau de Karnaugh On peut définir complètement une fonction binaire en dressant son tableau de Karnaugh, table de vérité à 2 n cases pour n variables
Plus en détailProgrammation Par Contraintes
Programmation Par Contraintes Cours 2 - Arc-Consistance et autres amusettes David Savourey CNRS, École Polytechnique Séance 2 inspiré des cours de Philippe Baptiste, Ruslan Sadykov et de la thèse d Hadrien
Plus en détailLicence Sciences et Technologies Examen janvier 2010
Université de Provence Introduction à l Informatique Licence Sciences et Technologies Examen janvier 2010 Année 2009-10 Aucun document n est autorisé Les exercices peuvent être traités dans le désordre.
Plus en détail1 Introduction au codage
CélestineOscarDésiréAnatoleGastonEugène 1 Introduction au codage 1.1 Les ensembles L ensemble de tout les ensembles est Dieu lui-même. Kantor Ensemble des parties d un ensemble désigne l ensemble des sous-ensembles
Plus en détailAtelier «personnaliser l environnement de l ordinateur mai 2015
Sous windows 7 La barre des tâches Elle est composé du bouton démarrer, des accès rapides à certains programmes et options. Cette barre peut être placée en bas de l écran mais aussi sur les côtés ou en
Plus en détailEntraînement au concours ACM-ICPC
Entraînement au concours ACM-ICPC Concours ACM-ICPC : format et stratégies Page 1 / 16 Plan Présentation Stratégies de base Page 2 / 16 Qu est-ce que c est? ACM-ICPC : International Collegiate Programming
Plus en détailSkype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net
Skype (v2.5) Protocol Data Structures (French) Author : Ouanilo MEDEGAN http://www.oklabs.net : Champ Encodé SKWRITTEN() : Champ Variable défini Précédemment & définissant l état des champs à suivre ECT
Plus en détailIntroduction au maillage pour le calcul scientifique
Introduction au maillage pour le calcul scientifique CEA DAM Île-de-France, Bruyères-le-Châtel franck.ledoux@cea.fr Présentation adaptée du tutorial de Steve Owen, Sandia National Laboratories, Albuquerque,
Plus en détailCours d algorithmique pour la classe de 2nde
Cours d algorithmique pour la classe de 2nde F.Gaudon 10 août 2009 Table des matières 1 Avant la programmation 2 1.1 Qu est ce qu un algorithme?................................. 2 1.2 Qu est ce qu un langage
Plus en détailContinuité et dérivabilité d une fonction
DERNIÈRE IMPRESSIN LE 7 novembre 014 à 10:3 Continuité et dérivabilité d une fonction Table des matières 1 Continuité d une fonction 1.1 Limite finie en un point.......................... 1. Continuité
Plus en détailASR1 TD7 : Un microprocesseur RISC 16 bits
{Â Ö Ñ º ØÖ Ý,È ØÖ ºÄÓ Ù,Æ ÓÐ ºÎ ÝÖ Ø¹ ÖÚ ÐÐÓÒ} Ò ¹ÐÝÓÒº Ö ØØÔ»»Ô Ö Óº Ò ¹ÐÝÓÒº Ö» Ö Ñ º ØÖ Ý»¼ Ö½» ASR1 TD7 : Un microprocesseur RISC 16 bits 13, 20 et 27 novembre 2006 Présentation générale On choisit
Plus en détailCommencer avec doo sous OS X
Commencer avec doo sous OS X La mise en route de doo est rapide, facile, gratuite et sans risque Avec doo vous pouvez vous connecter et accéder à tous vos emplacements de stockage et à toutes les sources
Plus en détailIV- Comment fonctionne un ordinateur?
1 IV- Comment fonctionne un ordinateur? L ordinateur est une alliance du hardware (le matériel) et du software (les logiciels). Jusqu à présent, nous avons surtout vu l aspect «matériel», avec les interactions
Plus en détailChapitre 10 Arithmétique réelle
Chapitre 10 Arithmétique réelle Jean Privat Université du Québec à Montréal INF2170 Organisation des ordinateurs et assembleur Automne 2013 Jean Privat (UQAM) 10 Arithmétique réelle INF2170 Automne 2013
Plus en détailIntroduction à la théorie des graphes. Solutions des exercices
CAHIERS DE LA CRM Introduction à la théorie des graphes Solutions des exercices Didier Müller CAHIER N O 6 COMMISSION ROMANDE DE MATHÉMATIQUE 1 Graphes non orientés Exercice 1 On obtient le graphe biparti
Plus en détailExemples de problèmes et d applications. INF6953 Exemples de problèmes 1
Exemples de problèmes et d applications INF6953 Exemples de problèmes Sommaire Quelques domaines d application Quelques problèmes réels Allocation de fréquences dans les réseaux radio-mobiles Affectation
Plus en détailÉPREUVE COMMUNE DE TIPE 2008 - Partie D
ÉPREUVE COMMUNE DE TIPE 2008 - Partie D TITRE : Les Fonctions de Hachage Temps de préparation :.. 2 h 15 minutes Temps de présentation devant le jury :.10 minutes Entretien avec le jury :..10 minutes GUIDE
Plus en détailCOMMENT AMÉLIORER LA VISIBILITÉ DE SON SITE WEB?
COMMENT AMÉLIORER LA VISIBILITÉ DE SON SITE WEB? Sommaire Le trafic sur son site web Le référencement naturel Comment marche un moteur de recherche? Le positionnement Mise en garde Pour aller plus loin
Plus en détailConventions d écriture et outils de mise au point
Logiciel de base Première année par alternance Responsable : Christophe Rippert Christophe.Rippert@Grenoble-INP.fr Introduction Conventions d écriture et outils de mise au point On va utiliser dans cette
Plus en détailNote technique. Recommandations de sécurité relatives aux mots de passe
P R E M I E R M I N I S T R E Secrétariat général Paris, le 5 juin 2012 de la défense et de la sécurité nationale N o DAT-NT-001/ANSSI/SDE/NP Agence nationale de la sécurité Nombre de pages du document
Plus en détailSEO Campus 2009 : Pagerank et optimisation
SEO Campus 2009 : Pagerank et optimisation Sylvain Peyronnet http://sylvain.berbiqui.org http://www.kriblogs.com/syp 04/02/2009 04/02/2009 SEO Campus 2009 : Pagerank et optimisation 1 / 21 PageRank : la
Plus en détailAlgorithmique et Programmation
École Supérieure d Ingénieurs de Poitiers Gea Algorithmique et Programmation Laurent Signac ii Algorithmique et programmation Gea Table des matières Avant Propos v Structures de données Notion de pointeur..............................................
Plus en détailQuelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Plus en détailConception. Génie Logiciel. Renaud Marlet. LaBRI / INRIA http://www.labri.fr/~marlet. (d'après A.-M. Hugues) màj 17/04/2007
1 Génie Logiciel (d'après A.-M. Hugues) Conception Renaud Marlet LaBRI / INRIA http://www.labri.fr/~marlet màj 17/04/2007 2 Position dans le cycle de vie Contexte : étant donnée une spécification (ce que
Plus en détail[WINDOWS 7 - LES FICHIERS] 28 avril 2010. Logiciel / Windows
Ce dossier a une forme un peu différente des précédentes : c est un ensemble de «fiches» décrivant chacune une des opérations que l on peut effectuer avec un fichier (enregistrer, renommer, etc.). Chaque
Plus en détailBig Data et Graphes : Quelques pistes de recherche
Big Data et Graphes : Quelques pistes de recherche Hamamache Kheddouci Laboratoire d'informatique en Image et Systèmes d'information LIRIS UMR 5205 CNRS/INSA de Lyon/Université Claude Bernard Lyon 1/Université
Plus en détailArchitecture des ordinateurs TD1 - Portes logiques et premiers circuits
Architecture des ordinateurs TD1 - Portes logiques et premiers circuits 1 Rappel : un peu de logique Exercice 1.1 Remplir la table de vérité suivante : a b a + b ab a + b ab a b 0 0 0 1 1 0 1 1 Exercice
Plus en détailThéorie des Graphes Cours 3: Forêts et Arbres II / Modélisation
IFIPS S7 - informatique Université Paris-Sud 11 1er semestre 2009/2010 Théorie des Graphes Cours 3: Forêts et Arbres II / 1 Forêts et arbres II Théorème 1.1. Les assertions suivantes sont équivalentes
Plus en détailL informatique en BCPST
L informatique en BCPST Présentation générale Sylvain Pelletier Septembre 2014 Sylvain Pelletier L informatique en BCPST Septembre 2014 1 / 20 Informatique, algorithmique, programmation Utiliser la rapidité
Plus en détailCorrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Plus en détailTP 2 Réseaux. Adresses IP, routage et sous-réseaux
TP 2 Réseaux Adresses IP, routage et sous-réseaux C. Pain-Barre INFO - IUT Aix-en-Provence version du 24/2/2 Adressage IP. Limites du nombre d adresses IP.. Adresses de réseaux valides Les adresses IP
Plus en détailTp 1 correction. Structures de données (IF2)
Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que
Plus en détailCOMMENT AMELIORER LA VISIBILITE DE SON SITE WEB?
Le grand nombre d utilisateurs d Internet, «professionnels», «particuliers», et le développement du haut débit, transforment la vision des sites Internet. De par sa couverture mondiale, de l étendue de
Plus en détailSNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources
SNT4U16 - Initiation à la programmation Licence SVT 2 ème année 2014-2015 TD - Dynamique de POP III - Fichiers sources contacts : mathias.gauduchon@univ-amu.fr, melika.baklouti@univ-amu.fr, xavier.giraud@univ-amu.fr,
Plus en détailPetit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007
Petit lexique de calcul à l usage des élèves de sixième et de cinquième par M. PARCABE, professeur au collège Alain FOURNIER de BORDEAUX, mars 2007 page 1 / 10 abscisse addition additionner ajouter appliquer
Plus en détailSystème de Gestion de Fichiers
Chapitre 2 Système de Gestion de Fichiers Le système de gestion de fichiers est un outil de manipulation des fichiers et de la structure d arborescence des fichiers sur disque et a aussi le rôle sous UNIX
Plus en détail