Rappel : évaluation d'expressions sans variables. Analyse de Données Structurées - Cours 10. Évaluation d'expressions avec variables

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

Download "Rappel : évaluation d'expressions sans variables. Analyse de Données Structurées - Cours 10. Évaluation d'expressions avec variables"

Transcription

1 Rappel : évaluation d'expressions sans variables Ralf Treinen Université Paris Diderot UFR Informatique Institut de Recherche en Informatique Fondamentale treinen@irif.fr c Ralf Treinen mars 2017 L'ensemble E des arbres de syntaxe abstraite représentant des expressions arithmétiques sans variables est déni comme suit : tout Int(n), où n N, est un élément de E si e 1, e 2 E, alors Sum(e 1, e 2 ) E si e 1, e 2 E, alors Product(e 1, e 2 ) E Règles sémantiques pour l'évaluation : Int(n) n e 1 v 1 e 2 v 2 Sum(e 1, e 2 ) v 1 + int v 2 e 1 v 1 e 2 v 2 Product(e 1, e 2 ) v 1 int v 2 Expressions avec variables L'ensemble E des arbres de syntaxe abstraite représentant des expressions arithmétiques est déni comme suit : tout Int(n), où n N, est un élément de E tout Ident(s), où s Σ, est un élément de E si e 1, e 2 E, alors Sum(e 1, e 2 ) E si e 1, e 2 E, alors Product(e 1, e 2 ) E Σ est l'alphabet utilisé pour former des noms de variables (par exemple, tous les caractères UNICODE). Éventuellement, l'ensemble des noms de variables possibles dans la syntaxe abstraite est plus riche que les noms de variables permis par la syntaxe concrète. Évaluation d'expressions avec variables Maintenant, l'évaluation d'une expression dépend aussi d'un contexte. La dénition du contexte dépend de l'application. Pour l'évaluation : Il s'agit d'une fonction partielle Σ N aussi appelée environnement de valeurs. Le jugement d'évaluation : Γ e v exprime : Dans l'environnement de valeurs Γ, la valeur de l'expression e est v. Exemple d'un jugement vrai : {x = 3, y = 5 Sum(Product(Ident(x), Int(2)), Ident(y)) 11

2 Règles pour l'évaluation des expressions avec variables Remarques Axiomes : Règles récursives : Γ Int(n) n Γ Ident(s) n si Γ(s) = n Γ e 1 v 1 Γ e 2 v 2 Γ Sum(e 1, e 2 ) v 1 + int v 2 Γ e 1 v 1 Γ e 2 v 2 Γ Product(e 1, e 2 ) v 1 int v 2 Quand s domaine(γ), alors le schéma d'axiome ne s'applique pas à Ident(s). Dans ce cas on ne peut donc pas calculer la valeur d'une expression qui contient Ident(s). Dans les règles récursives, comme Γ e 1 v 1 Γ e 2 v 2 Γ Sum(e 1, e 2 ) v 1 + int v 2 le contexte Γ utilisé dans les hypothèses est le même que dans la conclusion. Le calcul correspondant aux deux hypothèses peut donc se faire en parallèle. Implémentation : ValueEnvironment.java Implémentation : Expression.java I Implémentation des environnements de valeur : table de hachage. i m p o r t j a v a. u t i l. HashMap ; c l a s s V a l u e E n v i r o n m e n t e x t e n d s HashMap<S t r i n g, I n t e g e r > { a b s t r a c t c l a s s E x p r e s s i o n { a b s t r a c t i n t e v a l ( V a l u e E n v i r o n m e n t env ) ; c l a s s I n t e x t e n d s E x p r e s s i o n { p r i v a t e i n t v a l u e ; p u b l i c I n t ( i n t i ) { v a l u e=i ; p u b l i c i n t e v a l ( V a l u e E n v i r o n m e n t env ) { r e t u r n v a l u e ;

3 Implémentation : Expression.java II Implémentation : Expression.java III c l a s s I d e n t e x t e n d s E x p r e s s i o n { p r i v a t e S t r i n g name ; p u b l i c I d e n t ( S t r i n g s ) { name=s ; p u b l i c i n t e v a l ( V a l u e E n v i r o n m e n t env ) { r e t u r n env. g e t ( name ) ; c l a s s Sum e x t e n d s E x p r e s s i o n { p r i v a t e E x p r e s s i o n l e f t ; p r i v a t e E x p r e s s i o n r i g h t ; p u b l i c Sum( E x p r e s s i o n e1, E x p r e s s i o n e2 ) { l e f t =e1 ; r i g h t=e2 ; p u b l i c i n t e v a l ( V a l u e E n v i r o n m e n t env ) { r e t u r n l e f t. e v a l ( env ) + r i g h t. e v a l ( env ) ; c l a s s P r o d u c t e x t e n d s E x p r e s s i o n { p r i v a t e E x p r e s s i o n l e f t ; p r i v a t e E x p r e s s i o n r i g h t ; p u b l i c P r o d u c t ( E x p r e s s i o n e1, E x p r e s s i o n e2 ) { l e f t =e1 ; r i g h t=e2 ; p u b l i c i n t e v a l ( V a l u e E n v i r o n m e n t env ) { Implémentation : Expression.java IV Aectation et Achage Objectif : exécution de programmes. Première étape : séquences d'aectations à des variables, et d'instructions d'achage. r e t u r n l e f t. e v a l ( env ) r i g h t. e v a l ( env ) ; Instruction "print" pour acher, symbole " :=" pour l'aectation. Instructions terminées par le symbole " ;" Fragment de grammaire (le reste est comme avant) : S IL EOF IL ɛ I ; IL I ident := E print E

4 Règles sémantiques Instructions Syntaxe abstraite : L'ensemble I des arbres de syntaxe abstraite de sorte Instruction est déni comme suit : L'exécution d'une instruction peut modier l'environnement. Jugement Γ 1 i Γ 2 : l'exécution de l'instruction (ou de la liste d'instructions) i dans l'environnement Γ 1 résulte dans l'environnement Γ 2. Modélisation des achages : omise. tout Assign(s, e), où s Σ et e E, est un élément de I ; tout Print(e), où e E, est un élément de I. Règles sémantiques : Γ 1 e v Γ 1 Affect(s, e) Γ 1 [s v] Γ 1 Print(e) Γ 1 Remarques Listes d'instructions Les hypothèses des règles peuvent être des jugements qui portent sur des expressions de syntaxe abstraite de sorte diérente que la conclusion (exemple : règle pour Affect). Γ[s v] est l'environnement qui associe à s la valeur v, et qui associe Γ(x) à tout x s. La deuxième règle exprime que l'exécution de Print ne modie pas l'environnement. Syntaxe abstraite : L'ensemble IL des arbres de syntaxe abstraite de sorte InstructionList est déni comme suit : Nil est un élément de IL ; Si il IL et i I, alors Seq(i, il) est un élément de IL. Règles sémantiques : Γ 1 Nil Γ 1 Γ 1 i Γ 2 Γ 2 il Γ 3 Γ 1 Seq(i, il) Γ 3

5 Remarques Implémentation : Instruction.java I La première règle (qui est un axiome) exprime que l'exécution de Nil ne modie pas l'environnement. La deuxième règle impose maintenant un ordre sur l'exécution des deux composantes i et il : Donné initialement : Γ 1 et Seq(i, il). Il faut d'abord exécuter la première hypothèse qui donne, à partir de Γ 1 et de i, l'environnement Γ 2. Puis on peut exécuter la deuxième hypothèse qui donne, à partir de Γ 2 et de il, l'environnement Γ 3. L'implémentation utilise des tables de hachage modiables, il faut bien respecter l'ordre! a b s t r a c t c l a s s I n s t r u c t i o n { a b s t r a c t v o i d e x e c ( V a l u e E n v i r o n m e n t env ) ; c l a s s Assignment e x t e n d s I n s t r u c t i o n { p r i v a t e E x p r e s s i o n e x p r e s s i o n ; p r i v a t e S t r i n g v a r i a b l e ; p u b l i c Assignment ( S t r i n g v, E x p r e s s i o n e ) { e x p r e s s i o n=e ; v a r i a b l e=v ; p u b l i c v o i d e x e c ( V a l u e E n v i r o n m e n t env ) { env. put ( v a r i a b l e, e x p r e s s i o n. e v a l ( env ) ) ; Implémentation : Instruction.java II Implémentation : InstructionList.java I c l a s s P r i n t e x t e n d s I n s t r u c t i o n { p r i v a t e E x p r e s s i o n e x p r e s s i o n ; p u b l i c P r i n t ( E x p r e s s i o n e ) { e x p r e s s i o n=e ; p u b l i c v o i d e x e c ( V a l u e E n v i r o n m e n t env ) { System. out. p r i n t l n ( e x p r e s s i o n. e v a l ( env ) ) ; a b s t r a c t c l a s s I n s t r u c t i o n L i s t { a b s t r a c t v o i d e x e c ( V a l u e E n v i r o n m e n t env ) ; c l a s s N i l e x t e n d s I n s t r u c t i o n L i s t { p u b l i c N i l ( ) { p u b l i c v o i d e x e c ( V a l u e E n v i r o n m e n t env ) { c l a s s Seq e x t e n d s I n s t r u c t i o n L i s t { p r i v a t e I n s t r u c t i o n head ; p r i v a t e I n s t r u c t i o n L i s t r e s t ;

6 Implémentation : InstructionList.java II Expressions et Types p u b l i c Seq ( I n s t r u c t i o n i, I n s t r u c t i o n L i s t i l ) { head=i ; r e s t= i l ; p u b l i c v o i d e x e c ( V a l u e E n v i r o n m e n t env ) { head. e x e c ( env ) ; r e s t. e x e c ( env ) ; Pour l'exécution des programmes avec, par exemple des instructions conditionnelles et des boucles, nous avons besoin des expressions booléennes. On ne peut pas faire la distinction entre expressions entières et expressions booléennes par la grammaire à cause des variables : le type d'une expression contenant des variables dépend maintenant de la déclaration de ces variables. statique et typage dynamique statique et typage dynamique statique : vérication des types après construction de la syntaxe abstraite, et avant l'exécution. Avantage : Sécurité. Une fois le typage vérié par le compilateur on sait que des erreurs de type ne peuvent plus se produire (sauf dans certains langages de programmations qui permettent de contourner le typage). Avantage : le typage peut annoter la syntaxe abstraite par des types des expressions, ce qui simplie l'exécution. Désambiguïson des opérateurs surchargés. Exemples : Java, OCaml,... dynamique : vérication des types pendant l'exécution du programme, quand on applique un opérateur à des valeurs. Avantage : plus de exibilité (mais : exibilité aussi possible dans le cas statique, par ex. polymorphie). Avantage : programmes moins verbeux, car il n'est pas nécessaire de déclarer les variables avec leur type (mais : le même avantage peut être obtenu par une inférence de type). Exemples : Python, bash, Perl.

7 Retour sur quelques langages de programmation Bash Quelques langages de programmation que vous avez vu, ou allez voir, pendant vos études, regardés à la lumière du cours ADS4 : Découpage en unités lexicales à la (JF)LEX? Construction d'un arbre de syntaxe abstraite? Quel système de typage? Analyse syntaxique à la volée (intercalée avec l'exécution). Un mot peut être un mot clé ou pas selon l'endroit où il parait. Possibilité de faire interpréter une chaîne de caractères comme une commande de la shell (commande eval). dynamique : bash ne construit pas d'arbre de syntaxe abstraite avant l'exécution, il n'y a donc aucun moyen pour analyser statiquement le typage. Bash : analyse syntaxique à la volée Bash : si un mot est un mot clé dépend du contexte #! / b i n / bash # l e s deux p r e m i è r e s l i g n e s s o n t ex é c u t é e s a v a n t # que l ' e r r e u r de s y n t a x e e s t d e t e c t é e. echo " h e l l o " echo " b o n j o u r " i f f i #! / b i n / bash f o r do i n f o r do i n echo done ; do echo $do ; done

8 Bash : eval Python #! / b i n / bash # é v a l u a t i o n d ' une cha î ne c o n s t r u i t e p e n d a n t # l ' ex é c u t i o n du programme. i =10 mot=" i f ( ( i > 0 ) ) ; t h e n echo ' i f ' ; ( ( i )); f i " e v a l $mot Analyse syntaxique complète avant exécution. dynamique. mot=$ ( sed e ' s / i f / w h i l e /g ' e ' s / then /do / ' \ e ' s / f i / done / ' <<< $mot ) e v a l "$mot" Python : analyse syntaxique complète Python : typage dynamique #! / u s r / b i n / p y t h o n # e r r e u r de s y n t a x e d e t e c t e e a v a n t e x e c u t i o n p r i n t " h e l l o " p r i n t " b o n j o u r " i f f i #! / u s r / b i n / p y t h o n # l a meme v a r i a b l e p e u t p r e n d r e d e s v a l e u r s de # t y p e d i f f e r e n t. x=42 p r i n t x x=true p r i n t x

9 Python : typage dynamique Java #! / u s r / b i n / p y t h o n # e r r e u r de t y p a g e s e u l e m e n t d e t e c t e e quand # l a b r a n c h e e l s e e s t e x e c u t e e import s y s r e a d=s y s. s t d i n. r e a d l i n e ( ) i f r e a d!= ' coocoo \n ' : p r i n t e l s e : p r i n t ( ' abc ' & ' d e f ' ) Construction de la syntaxe abstraite par le compilateur. statique. L'information de typage doit être écrite explicitement dans le programme. Vérication statique (donc, par le compilateur) des exceptions OCaml OCaml : inférence de types statique Inférence de type : le compilateur infère les types des identicateurs, il n'est pas nécessaire de les écrire dans le programme. On peut écrire dans le programme les types des identicateurs. Avantage : programmes concis, et au même moment sûreté de typage. ( l e t y p e de l a f o n c t i o n f e s t i n f é r é ) l e t somme x y = x + y ; ; ( e r r e u r de t y p a g e ) somme " h e l l o " " b o n j o u r " ; ; Surcharge des opérateurs très limitée. Voir le cours Programmation Fonctionnelle du L3

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

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

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

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs)

Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) Modularité Extensions Suivant les langages de programmation, modules plus avancés : modules imbriqués modules paramétrés par des modules (foncteurs) généricité modules de première classe : peuvent être

Plus en détail

Logiciel Libre Cours 2 Fondements: Programmation

Logiciel Libre Cours 2 Fondements: Programmation Logiciel Libre Cours 2 Fondements: Programmation Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

Plus en détail

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria.

Perl Console. Votre compagnon pour développer en Perl. Les Journées du Perl 2007 16, 17 novembre, Lyon. Alexis Sukrieh <sukria@sukria. Perl Console Votre compagnon pour développer en Perl Les Journées du Perl 2007 16, 17 novembre, Lyon Alexis Sukrieh Plan Pourquoi une console? Le modèle «Read-Eval-Print-Loop» Dépendances

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

É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

Machines Virtuelles. et bazard autour. Rémi Forax

Machines Virtuelles. et bazard autour. Rémi Forax Machines Virtuelles et bazard autour Rémi Forax Avant propos Quelle est la complexité du code ci-dessous? Avec un processeur à 1Ghz, combien de temps le calcul prendra t'il? public static void main(string[]

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

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

Logiciel Libre Cours 3 Fondements: Génie Logiciel

Logiciel Libre Cours 3 Fondements: Génie Logiciel Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli zack@pps.univ-paris-diderot.fr Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/

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

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

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

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2

length : A N add : Z Z Z (n 1, n 2 ) n 1 + n 2 1 Univ. Lille1 - Licence info 3ème année 2013-2014 Expression Logique et Fonctionnelle... Évidemment Cours n o 1 : Introduction à la programmation fonctionnelle 1 Introduction La programmation fonctionnelle

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

Vérification formelle de la plate-forme Java Card

Vérification formelle de la plate-forme Java Card Vérification formelle de la plate-forme Java Card Thèse de doctorat Guillaume Dufay INRIA Sophia Antipolis Cartes à puce intelligentes Java Card : Environnement de programmation dédié. Dernières générations

Plus en détail

Cours Langage C/C++ Programmation modulaire

Cours Langage C/C++ Programmation modulaire Cours Langage C/C++ Programmation modulaire Thierry Vaira BTS IRIS Avignon tvaira@free.fr «v0.1 Rappel Programmation modulaire (1/2) Le découpage d'un programme en sous-programmes est appelée programmation

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

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

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

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

Télécom Nancy Année 2013-2014

Télécom Nancy Année 2013-2014 Télécom Nancy Année 2013-2014 Rapport 1A Ajout du langage C dans la Programmer's Learning Machine GIANNINI Valentin Loria 615, rue du Jardin Botanique 54600, Villers-Lès-Nancy Maître de stage : QUINSON

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Classes et Objets en Ocaml.

Classes et Objets en Ocaml. Classes et Objets en Ocaml. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/2/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/2/ Cours Exercices Slide 1 1. Objets 2.

Plus en détail

Gestion mémoire et Représentation intermédiaire

Gestion mémoire et Représentation intermédiaire Gestion mémoire et Représentation intermédiaire Pablo de Oliveira March 23, 2015 I Gestion Memoire Variables locales Les variables locales sont stockées: Soit dans un registre,

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

Principes des langages de programmation INF 321. Eric Goubault

Principes des langages de programmation INF 321. Eric Goubault Principes des langages de programmation INF 321 Eric Goubault 24 mars 2014 2 Table des matières 1 Introduction 7 2 Programmation impérative 11 2.1 Variables et types........................... 11 2.2 Codage

Plus en détail

Cours Composant 2. Qualité logicielle et spécications algébriques

Cours Composant 2. Qualité logicielle et spécications algébriques UPMC Paris Universitas Master Informatique STL Cours Composant 2. Qualité logicielle et spécications algébriques c 2005-2008 Frédéric Peschanski UPMC Paris Universitas 24 février 2008 c 2005-2008 Frédéric

Plus en détail

Qu est-ce qu un résumé?

Qu est-ce qu un résumé? Méthodologie d analyse et de mémoire Résumer un texte Quelques astuces et techniques Licence GSINFO Département GEII IUT d Évry N. Abchiche Mimouni 1 Qu est-ce qu un résumé? Exprime de façon brève, les

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

É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

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

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

Java - la plateforme

Java - la plateforme Java - la plateforme Java la plateforme Java? VM GC JIT Java Aujourd'hui 3 environnements d'exécutions différents Java ME (Micro Edition) pour PDA, téléphone Android (Java SE moins certain paquetages)

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

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

Entraînement au concours ACM-ICPC

Entraî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étail

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018

UFR d Informatique. FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 UFR d Informatique FORMATION MASTER Domaine SCIENCES, TECHNOLOGIE, SANTE Mention INFORMATIQUE 2014-2018 Objectif L UFR d informatique propose au niveau du master, deux spécialités sous la mention informatique

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 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

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2.

Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2. Master Modélisation Aléatoire Paris VII, Cours Méthodes de Monte Carlo en nance et C++, TP n 2. Techniques de correction pour les options barrières 25 janvier 2007 Exercice à rendre individuellement lors

Plus en détail

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

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Génie Logiciel avec Ada. 4 février 2013

Génie Logiciel avec Ada. 4 février 2013 Génie Logiciel 4 février 2013 Plan I. Généralités II. Structures linéaires III. Exceptions IV. Structures arborescentes V. Dictionnaires I. Principes II. Notions propres à la POO I. Principes Chapitre

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

Propagation sur réseau statique et dynamique

Propagation sur réseau statique et dynamique Université de la Méditerranée UFR Sciences de Luminy Rapport de stage informatique pour le Master 2 de Physique, Parcours Physique Théorique et Mathématique, Physique des Particules et Astroparticules.

Plus en détail

IFT2255 : Génie logiciel

IFT2255 : Génie logiciel IFT2255 : Génie logiciel Chapitre 6 - Analyse orientée objets Section 1. Introduction à UML Julie Vachon et Houari Sahraoui 6.1. Introduction à UML 1. Vers une approche orientée objet 2. Introduction ti

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

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

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

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

Vérification et Validation

Vérification et Validation Vérification et Validation Génie Logiciel Master 1 II Mihaela Sighireanu Objectifs I. Introduire la vérification et la validation (V&V) du logiciel et comprendre leurs différences. II.Définir le plan de

Plus en détail

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09 INFORMATIQUE & WEB Code du diplôme : CP09 Passionné par l informatique et le web, vous souhaitez obtenir une certification dans un domaine porteur et enrichir votre CV? PARCOURS CERTIFICAT PROFESSIONNEL

Plus en détail

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML

basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML basée sur le cours de Bertrand Legal, maître de conférences à l ENSEIRB www.enseirb.fr/~legal Olivier Augereau Formation UML http://olivier-augereau.com Sommaire Introduction I) Les bases II) Les diagrammes

Plus en détail

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données

Argument-fetching dataflow machine de G.R. Gao et J.B. Dennis (McGill, 1988) = machine dataflow sans flux de données EARTH et Threaded-C: Éléments clés du manuel de références de Threaded-C Bref historique de EARTH et Threaded-C Ancêtres de l architecture EARTH: Slide 1 Machine à flux de données statique de J.B. Dennis

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts

TP : Shell Scripts. 1 Remarque générale. 2 Mise en jambe. 3 Avec des si. Systèmes et scripts E3FI ESIEE Paris Systèmes et scripts B. Perret TP : Shell Scripts 1 Remarque générale Lorsque vous cherchez des informations sur Internet, n'oubliez pas que langage de shell script que nous avons vu correspond

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

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

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

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

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

Éléments de programmation et introduction à Java

Éléments de programmation et introduction à Java Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20 Les différents langages informatiques

Plus en détail

Programmation. fonctionnelle, impérative, logique et orientée objet

Programmation. fonctionnelle, impérative, logique et orientée objet Programmation fonctionnelle, impérative, logique et orientée objet Introduction Les langages de programmation permettent de décrire des calculs de façon plus abstraite qu'un programme machine. Les programmes

Plus en détail

Algorithmes d'apprentissage

Algorithmes d'apprentissage Algorithmes d'apprentissage 1 Agents qui apprennent à partir d'exemples La problématique : prise de décision automatisée à partir d'un ensemble d'exemples Diagnostic médical Réponse à une demande de prêt

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

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Informatique : Création de site Web Master 2 ANI TP 1

Informatique : Création de site Web Master 2 ANI TP 1 Informatique : Création de site Web Master 2 ANI TP 1 Objectifs du TP : créer des pages Web en HTML EXERCICE I : AFFICHAGE DE DOCUMENT HTML 1. Ouvrez le bloc-note, recopiez-y le document suivant :

Plus en détail

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e

Expression des contraintes. OCL : Object C o n t r a i n t L a n g u a g e P r o b l é m a t i q u e OCL : O b j e c t C o n s t r a i n t L a n g u a g e Le langage de contraintes d UML Les différents diagrammes d UML permettent d exprimer certaines contraintes graphiquement

Plus en détail

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/2011. 1.1 Présentation. 1.2 Ressources Master Maths Finances 2010/2011 Data Mining janvier 2011 RapidMiner 1 Introduction 1.1 Présentation RapidMiner est un logiciel open source et gratuit dédié au data mining. Il contient de nombreux outils

Plus en détail

SQL Parser XML Xquery : Approche de détection des injections SQL

SQL Parser XML Xquery : Approche de détection des injections SQL SQL Parser XML Xquery : Approche de détection des injections SQL Ramahefy T.R. 1, Rakotomiraho S. 2, Rabeherimanana L. 3 Laboratoire de Recherche Systèmes Embarqués, Instrumentation et Modélisation des

Plus en détail

F. Barthélemy. 17 mai 2005

F. Barthélemy. 17 mai 2005 Typage de la généricité en Java F. Barthélemy 17 mai 2005 1 Le shéma général La g én éricit é en Java est un ajout r éalis é sur un langage existant depuis d éjà une dizaine d ann ées, avec des contraintes

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

modules & compilation

modules & compilation Programmation fonctionnelle avec OCaml 3ème séance, 19 mars 2015 modules & compilation samuel.hornus@inria.fr http ://www.loria.fr/ shornus/ocaml/ Modules Un module regroupe un ensemble de définitions

Plus en détail

Bernard HAMM, Évelyne LAVOISIER

Bernard HAMM, Évelyne LAVOISIER 92 MAÎTRISE DE PROGICIELS DE GESTION DE BASES DE DONNÉES ET DE TRAITEMENT DE TEXTE Compte rendu d'un stage à l'usage des professeurs de sciences sociales. Ce stage a été programmé A la demande et avec

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

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier

Utilisation de l analyse statique comme outil d aide au développement. par. Yves Gauthier Utilisation de l analyse statique comme outil d aide au développement par Yves Gauthier essai présenté au Département d'informatique en vue de l'obtention du grade de maître en technologies de l information

Plus en détail

Chapitre 1 Qu est-ce qu une expression régulière?

Chapitre 1 Qu est-ce qu une expression régulière? Chapitre 1 Qu est-ce qu une expression régulière? Les ordinateurs n ont pas du tout la même conception des textes que nous : pour nous, un texte est un ensemble d idées couchées sur papier. Nous nous en

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

Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" ;; let appliquer = List.map ;; (* affichage d'un noeud *)

Correction Code nécessaire à la compilation : let bs =\\ let nl = \n ;; let appliquer = List.map ;; (* affichage d'un noeud *) Correction Code nécessaire à la compilation : let bs ="\\" let nl = "\n" let appliquer = List.map (* affichage d'un noeud *) let (noeud_vers_ch : int -> string) = function n -> "fib(" ^ (string_of_int

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Optimisation de logiciels de modélisation sur centre de calcul

Optimisation de logiciels de modélisation sur centre de calcul Optimisation de logiciels de modélisation sur centre de calcul Gérald Monard Pôle de Chimie Théorique http://www.monard.info/ Introduction Les ordinateurs sont des appareils électroniques permettant d

Plus en détail

Bases de programmation. Cours 5. Structurer les données

Bases de programmation. Cours 5. Structurer les données Bases de programmation. Cours 5. Structurer les données Pierre Boudes 1 er décembre 2014 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. Types char et

Plus en détail

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS Depuis SAS 9.2 TS2M3, SAS propose un nouveau langage de programmation permettant de créer et gérer des tables SAS : le DS2 («Data Step 2»). Ces nouveautés

Plus en détail

Peut-on tout programmer?

Peut-on tout programmer? Chapitre 8 Peut-on tout programmer? 8.1 Que peut-on programmer? Vous voici au terme de votre initiation à la programmation. Vous avez vu comment représenter des données de plus en plus structurées à partir

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION En C

ALGORITHMIQUE ET PROGRAMMATION En C Objectifs ALGORITHMIQUE ET PROGRAMMATION Une façon de raisonner Automatiser la résolution de problèmes Maîtriser les concepts de l algorithmique Pas faire des spécialistes d un langage Pierre TELLIER 2

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

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006

MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 MOTEUR DE WORKFLOW Mise en oeuvre d'openwfe Version 1.0-25 septembre 2006 SOMMAIRE 1 AVANT PROPOS...3 2 PRÉSENTATION...4 2.1 Quelques définitions...4 2.2 Besoins d'intégration d'un moteur de workflow...4

Plus en détail

Chapitre 1 : Introduction aux bases de données

Chapitre 1 : Introduction aux bases de données Chapitre 1 : Introduction aux bases de données Les Bases de Données occupent aujourd'hui une place de plus en plus importante dans les systèmes informatiques. Les Systèmes de Gestion de Bases de Données

Plus en détail

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51 PLAN DU COURS Introduction au langage C Notions de compilation Variables, types, constantes, tableaux, opérateurs Entrées sorties de base Structures de

Plus en détail

Pourquoi R devient incontournable en recherche, enseignement et développement

Pourquoi R devient incontournable en recherche, enseignement et développement Pourquoi R devient incontournable en recherche, enseignement et développement Rencontre R, BoRdeaux 2012 Plan Introduction Recherche Enseignement Développement (entreprise) Conclusions Les logiciels de

Plus en détail

TP3 : Creation de tables 1 seance

TP3 : Creation de tables 1 seance Universite de Versailles IUT de Velizy - Algorithmique 2005/2006 TP3 : Creation de tables 1 seance Objectif : Creation et modication de tables dans une base de donnees. Avant de commencer ce TP, terminer

Plus en détail

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN

MATHÉMATIQUES. Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN MATHÉMATIQUES Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN Mars 2001 MATHÉMATIQUES Les préalables pour l algèbre MAT-P020-1 DÉFINITION DU DOMAINE D EXAMEN Mars 2001 Direction

Plus en détail

Générer du code à partir d une description de haut niveau

Générer du code à partir d une description de haut niveau Cedric Dumoulin Générer du code à partir d une description de haut niveau Ce projet vise à fournir un environnement de développement permettant de modéliser des UI Android à un haut niveau d abstraction,

Plus en détail