Chap. 2. Langages et automates

Dimension: px
Commencer à balayer dès la page:

Download "Chap. 2. Langages et automates"

Transcription

1 Chapitre 2. Langages et automates 1. Quelques définitions et description d un langage. 2. Les expressions régulières. 3. Les automates fini déterministes et non-déterministes. 4. Construction automatique d un analyseur lexical. M. KRAJECKI 1 Licence Informatique 1. Alphabets, mots Pour représenter un problème, nous devons définir un ensemble fini de symboles appelé alphabet (par la suite, noté ). Définition 1 (alphabet) Un alphabet est un ensemble fini de symboles appelés caractères. En fait, la seule caractéristique essentielle est sa taille, les caractères choisis ne sont pas importants (construction d une bijection entre les symboles). Exemple, alphabet de taille 3 : ; ; Définition 2 (mot, longueur) Un mot est une séquence finie d éléments (chaîne) issus d un même alphabet. La longueur du mot (notée ) est définie par le nombre de caractères composant ce mot. Le mot vide, noté a une longueur égale à 0. Exemple :,, sont des mots de l alphabet. M. KRAJECKI 2 Licence Informatique

2 2. Description d un langage Définition 3 (langage) Un langage est un ensemble de mots définis sur le même alphabet. Exemple : soit l alphabet, l ensemble des mots est un langage sur cet alphabet. Attention : le langage vide, noté, est différent du langage. Description d un langage : langage fini énumération de tous les mots ; langage infini définition directe des langages simples + composition. M. KRAJECKI 3 Licence Informatique Description d un langage Définition 4 (Union de 2 langages) est le langage contenant tous les mots de et de : ou Définition 5 (Concaténation de 2 langages) est le langage contenant tous les mots formés d un mot de suivi d un mot de : et Définition 6 (Fermeture itérative (ou de Kleene) de ) La fermeture itérative est définie par l ensemble des mots formés par une concaténation finie des mots de "! #%$ et &'( )* tels que +'( ) M. KRAJECKI 4 Licence Informatique

3 Langages réguliers et expressions régulières Définition 7 (Langages réguliers) L ensemble des langages réguliers sur un alphabet est le plus petit ensemble des langages satisfaisant les conditions suivantes : pour tout 3. si alors * et Les expressions régulières sont une notation qui indique comment l ensemble régulier est construit à partir des ensembles réguliers élémentaires. M. KRAJECKI 5 Licence Informatique Expressions régulières Définition 8 (Expressions régulières) Les expressions régulières pour un alphabet sont les expressions formées par les règles suivantes : 1., et les éléments de sont des expressions régulières 2. Si et sont des expressions régulières, alors, et sont des expressions régulières. Le langage représenté par l expression régulière est défini ainsi : 1., 2. pour tout M. KRAJECKI 6 Licence Informatique

