Affichage des articles dont le libellé est e-miage. Afficher tous les articles
Affichage des articles dont le libellé est e-miage. Afficher tous les articles

jeudi 3 janvier 2013

Comprendre les expressions régulières avec Regexper

Les expressions rationnelles, ou expressions régulières, sont un outil très puissant pour manipuler les chaines de caractères dans les langages de programmation. Perl en fait son principe fondamental, mais on les trouve aussi dans les langages plus habituels comme en Java avec la méthode "matches". Elles sont présentées au chapitre 3 du cours e-miage B209.

Il existe un outil intéressant permettant de représenter de manière graphique de telles expressions : Regexper (http://www.regexper.com/).

Par exemple, l'expression "a*|(b+c)*b" donnera :


A tester d'urgence !

Enhanced by Zemanta

mardi 11 décembre 2012

Cours de Cobol en ligne

50 years of Running COBOL
50 years of Running COBOL (Photo credit: national museum of american history)
Cobol est toujours un langage encore très utilisé, en particulier dans le domaine des banques et des assurances. Cependant, de moins en moins de personnes ont des compétences à ce sujet. Du coup, l'offre sur le marché de l'emploi est souvent très intéressante... Si vous voulez vous auto-former, un cours en ligne de la e-miage est disponible :
http://pagesperso.lina.univ-nantes.fr/info/perso/permanents/vailly/Enseignement/EMIAGE/EnDev/ModuleA206EMiageV2.5/A206.html


Enhanced by Zemanta

vendredi 30 mars 2012

Automates et langages

Noam Chomsky.
Noam Chomsky. (Photo credit: Wikipedia)




Automates et langages


Le module « Automates et langages » vise à introduire les bases de la théorie des langages, des automates ainsi que les principales notions sur les compilateurs. Il permet d’appréhender un certain nombre de techniques fondamentales :
  • de nouvelles techniques de programmation (notion de programmation dirigée par la syntaxe)
  • le contrôle de validité
  • la compréhension et optimisation de nouveaux outils proposant l’utilisation des expressions régulières (Perl, PHP, JDK 1.4…)
  • la présentation de bases pour des techniques de CSI (modélisation dynamique en UML) et de compilation (analyseurs lexicaux).
Ce cours propose aussi d’habituer l’étudiant à des formalisations et démonstrations utiles pour d’autres cours.
Nous y définissons les notions suivantes : vocabulaire, langage, grammaires, classification de Chomsky, langages relationnels, expressions régulières, machine de Turing, automates déterministes et non-déterministes. Nous présentons aussi bien les bases théoriques nécessaires à la bonne compréhension de ces notions que des algorithmes de base permettant de les manipuler. En particulier,nous nous attachons à présenter les outils permettant de construire un analyseur de chaînes de symboles à partir d’une ou plusieurs expressions décrivant leur construction (le langage).
Pour comprendre les notions abordées dans ce modules, il est nécessaire de bien maitriser les concepts suivants : théorie des ensembles, démonstration par l’absurde et démonstration par induction, algorithmique, programmation impérative (éventuellement programmation objet Java).
Attention ! Ce module est un module sans doute un peu plus difficile que les autres. Les principales raisons sont les suivantes :
  • c’est un module assez théorique qui se base sur un certain nombre de concepts mathématiques ;
  • il demande de mettre en oeuvre des raisonnements logiques et il faut d’être capable de faire des preuves ;
  • de ce fait, il est nécessaire de maitriser un minimum les notations mathématiques les plus courantes.
Ceci dit, tout au long de ce cours, certains théorèmes ou lemmes sont démontrés. Il n’est pas demandé de connaitre « par coeur » ces démonstrations mais de comprendre les procédés mis en oeuvre. Par contre, il faut être capable d’expliquer toutes les méthodes et les résultats que vous obtenez dans les différents exercices. Encore une fois, le plus important est de comprendre les méthodes présentées et pourquoi elles fonctionnent.
Quelques conseils pour bien réussir :
  • toujours être capable de justifier ce que vous avancez ;
  • bien vérifier la cohérence de vos « calculs » par rapport aux données initiales et aux objectifs visés ;
  • travaillez bien les différentes méthodes présentées (bien connaitre ce qui se passe et pourquoi).
Enhanced by Zemanta

Initiation à XML





Initiation à XML



A graphical depiction of a very simple xml doc...
Ce module a pour objectif de faire en sorte que d’être capable appréhender le monde XML pour être en mesure de concevoir des ressources en XML et de les exploiter avec les outils de programmation classiques. Pour atteindre cet objectif, il présente les bases de XML, les outils (API en Java et en PHP) pour programmer avec XML (XSLT, SAX, DOM, JDOM…), les différents schémas XML (DTD, XML Schema…) et l’exploitation de bases de données XML.
Pré-requis : langages à objets, structures de données, complexité, algorithmique avancée, bases de données, langages et automates, PHP, Java, Modélisation Merise (MCD), bases de données relationnelles.
Enhanced by Zemanta