4 Expressions régulières : exemples L ensemble de tous les mots définis à partir d un alphabet est dénoté par l expression régulière. Cette expression est souvent abrégée en. L ensemble de tous les mots non vides (! #, noté $ ou $%. de " ) est noté &'()' &'( définit l ensemble des mots composés par et ' contenant au moins un '. M. KRAJECKI 7 Licence Informatique 3. Les automates finis Les automates finis sont très utilisés en informatique. Pour la compilation : recherche de chaîne de caractères dans un texte. Abstraction d un ordinateur, un ordinateur est composé de : un processeur avec des registres (compteur de programme) ; une mémoire pour stocker le programme ; une mémoire pour les données. Exécution d un programme : 1. Chargement de l instruction indiquée par le compteur de programme. 2. Exécution de l instruction modification des registres et / ou de la mémoire de données. 3. Le compteur de programme est modifié. M. KRAJECKI 8 Licence Informatique

5 Automate fini déterministe Pour prévoir l effet d un cycle (l exécution d une instruction), il suffit de connaître l état de la mémoire + registres. Un état est défini par le contenu de la mémoire et des registres de l ordinateur. À chaque cycle, l état de la machine est modifiée. La transformation de cet état est une fonction (appelée fonction de transition) de l ensemble des états de la machine vers elle-même. Si, de plus, nous connaissons l état initial de la machine, nous pouvons en déduire l exécution exacte de la machine. M. KRAJECKI 9 Licence Informatique Automate fini déterministe : définition informelle Un automate fini déterministe se compose ainsi : un ruban d entrée sur lequel est placé le mot (les données) à traiter. Le ruban est composé d un ensemble de cases, chaque case contenant un caractère. L automate utilise une tête de lecture pour connaître le caractère suivant. Un ensemble d états dont un état initial (état au début de l exécution) et des états d acceptation qui définissent les mots acceptés par l automate. Une fonction de transition qui indique pour chaque état et symbole lu, le prochain état de l automate. M. KRAJECKI 10 Licence Informatique

6 Automate fini déterministe : définition Définition 9 (Automate fini déterministe) Un Automate Fini Déterministe (noté AFD) est défini formellement par un quintuplet où : est un ensemble fini d états ; est un alphabet ; est la fonction de transition ; est l état initial (start) ; est l ensemble des états accepteurs. Définition 10 (Configuration d un AFD) Une configuration d un AFD est une paire composée de l état de l automate plus la partie du mot restant à traiter :. M. KRAJECKI 11 Licence Informatique Dérivation Définition 11 (Dérivation) La configuration est dérivable en une étape de par (noté ) si :! (, est le premier caractère de et est égal à privé de ). " ( est le prochain état déterminé par la fonction de transition pour et ). Une configuration est dérivable (en plusieurs cylces) d une autre, si elle peut être obtenue par une séquence finie de dérivations en une étape : est dérivable par de (noté ) s il existe! # $ et des configurations $# %# $'&()&! telle que : +*,* ) ) -.( 0/ $!1 +# %# +#32,#42. M. KRAJECKI 12 Licence Informatique

7 Exécution d un automate Donc, nous pouvons en déduire l exécution d un automate : où est l état initial et (( le mot vide. Il n y a qu une exécution possible pour chaque mot. Définition 12 (Acceptation) Un mot est accepté si le dernier état de la machine est un état accepteur : est accepté par si et * Le langage accepté par (noté ) est défini par l ensemble des mots acceptés par : et * M. KRAJECKI 13 Licence Informatique Représentation par un graphe À chaque état, on associe un nœud du graphe. La relation de transition est représentée par des arcs valués : si, il existe un arc entre les sommets et. L état initial est signalé par une flèche et les états accepteurs par des doubles cercles. Voici un automate :! Accepte tous les mots se terminant par : #" %$. M. KRAJECKI 14 Licence Informatique

8 Simulation du comportement d un AFD SIMULATIONAFD 1 ( ( $ {début du mot} 2 while 3 do if 4 then return 5 else if est défini 6 then 7 else return 8 ( ( +( ( {on a traité un symbole} 9 if 10 then return ( 11 else return M. KRAJECKI 15 Licence Informatique Les automates finis non déterministes Les automates finis non déterministes sont des automates où les constructions suivantes sont autorisées : plusieurs transitions correspondent au même caractère (ou symbole) dans chaque état ; des transitions sur le mot vide sont autorisées ; des transitions sur des mots de longueur supérieur à 1 sont possibles (regroupement de transition). M. KRAJECKI 16 Licence Informatique

9 Automate fini non déterministe Définition 13 (Automate fini non déterministe) Un Automate Fini Non déterministe (noté AFN) est défini formellement par un quintuplet où : est un ensemble fini d états ; est un alphabet ; est la relation de transition ; est l état initial (start) ; est l ensemble des états accepteurs. nouvelle définition de la dérivation : est dérivable en une étape par de si : ; (le triplet est un élément de la relation de transition). M. KRAJECKI 17 Licence Informatique Remarques sur les AFN Un mot est accepté par un automate non détermnisite s il existe une dérivation qui accepte ce mot. Nous laissons l automate choisir la bonne dérivation. Le non déterminisme permet de construire facilement des automates utilisant la disjonction et l itération, mais ne reconnaît pas plus de langages que les automates déterministes. M. KRAJECKI 18 Licence Informatique

10 Exemple d un AFN a Les mots et sont acceptés par cet automate. M. KRAJECKI 19 Licence Informatique Simulation d un AFN Problème : il existe plusieurs dérivations pour un même mot! 1. Il faut vérifier si l une d entre elles permet d accepter le mot. 2. Il faut être en mesure de revenir en arrière (backtrack) , bb échec 0, abb 0, aabb 1, bb 2, b 1, abb échec 3 3, le mot est accepté Utilisation de la récursivité. M. KRAJECKI 20 Licence Informatique

11 Principe de la simulation d un AFN SIMULATIONAFN 1 {on commence avec e=start et p=0} 2 if 3 then return 4 else 5 if états pour notés * &'( 6 then 7 ( $ 8 while et ( 9 do 10 SIMULATIONAFN # 11 ( ( 12 return M. KRAJECKI 21 Licence Informatique Construction d un AFN qui reconnait le langage d une expression regulière La construction se fait sur la syntaxe de l expression régulière. : : Soit et, 2 epxressions régulières, on représente par l AFN de et celui de par : Remarque : on ajoute un arc étiqueté depuis l état accepteur de vers l état initial de. M. KRAJECKI 22 Licence Informatique

12 Construction d un AFN qui reconnait le langage d une expression regulière Pb : si " " : Solution : on ajoute un nouvel état accepteur. nouvelle état d acceptation " : M. KRAJECKI 23 Licence Informatique Construction d un AFN qui reconnait le langage d une expression regulière $ : { permet d accepter le mot vide } Exemple : #" $ M. KRAJECKI 24 Licence Informatique

13 Transformation d un AFN vers un AFD équivalent Un AFD est équivalent à un AFN s il accepte le même langage. 1) 2) On simule "en parallèle" les 2 états possibles pour une transition de sur. M. KRAJECKI 25 Licence Informatique -closure Définition 14. Soit un ensemble d états d un AFN. L -closure(a) est alors défini par l ensemble des états de accessibles depuis tout état par des -transitions uniquement. Remarque :. Il est donc possible, en utilisant cette définition, de construire automatiquement un AFD équivalent à un AFN donné. À partir de l -closure de l état initial (qui correspondra à l état initial de l AFD), on construit de proche en proche (en suivant les transitions de l AFN) les états de l AFD correspondant. M. KRAJECKI 26 Licence Informatique

14 AFNVERSAFD Algorithme de transformation AFN vers AFD 1 $* {s est l état initial de M} 2 * MARQUE * 3 while tel que MARQUE 4 do MARQUE 5 for - 6 do 7 8 if 9 then 10 MARQUE M. KRAJECKI 27 Licence Informatique Exemple Exemple : #" $ A B D C E E est le seul état accepteur car il contient l état 10 de l AFN. M. KRAJECKI 28 Licence Informatique

15 ) Exécution de l algorithme x M(x) T y A={0,1,2,4,7} V A {3,8} {3,8,6,1,7,2,4} A B B={3,8,6,1,7,2,4} F V A {5} {5,6,7,1,2,4} A C={1,2,4,5,6,7} F V B {3,8} B B B {5,9} {5,9,6,7,1,2,4} B D D={1,2,4,5,6,7,9} F V C {3,8} C B C {5} C D {3, 8} D B D {5, 10} {5,6,1,2,4,7,10} D E={1,2,4,5,6,7,10} F V E {3, 8} E B E {5} E C C E C M. KRAJECKI 29 Licence Informatique Partitionnement Soient et deux états de et une partition de. et sont équivalents dans si et seulement si pour tout symbole, les états et ont des transitions vers des états appartenant au même bloc de. Définition 15 Équivalence entre deux états. Soit &(( ) une partition, c est à dire : -.( # ; -.( # et -.( ( # ; # #. Les états et sont équivalent dans ( ) si et seulement si : - et Le but du partitionnement est de réduire le nombre d états d un AFD. M. KRAJECKI 30 Licence Informatique

16 Algorithme de minimisation des états MINIMISATION while 3 do 4 for 5 do positionner B en sous bloc B tel que 2 états s et t de B sont 6 dans le même bloc s ils sont équivalents pour 7 while 8 do 9 while $ ' 10 do 11 if 12 then 13 M. KRAJECKI 31 Licence Informatique Exemple (suite) On doit sortir à cause de la transition sur. Donc : M. KRAJECKI 32 Licence Informatique

17 Exemple (suite) On doit sortir (transition sur ). On en déduit : Donc et sont équivalents. M. KRAJECKI 33 Licence Informatique 4. Construction automatique d un analyseur lexical L analyseur lexical est la première composante de la phase d analyse nécessaire à un compilateur. Le rôle de l analyseur lexical (AL) : AL lit les caractères en entrée (le prog. source) et reconnait des lexèmes. Le résultat de l AL est une suite de lexèmes qui propose une première structuration du programme. Il existe une interaction très forte entre l AL et l analyseur syntaxique. programme source Analyseur lexical lexème obtenir un lexème Analyseur syntaxique Table des symboles M. KRAJECKI 34 Licence Informatique

18 Construction automatique de l AL à l aide d automates L analyse lexicale permet : 1. Une simplification de la phase d analyse. 2. Efficacité du compilateur accrue. 3. Portabilité du compilateur. Objectifs : construire un AL qui accepte unités lexicales notées &((. 1. Représenter chaque unité lexicale par une expression régulière. 2. Construire un AFN pour chaque expression régulière. 3. Transformer chaque AFN en AFD (optimisation). 4. Réduire le nombre d états des AFD (optimisation). M. KRAJECKI 35 Licence Informatique Construction automatique de l AL à l aide d automates ANALYSEURLEXICAL 1 on essaie 2 if! 3 then return 4 else on essaie 5 if! 6 then return +(( 7 else on essaie 8 if 9 then return M. KRAJECKI 36 Licence Informatique

19 Construction automatique de l AL à l aide d automates En pratique, on cherche à reconnaître le lexème le plus grand (qui comporte le plus grand nombre de caractères). Attention : 1. Un lexème est différent d une unité lexicale : une unité lexicale définit un langage régulier représenté par une expression régulière ; un lexème est un mot de ce langage. 2. L ordre de définition des unités lexicales est important : si 2 unités lexicales peuvent être choisies pour un même lexème, c est l unité lexicale définie le plus tôt qui est choisie. M. KRAJECKI 37 Licence Informatique 5. Limite des expressions régulières et automates à pile On ne peut pas définir tous les langages à l aide d expressions régulières. Exemple : L = { # $ } ne peut être défini par une expression régulière. Preuve : voir TD. Un automate à pile non déterministe est composé des mêmes éléments qu un AFN : un ruban d entrée et une tête de lecture ; un ensemble d états dont on distingue un état initial et un ensemble d états d acceptation ; une relation de transition. On ajoute à ces composantes, une pile de capacité infinie initialement vide. À chaque étape du calcul, l automate à pile consulte le sommet de la pile et la remplace par une autre suite de symboles. M. KRAJECKI 38 Licence Informatique

20 Automate fini non déterministe à pile Définition 16 Un Automate fini non déterministe à pile est défini par : Où : est un ensemble fini d états ; est un alphabet ; est l aphabet de la pile ; est la relation de transition : ; est le symbole initial de la pile ; est l état initial ; est l ensemble des états d acceptations. M. KRAJECKI 39 Licence Informatique Configuration et dérivation d un automate à pile Remarque : & ) & signifie que : l automate passe de l état à l état sur le mot si la chaîne est au sommet de la pile ; à l état, le sommet de la pile a été remplacé par. M. KRAJECKI 40 Licence Informatique

21 Configuration et dérivation d un automate à pile Définition 17 Configuration et dérivation. Une configuration d un automate à pile est définie par un triplet ( état, mot en entrée, contenu de la pile) :. La configuration est dérivable en une étape de par ( ) si : (le mot commence par le préfixe ) ; (avant la transition, le sommet de la pile contient ) ; (après la transition, est enlevé du sommet de la pile et il est remplacé par ) ; M. KRAJECKI 41 Licence Informatique Exécution d un automate à pile Une configuration est dérivable en plusieurs étapes de la configuration par ( ) s il existe!# $ et des configurations intermédiaires * (' ) telles que : * ; ) ; # #42 pour $'&()&%!. Une exécution d un automate à pile sur un mot est une suite de configurations : (' ( est l état initial et, le symbole initial au sommet de la pile). M. KRAJECKI 42 Licence Informatique

22 Acceptation d un mot par un automate à pile Un mot est accepté par un automate à pile si ( acceptation sur état final) : avec Ou bien (acceptation sur pile vide) : accepte s il existe une exécution sur menant à une configuration où la pile est vide : Les deux définitions sont équivalentes (i.e. les automates reconnaissent les mêmes langages). M. KRAJECKI 43 Licence Informatique Exemple Définition de, l automate à pile qui reconnaît # $ sur pile vide. * + * $* $* * (on empile le symbole ) $* + (on dépile) + (on dépile) * Exécution pour : $* $* $* est accepté. M. KRAJECKI 44 Licence Informatique

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

Chap 4: Analyse syntaxique. Prof. M.D. RAHMANI Compilation SMI- S5 2013/14 1

Chap 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étail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur

Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Université Paris-Sud Licence d Informatique Informatique Théorique : Théorie des Langages, Analyse Lexicale, Analyse Syntaxique Jean-Pierre Jouannaud Professeur Adresse de l auteur : LIX École Polytechnique

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Analyse syntaxique descendante Claude Moulin Université de Technologie de Compiègne Printemps 2010 Sommaire 1 Principe 2 Premiers 3 Suivants 4 Analyse 5 Grammaire LL(1) Exemple : Grammaire

Plus en détail

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies

INF 232: Langages et Automates. Travaux Dirigés. Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies INF 232: Langages et Automates Travaux Dirigés Université Joseph Fourier, Université Grenoble 1 Licence Sciences et Technologies Année Académique 2013-2014 Année Académique 2013-2014 UNIVERSITÉ JOSEPH

Plus en détail

Conception des systèmes répartis

Conception des systèmes répartis Conception des systèmes répartis Principes et concepts Gérard Padiou Département Informatique et Mathématiques appliquées ENSEEIHT Octobre 2012 Gérard Padiou Conception des systèmes répartis 1 / 37 plan

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique 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étail

Initiation à l algorithmique

Initiation à l algorithmique Informatique S1 Initiation à l algorithmique procédures et fonctions 2. Appel d une fonction Jacques TISSEAU Ecole Nationale d Ingénieurs de Brest Technopôle Brest-Iroise CS 73862-29238 Brest cedex 3 -

Plus en détail

Cours d algorithmique pour la classe de 2nde

Cours 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étail

Compilation (INF 564)

Compilation (INF 564) Présentation du cours Le processeur MIPS Programmation du MIPS 1 Compilation (INF 564) Introduction & architecture MIPS François Pottier 10 décembre 2014 Présentation du cours Le processeur MIPS Programmation

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Yassine.Lakhnech@imag.fr. Modèles de Calcul Start p.

Modèles de Calcul. Yassine Lakhnech. 2007/08 Université Joseph Fourier Lab.: VERIMAG. Yassine.Lakhnech@imag.fr. Modèles de Calcul Start p. Modèles de Calcul Yassine Lakhnech Yassine.Lakhnech@imag.fr 2007/08 Université Joseph Fourier Lab.: VERIMAG Modèles de Calcul Start p.1/81 Équipe pédagogique Cours : Saddek Bensalem et Yassine Lakhnech

Plus en détail

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions

1 Définition et Appel d une fonction. V. Phan Luong. Cours 4 : Fonctions Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 4 : Fonctions La construction de fonctions dans un langage de programmation permet aux

Plus en détail

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France. La NP-complétude Johanne Cohen PRISM/CNRS, Versailles, France. Références 1. Algorithm Design, Jon Kleinberg, Eva Tardos, Addison-Wesley, 2006. 2. Computers and Intractability : A Guide to the Theory of

Plus en détail

Quatrième partie IV. Test. Test 15 février 2008 1 / 71

Quatrième partie IV. Test. Test 15 février 2008 1 / 71 Quatrième partie IV Test Test 15 février 2008 1 / 71 Outline Introduction 1 Introduction 2 Analyse statique 3 Test dynamique Test fonctionnel et structurel Test structurel Test fonctionnel 4 Conclusion

Plus en détail

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation :

Centre CPGE TSI - Safi 2010/2011. Algorithmique et programmation : Algorithmique et programmation : STRUCTURES DE DONNÉES A. Structure et enregistrement 1) Définition et rôle des structures de données en programmation 1.1) Définition : En informatique, une structure de

Plus en détail

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

LES 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étail

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/

Calculabilité Cours 3 : Problèmes non-calculables. http://www.irisa.fr/lande/pichardie/l3/log/ Calculabilité Cours 3 : Problèmes non-calculables http://www.irisa.fr/lande/pichardie/l3/log/ Problèmes et classes de décidabilité Problèmes et classes de décidabilité Nous nous intéressons aux problèmes

Plus en détail

Calculs de probabilités

Calculs de probabilités Calculs de probabilités Mathématiques Générales B Université de Genève Sylvain Sardy 13 mars 2008 1. Définitions et notations 1 L origine des probabilités est l analyse de jeux de hasard, tels que pile

Plus en détail

GPA770 Microélectronique appliquée Exercices série A

GPA770 Microélectronique appliquée Exercices série A GPA770 Microélectronique appliquée Exercices série A 1. Effectuez les calculs suivants sur des nombres binaires en complément à avec une représentation de 8 bits. Est-ce qu il y a débordement en complément

Plus en détail

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE QCM Remarque : - A une question correspond au moins 1 réponse juste - Cocher la ou les bonnes réponses Barème : - Une bonne réponse = +1 - Pas de réponse = 0

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping

Chapitre V : La gestion de la mémoire. Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Chapitre V : La gestion de la mémoire Hiérarchie de mémoires Objectifs Méthodes d'allocation Simulation de mémoire virtuelle Le mapping Introduction Plusieurs dizaines de processus doivent se partager

Plus en détail

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Exemples 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

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION 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étail

Cours de Génie Logiciel

Cours de Génie Logiciel Cours de Génie Logiciel Sciences-U Lyon Diagrammes UML (2) http://www.rzo.free.fr Pierre PARREND 1 Avril 2005 Sommaire Les Diagrammes UML Diagrammes de Collaboration Diagrammes d'etats-transitions Diagrammes

Plus en détail

SNT4U16 - Initiation à la programmation 2014-2015. TD - Dynamique de POP III - Fichiers sources

SNT4U16 - 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étail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1

Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 Introduction à la programmation Travaux pratiques: séance d introduction INFO0201-1 B. Baert & F. Ludewig Bruno.Baert@ulg.ac.be - F.Ludewig@ulg.ac.be Qu est-ce que la programmation? Programmer Ecrire un

Plus en détail

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

Programmation 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étail

Les algorithmes de base du graphisme

Les algorithmes de base du graphisme Les algorithmes de base du graphisme Table des matières 1 Traçage 2 1.1 Segments de droites......................... 2 1.1.1 Algorithmes simples.................... 3 1.1.2 Algorithmes de Bresenham (1965).............

Plus en détail

Machines virtuelles Cours 1 : Introduction

Machines virtuelles Cours 1 : Introduction Machines virtuelles Cours 1 : Introduction Pierre Letouzey 1 pierre.letouzey@inria.fr PPS - Université Denis Diderot Paris 7 janvier 2012 1. Merci à Y. Régis-Gianas pour les transparents Qu est-ce qu une

Plus en détail

Traduction des Langages : Le Compilateur Micro Java

Traduction des Langages : Le Compilateur Micro Java BARABZAN Jean-René OUAHAB Karim TUCITO David 2A IMA Traduction des Langages : Le Compilateur Micro Java µ Page 1 Introduction Le but de ce projet est d écrire en JAVA un compilateur Micro-Java générant

Plus en détail

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4

1 Introduction C+ + Algorithm e. languag. Algorigramm. machine binaire. 1-1 Chaîne de développement. Séance n 4 1 Introduction 1-1 Chaîne de développement Algorithm e C+ + Algorigramm e languag e machine binaire Le programme est écrit à l aide de Multiprog sous forme d algorigramme puis introduit dans le microcontrôleur

Plus en détail

Les chaînes de caractères

Les chaînes de caractères Les chaînes de caractères Dans un programme informatique, les chaînes de caractères servent à stocker les informations non numériques comme par exemple une liste de nom de personne ou des adresses. Il

Plus en détail

Resolution limit in community detection

Resolution limit in community detection Introduction Plan 2006 Introduction Plan Introduction Introduction Plan Introduction Point de départ : un graphe et des sous-graphes. But : quantifier le fait que les sous-graphes choisis sont des modules.

Plus en détail

MIS 102 Initiation à l Informatique

MIS 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étail

Grammaires d unification

Grammaires d unification Cours sur le traitement automatique des langues (IV) Violaine Prince Université de Montpellier 2 LIRMM-CNRS Grammaires d unification Grammaire catégorielle Grammaire syntagmatique généralisée (GPSG) Les

Plus en détail

1 Définition et premières propriétés des congruences

1 Définition et premières propriétés des congruences Université Paris 13, Institut Galilée Département de Mathématiques Licence 2ème année Informatique 2013-2014 Cours de Mathématiques pour l Informatique Des nombres aux structures Sylviane R. Schwer Leçon

Plus en détail

Recherche dans un tableau

Recherche dans un tableau Chapitre 3 Recherche dans un tableau 3.1 Introduction 3.1.1 Tranche On appelle tranche de tableau, la donnée d'un tableau t et de deux indices a et b. On note cette tranche t.(a..b). Exemple 3.1 : 3 6

Plus en détail

Architecture des ordinateurs

Architecture des ordinateurs Architecture des ordinateurs Cours 4 5 novembre 2012 Archi 1/22 Micro-architecture Archi 2/22 Intro Comment assembler les différents circuits vus dans les cours précédents pour fabriquer un processeur?

Plus en détail

Cours de Programmation 2

Cours de Programmation 2 Cours de Programmation 2 Programmation à moyenne et large échelle 1. Programmation modulaire 2. Programmation orientée objet 3. Programmation concurrente, distribuée 4. Programmation monadique 5. Les programmes

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Objets Combinatoires élementaires

Objets Combinatoires élementaires Objets Combinatoires élementaires 0-0 Permutations Arrangements Permutations pour un multi-ensemble mots sous-ensemble à k éléments (Problème du choix) Compositions LE2I 04 1 Permutations Supposons que

Plus en détail

Licence Sciences et Technologies Examen janvier 2010

Licence 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étail

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

Dé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étail

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Machines virtuelles fonctionnelles (suite) Compilation ML Java Machines virtuelles fonctionnelles (suite) Compilation ML Java Cours de Compilation Avancée (MI190) Benjamin Canou Université Pierre et Maire Curie Année 2011/2012 Semaine 3 Machines virtuelles fonctionnelles

Plus en détail

Pourquoi l apprentissage?

Pourquoi l apprentissage? Pourquoi l apprentissage? Les SE sont basés sur la possibilité d extraire la connaissance d un expert sous forme de règles. Dépend fortement de la capacité à extraire et formaliser ces connaissances. Apprentissage

Plus en détail

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications

Université Paris-Dauphine DUMI2E 1ère année, 2009-2010. Applications Université Paris-Dauphine DUMI2E 1ère année, 2009-2010 Applications 1 Introduction Une fonction f (plus précisément, une fonction réelle d une variable réelle) est une règle qui associe à tout réel x au

Plus en détail

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck)

Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck) Décision Markovienne appliquée à un jeu de stop ou encore : Pickomino (Heckmeck Am Bratwurmeck) Stéphane Cardon Nathalie Chetcuti-Sperandio Fabien Delorme Sylvain agrue CRI - Université d Artois {cardon,chetcuti,delorme,lagrue}@cril.univ-artois.fr

Plus en détail

TP3 : Manipulation et implantation de systèmes de fichiers 1

TP3 : Manipulation et implantation de systèmes de fichiers 1 École Normale Supérieure Systèmes et réseaux Année 2012-2013 TP3 : Manipulation et implantation de systèmes de fichiers 1 1 Répertoire de travail courant Le but de l exercice est d écrire une commande

Plus en détail

Concept de machine virtuelle

Concept de machine virtuelle Concept de machine virtuelle Chap. 5: Machine virtuelle Alain Sandoz Semestre été 2007 1 Introduction: Java Virtual Machine Machine Virtuelle Java: qu est-ce que c est? c est la spécification d une machine

Plus en détail

Exercices 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 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étail

Les structures de données. Rajae El Ouazzani

Les 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étail

6 - 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 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étail

chapitre 4 Nombres de Catalan

chapitre 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étail

Fondements de l informatique Logique, modèles, et calculs

Fondements de l informatique Logique, modèles, et calculs Fondements de l informatique Logique, modèles, et calculs Cours INF423 de l Ecole Polytechnique Olivier Bournez Version du 20 septembre 2013 2 Table des matières 1 Introduction 9 1.1 Concepts mathématiques........................

Plus en détail

CH.6 Propriétés des langages non contextuels

CH.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étail

Algorithmes de recherche d itinéraires en transport multimodal

Algorithmes de recherche d itinéraires en transport multimodal de recherche d itinéraires en transport multimodal Fallou GUEYE 14 Décembre 2010 Direction : Christian Artigues LAAS-CNRS Co-direction : Marie José Huguet LAAS-CNRS Encadrant industriel : Frédéric Schettini

Plus en détail

Plus courts chemins, programmation dynamique

Plus courts chemins, programmation dynamique 1 Plus courts chemins, programmation dynamique 1. Plus courts chemins à partir d un sommet 2. Plus courts chemins entre tous les sommets 3. Semi-anneau 4. Programmation dynamique 5. Applications à la bio-informatique

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Évaluation et implémentation des langages

Évaluation et implémentation des langages Évaluation et implémentation des langages Les langages de programmation et le processus de programmation Critères de conception et d évaluation des langages de programmation Les fondations de l implémentation

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

Organigramme / Algorigramme Dossier élève 1 SI

Organigramme / Algorigramme Dossier élève 1 SI Organigramme / Algorigramme Dossier élève 1 SI CI 10, I11 ; CI 11, I10 C24 Algorithmique 8 février 2009 (13:47) 1. Introduction Un organigramme (ou algorigramme, lorsqu il est plus particulièrement appliqué

Plus en détail

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/??

Algorithmique I. Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr. Algorithmique I 20-09-06 p.1/?? Algorithmique I Augustin.Lux@imag.fr Roger.Mohr@imag.fr Maud.Marchal@imag.fr Télécom 2006/07 Algorithmique I 20-09-06 p.1/?? Organisation en Algorithmique 2 séances par semaine pendant 8 semaines. Enseignement

Plus en détail

I. Introduction aux fonctions : les fonctions standards

I. Introduction aux fonctions : les fonctions standards Chapitre 3 : Les fonctions en C++ I. Introduction aux fonctions : les fonctions standards A. Notion de Fonction Imaginons que dans un programme, vous ayez besoin de calculer une racine carrée. Rappelons

Plus en détail

LES TYPES DE DONNÉES DU LANGAGE PASCAL

LES TYPES DE DONNÉES DU LANGAGE PASCAL LES TYPES DE DONNÉES DU LANGAGE PASCAL 75 LES TYPES DE DONNÉES DU LANGAGE PASCAL CHAPITRE 4 OBJECTIFS PRÉSENTER LES NOTIONS D ÉTIQUETTE, DE CONS- TANTE ET DE IABLE DANS LE CONTEXTE DU LAN- GAGE PASCAL.

Plus en détail

Conception de circuits numériques et architecture des ordinateurs

Conception de circuits numériques et architecture des ordinateurs Conception de circuits numériques et architecture des ordinateurs Frédéric Pétrot Année universitaire 2014-2015 Structure du cours C1 C2 C3 C4 C5 C6 C7 C8 C9 C10 C11 Codage des nombres en base 2, logique

Plus en détail

Initiation. àl algorithmique et à la programmation. en C

Initiation. à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étail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Grandes 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étail

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie Chapitre I : Les bases du C++ Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie du logiciel, et ce depuis

Plus en détail

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme?

CCI Génie Logiciel UFR - IMA. Objectifs du cours d'aujourd'hui. Génie Logiciel Validation par le test. Qu est-ce que tester un programme? Validation par le test Objectifs du cours d'aujourd'hui Donner des réponses aux questions suivantes : Lydie du Bousquet 2 Qu est-ce que tester un programme? Exercice 1 : Inscrivez sur une feuille ce que

Plus en détail

Utilisation des tableaux sémantiques dans les logiques de description

Utilisation des tableaux sémantiques dans les logiques de description Utilisation des tableaux sémantiques dans les logiques de description IFT6281 Web Sémantique Jacques Bergeron Département d informatique et de recherche opérationnelle Université de Montréal bergerja@iro.umontreal.ca

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes PLAN CYCLE DE VIE D'UN LOGICIEL EXPRESSION DES BESOINS SPÉCIFICATIONS DU LOGICIEL CONCEPTION DU LOGICIEL LA PROGRAMMATION TESTS ET MISE AU POINT DOCUMENTATION CONCLUSION C.Crochepeyre Génie Logiciel Diapason

Plus en détail

Représentation d un entier en base b

Repré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étail

Analyse de sécurité de logiciels système par typage statique

Analyse de sécurité de logiciels système par typage statique Contexte Modélisation Expérimentation Conclusion Analyse de sécurité de logiciels système par typage statique Application au noyau Linux Étienne Millon UPMC/LIP6 Airbus Group Innovations Sous la direction

Plus en détail

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007

Vision industrielle et télédétection - Détection d ellipses. Guillaume Martinez 17 décembre 2007 Vision industrielle et télédétection - Détection d ellipses Guillaume Martinez 17 décembre 2007 1 Table des matières 1 Le projet 3 1.1 Objectif................................ 3 1.2 Les choix techniques.........................

Plus en détail

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

Manuel 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étail

Vers l'ordinateur quantique

Vers l'ordinateur quantique Cours A&G Vers l'ordinateur quantique Données innies On a vu dans les chapîtres précédents qu'un automate permet de représenter de manière nie (et même compacte) une innité de données. En eet, un automate

Plus en détail

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011 Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr Université de Provence 9 février 2011 Arnaud Labourel (Université de Provence) Exclusion Mutuelle 9 février 2011 1 / 53 Contexte Epistémologique

Plus en détail

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE

VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE VINCENT MATHIEU VÉRIFICATION DES SYSTÈMES À PILE AU MOYEN DES ALGÈBRES DE KLEENE Mémoire présenté à la Faculté des études supérieures de l Université Laval dans le cadre du programme de maîtrise en informatique

Plus en détail

Qualité du logiciel: Méthodes de test

Qualité du logiciel: Méthodes de test Qualité du logiciel: Méthodes de test Matthieu Amiguet 2004 2005 Analyse statique de code Analyse statique de code Étudier le programme source sans exécution Généralement réalisée avant les tests d exécution

Plus en détail

UML et les Bases de Données

UML et les Bases de Données CNAM UML et les Bases de Données UML et les Bases de Données. Diagramme de classes / diagramme d objets (UML)...2.. Premier niveau de modélisation des données d une application...2.2. Les éléments de modélisation...2.2..

Plus en détail

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar bbm@badr-benmammar.com Intelligence Artificielle et Systèmes Multi-Agents Badr Benmammar bbm@badr-benmammar.com Plan La première partie : L intelligence artificielle (IA) Définition de l intelligence artificielle (IA) Domaines

Plus en détail

Théorie de la Programmation

Théorie de la Programmation Théorie de la Programmation http://perso.ens-lyon.fr/daniel.hirschkoff/thpr hop Programmation, Théorie de la programmation Langages de programmation I il existe de nombreux langages de programmation I

Plus en détail

Cours 1 : Qu est-ce que la programmation?

Cours 1 : Qu est-ce que la programmation? 1/65 Introduction à la programmation Cours 1 : Qu est-ce que la programmation? Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» )

LE PROCESSUS ( la machine) la fonction f. ( On lit : «fonction f qui à x associe f (x)» ) SYNTHESE ( THEME ) FONCTIONS () : NOTIONS de FONCTIONS FONCTION LINEAIRE () : REPRESENTATIONS GRAPHIQUES * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

Plus en détail

Préparation à l examen EFA en Macro

Préparation à l examen EFA en Macro Préparation à l examen EFA en Macro Exercice sur les macros en Word / Excel Les questions suivantes doivent constituer un bref rafraîchissement et vous aider à situer le niveau de vos connaissances : Question

Plus en détail

CONFIGURATION DE L AUTOMATE SIEMENS

CONFIGURATION DE L AUTOMATE SIEMENS CONFIGURATION DE L AUTOMATE SIEMENS Créer un projet Dans le bureau de Windows, double-cliquer sur l icône «SIMATIC Manager» : Cliquer ensuite sur l icône «nouveau» : Choisir un nom de projet et valider

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

TP 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 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étail