Logique temporelle (X-ENS 2013)
|
|
|
- Arsène Girard
- il y a 8 ans
- Total affichages :
Transcription
1 option informatique Logique temporelle (-ENS 2013) Durée : 4 heures On étudie dans ce problème un formalisme logique, la logique temporelle, permettant de définir des formules auxquelles sont associés des langages de mots. Ainsi, pour toute formule ϕ de la logique temporelle et pour tout mot u on définira la propriété que le mot u satisfait la formule ϕ, et à toute formule ϕ on associera l ensemble L ϕ des mots qui satisfont ϕ. L objet principal de ce problème est de s intéresser aux propriétés de ces langages L ϕ. La partie I introduit la logique temporelle et donne des exemples de formules. La partie II introduit une forme normale pour les formules. La partie III est consacrée à montrer que pour toute formule l ensemble de mots associés est un langage rationnel. Enfin, la partie IV étudie d une part le problème de la satisfiabilité d une formule (étant donnée une formule ϕ, existe-t-il un mot satisfaisant ϕ?) et d autre part l expressivité des formules. Les parties peuvent être traitées indépendamment. Néanmoins, chaque partie utilise des notations et des fonctions introduites dans les parties précédentes. La complexité, ou le coût, d un programme P (fonction ou procédure) est le nombre d opérations élémentaires (addition, soustraction, multiplication, division, affectation, etc.) nécessaires à l exécution de P. Lorsque cette complexité dépend d un paramètre n, on dira que P a une complexité en O(f (n)), s il existe K > 0 tel que la complexité de P est au plus Kf (n), pour tout n. Lorsqu il est demandé de garantir une certaine complexité, le candidat devra justifier cette dernière si elle ne se déduit pas directement de la lecture du code. Partie I. Préliminaires Un alphabet est un ensemble fini A dont les éléments sont appelés lettres. Un mot sur un alphabet A est une suite finie d éléments de A ; on notera ε le mot vide (c est-à-dire la suite de longueur nulle) et on définira la longueur u d un mot non vide u = a 0 a l 1 comme valant l. Si A est un alphabet, on notera A l ensemble des mots sur A et A + = A \ {ε l ensemble des mots non vides sur A. Dans la suite, les lettres d un mot de longueur l sont indicées de 0 à l 1. En Caml, nous représenterons les mots à l aide du type string. Les fonctions suivantes pourront être utilisées dans la suite. Si mot est de type string et i est de type int alors mot.[i] est de type char et donne la lettre d indice i de mot. Par exemple : "bonjour".[3] renvoie j. string_length de type string > int renvoie la longueur d un mot. Dans tout le problème on se fixe un alphabet fini A (on pourra imaginer qu il s agit des lettres minuscules de l alphabet usuel). On souhaite définir des ensembles de mots sur l alphabet A à l aide de formules logiques. Pour cela, on définit, pour chaque lettre a A, un prédicat p a, qui permettra de tester si la lettre à une position donnée est un a. Pour construire des formules à partir de ces prédicats, on utilise les connecteurs booléens (ou), (et) et (non) ainsi que les connecteurs temporels (juste après), G (désormais), F (un jour) et U (jusqu à). Les formules de la logique temporelle sont alors construites par induction comme suit. Si p a est un prédicat, et si ϕ, ψ sont des formules de la logique temporelle, toutes les formules seront construites selon la syntaxe suivante : 1. VRAI 2. p a 3. ( ϕ) 4. (ϕ ψ) 5. (ϕ ψ) 6. (ϕ) 7. (Gϕ) 8. (Fϕ) 9. (ϕ U ψ) Toutes les formules seront construites de la façon précédente, en omettant les parenthèses si celles-ci sont inutiles. Par exemple,, p a U et F(Gp a ) sont des formules. page 1
2 Nous allons maintenant définir le sens (ou la sémantique) des formules. Soit un mot u et soit une formule de la logique temporelle ϕ. On définit, pour tout i 0, la propriété «le mot u satisfait la formule ϕ à la position i», ce qui sera noté (u,i) = ϕ, comme suit. Si i u, on n a pas (u,i) = ϕ : une formule ne peut être vraie qu à une position du mot ; en particulier le mot vide ne satisfait aucune formule (pas même la formule VRAI). Si i u 1, on note u = a 0 a u 1 et on raisonne alors par induction sur la structure de ϕ. 1. (u,i) = VRAI. 2. (u,i) = p a si et seulement si a i = a. 3. (u,i) = ( ϕ) si et seulement si l on n a pas (u,i) = ϕ. 4. (u,i) = (ϕ ψ) si et seulement si (u,i) = ϕ ou (u,i) = ψ. 5. (u,i) = (ϕ ψ) si et seulement si (u,i) = ϕ et (u,i) = ψ. 6. (u,i) = (ϕ) si et seulement si (u,i + 1) = ϕ. Notez que si i = u 1, alors on ne peut avoir (u,i) = (ϕ). 7. (u,i) = (Gϕ) si et seulement si (u,j) = ϕ pour tout i j u (u,i) = (Fϕ) si et seulement si j tel que i j u 1 et (u,j) = ϕ. 9. (u,i) = (ϕ U ψ) si et seulement si j tel que i j u 1, (u,j) = ψ et (u,k) = ϕ pour tout k tel que i k < j. On notera (u,i) = ϕ si et seulement si l on n a pas (u,i) = ϕ. On notera u = ϕ (et on dira alors que ϕ est vraie pour u) le fait que (u, 0) = ϕ, et on notera u = ϕ le fait que (u, 0) = ϕ. Par exemple : (aaabcbab,2) = car la lettre d indice 3 de aaabcbab est un b. aaabcbab = p a U car la lettre d indice 3 est un b et toutes les lettres qui la précèdent sont des a. aaabcbab = F(Gp a ) car il n existe pas d indice tel qu à partir de cet indice il n y ait plus que des a (en effet, la dernière lettre est un b). Question 1. On pose u = bbbcbbaa. Pour chacun des énoncés ci-dessous dire s il est vrai en justifiant brièvement votre réponse. (a) (u,4) = G(p a ) (b) (u,2) = (G(p a p c )) (c) (u,1) = F(G(p a )) (d) u = (p a ) U (p a p c ) Question 2. Écrire une formule ϕ telle que u = ϕ si et seulement si u contient un a suivi plus tard d un b. Par exemple on aura ccacccba = ϕ tandis que ccacccaa = ϕ. Question 3. Écrire une formule Fin telle que (u,i) = Fin si et seulement si i = u 1 (c est-à-dire si et seulement si i est l indice de la dernière lettre de u). Dans la suite, on pourra utiliser Fin comme une boîte noire. Question 4. Écrire une formule ϕ telle que u = ϕ si et seulement si u se termine par un a. Question 5. Écrire une formule ϕ telle que u = ϕ si et seulement si u = ababab ab, c est-à-dire si et seulement s il existe k 1 tel que u = u 0 u 1 u 2k 1 et, pour tout i tel que 0 i 2k 1 on a u i = a si i est pair et u i = b si i est impair. Question 6. Pour cette question, on pose A = {a,b,c. Soit ϕ = F(p a (G( p a )) F( p c )). Décrire un automate fini (pouvant être non-déterministe) reconnaissant le langage L ϕ = { u A + u = ϕ. Deux formules ϕ et ψ sont équivalentes, ce que l on note ϕ ψ, si pour tout mot u, on a u = ϕ si et seulement si u = ψ. Autrement dit, les formules ϕ et ψ sont vraies pour les mêmes mots. Question 7. Soient ϕ et ψ deux formules quelconques. Montrer que l on a ϕ U ψ ψ (ϕ ((ϕ U ψ))). Partie II. Normalisation de formules Afin de manipuler des formules de la logique temporelle, on va représenter ces dernières par des arbres. Outre les prédicats (p a ) a A et la formule VRAI nous avons des connecteurs unaires (,,G et F) et des connecteurs binaires (, et U). À la manière des expressions arithmétiques, on représente une formule de la logique temporelle par un arbre dont les feuilles sont étiquetées soit par un prédicat p a soit par VRAI, et dont les nœuds internes sont étiquetés par un connecteur unaire (un tel nœud aura alors un seul fils) ou par un connecteur binaire (un tel nœud aura alors deux fils). Dans la suite, on confondra fréquemment une formule avec sa représentation par un arbre. page 2
3 Par exemple, la formule (F(G(p a ))) sera représentée par l arbre ci-dessous : F G p a Le type des formules est défini comme suit : type formule = VRAI Predicat of char NON of formule ET of formule * formule OU of formule * formule of formule G of formule F of formule U of formule * formule ;; On définit la taille d une formule par le nombre de nœuds de l arbre qui la représente. En particulier, la formule VRAI et les formules réduites à un prédicat p a sont de taille 1. Question 8. Écrire une fonction taille qui prend en argument une formule et renvoie sa taille. t a i l l e : f o r m u l e > i n t Question 9. Donner, pour toute formule ϕ n utilisant pas le connecteur F, une formule équivalente à F ϕ qui n utilise pas le connecteur temporel F. En déduire une fonction normalisef qui prend en entrée une formule quelconque et renvoie une formule équivalente qui n utilise pas le connecteur F. Quelle est la complexité de votre algorithme? n o r m a l i s e F : f o r m u l e > f o r m u l e Une formule qui utilise comme seuls connecteurs temporels le et le U sera qualifiée de normalisée. Question 10. Montrer que toute formule est équivalente à une formule normalisée. Donner une fonction normalise de complexité linéaire qui prend en entrée une formule quelconque et renvoie une formule équivalente normalisée. n o r m a l i s e : f o r m u l e > f o r m u l e Dans toute la suite du problème, on supposera que l on travaille avec des formules normalisées. Question 11. Écrire une fonction récursive veriten qui prend en argument un mot u, un indice i et une formule (normalisée) ϕ et détermine si (u,i) = ϕ. Justifier que votre fonction termine et indiquer si elle est exponentielle ou polynomiale en la taille de ses arguments. v e r i t e N : s t r i n g > i n t > f o r m u l e > b o o l Partie III. Rationalité des langages décrits par des formules Le but de cette partie est de montrer qu étant donnée une formule ϕ, l ensemble des mots pour lesquels ϕ est vraie est un langage rationnel. Soit ϕ une formule représentée par un arbre t ϕ. Une sous-formule de ϕ est une formule représentée par un sous-arbre de t ϕ. Par exemple si l on considère la formule ϕ = (((p a U ))), représentée par l arbre ci-dessous, page 3
4 U p a l ensemble de ses sous-formules est : { (((pa U ))), ((p a U )), (p a U ), p a U,, p a On souhaite représenter des ensembles de sous-formules d une formule donnée. Pour cela, on va utiliser des arbres dont les nœuds sont étiquetés (en plus des symboles de la logique) par des booléens. Par exemple pour la formule (((p a U ))) représentée ci-dessus, l ensemble de sous-formules {p a, (p a U ) sera représenté par l arbre ci-dessous., false, false,false, true U, false p a,true,false Une sous-formule ψ appartient à l ensemble représenté par un arbre de type ensemble s il existe un nœud de l arbre étiqueté par true et dont le sous-arbre «correspond» à la formule ψ (c est-à-dire qu après suppression des booléens, le sous-arbre est égal à l arbre codant ψ). Le type ensemble est défini comme suit. type ensemble == eformule * bool and eformule = AVRAI APredicat of char ANON of ensemble AET of ensemble * ensemble AOU of ensemble * ensemble A of ensemble AU of ensemble * ensemble ;; On rappelle que l on ne travaille plus qu avec des formules normalisées. Question 12. Écrire une fonction initialise qui prend en argument une formule ϕ et renvoie un ensemble représentant l ensemble vide de sous-formules de ϕ. i n i t i a l i s e : f o r m u l e > ensemble Question 13. Soient u un mot, ϕ une formule et S l ensemble des sous-formules de ϕ vraies pour u. Soit a une lettre. Montrer que l ensemble S des sous-formules de ϕ vraies pour a u peut être déterminé uniquement en fonction de a et de S (en particulier indépendamment de u). Question 14. En vous basant sur la question 13, écrire une fonction maj qui prend en argument un ensemble S (représentant un ensemble de sous-formules d une formule ϕ) et une lettre a et renvoie un ensemble S tel que : pour tout mot u si S représente l ensemble { ψ u = ψ et ψ sous-formule de ϕ des sous-formules de ϕ vraies pour u alors S représente l ensemble { ψ a u = ψ et ψ sous-formule de ϕ des sous-formules de ϕ vraies pour a u. Justifier la terminaison et préciser la complexité (dans la taille de la formule) de votre fonction. Par exemple si l on reprend l exemple de la formule ϕ = (((p a U ))) (arbre à gauche ci-dessous) et de l ensemble S (au centre ci-dessous), alors maj S b devra renvoyer l ensemble S (à droite ci-dessous). page 4
5 , false, true, false,false, true,true, true, false U U, false U, true p a p a,true,false p a,false,true maj : ensemble > c h a r > ensemble Question 15. Écrire une fonction sousformulesvraies qui prend en argument une formule ϕ et un mot et renvoie un ensemble décrivant les sous-formules ψ de ϕ telles que u = ψ. Votre fonction devra avoir une complexité polynomiale dans la taille de la formule et dans la taille du mot. Justifier la terminaison et préciser la complexité (dans la taille de la formule et la taille du mot). s o u s F o r m u l e s V r a i e s : f o r m u l e > s t r i n g > ensemble Question 16. En déduire une fonction veritebis qui teste si une formule donnée est vraie à la première position d un mot donné. v e r i t e B i s : f o r m u l e > s t r i n g > b o o l Soit ϕ une formule. On associe à ϕ un langage de mots L ϕ A + en posant L ϕ = { u A + u = ϕ Soit un mot u = a 0 a l 1. On note ũ le mot miroir de u : ũ = a l 1 a l 2 a 0. Soit un langage L A +, on notera L = { ũ u L. Question 17. En vous inspirant de la fonction maj de la question 14, montrer que pour toute formule ϕ, le langage L ϕ est reconnu par un automate déterministe complet. Donner un majorant du nombre d états d un tel automate. Question 18. En déduire que pour toute formule ϕ, le langage L ϕ est reconnu par un automate fini. Donner un majorant du nombre d états d un tel automate (automate qui pourra être pris non-déterministe). Partie IV. Satisfiabilité et expressivité On rappelle que désormais les formules considérées sont normalisées (elles n utilisent donc ni le F ni le G). Dans toute cette partie, on considérera que A = {a,b sauf mention explicite. Le but de cette partie est dans un premier temps d écrire un programme qui prend en entrée une formule ϕ et renvoie true si et seulement s il existe u A + tel que u = ϕ. Dans un second temps, on montre qu il existe un langage accepté par un automate fini qui ne peut être décrit par aucune formule de la logique temporelle. Question 19. Soit A un automate fini déterministe sur l alphabet A. Décrire informellement un algorithme qui calcule la liste des états atteignables depuis l état initial (c est-à-dire l ensemble des états q tels qu il existe un mot qui lu depuis l état initial termine dans q). Question 20. Soit ϕ une formule satisfiable, c est-à-dire pour laquelle existe un mot u A + tel que u = ϕ. Soit u min un plus court u tel que u = ϕ. Majorer la longueur de u min en fonction de la taille de ϕ. page 5
6 Pour la question suivante, on pourra utiliser des listes de couples formés d un ensemble et d une chaîne de caractères. En Caml, une telle liste aura le type (ensemble * string) list. Question 21. Écrire une fonction satisfiable qui prend en argument une formule ϕ et renvoie la chaîne "Formule non satisfiable" s il n existe pas de u A + tel que u = ϕ et sinon renvoie un u A + tel que u = ϕ. La complexité de votre fonction devra être en O(2 α ϕ β ) où α et β sont deux constantes que vous préciserez. Il est permis de décomposer la réponse en quelques fonctions auxiliaires. On rappelle ici que l on suppose que A = {a,b. Donner dans un premier temps les idées clés de l algorithme avant d écrire le code. s a t i s f i a b l e : f o r m u l e > s t r i n g Question 22. Pour cette question, on pose A = {a et on note a i le mot formé de i lettres a, par exemple a 4 = aaaa. Montrer qu il n existe pas de formule ϕ telle que L ϕ = { a 2i i 1. On pourra montrer que pour toute formule ϕ, il existe N 0 tel que l on ait l une des deux situations suivantes : pour tout n N, a n = ϕ ; pour tout n N, a n = ϕ. page 6
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
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
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
Initiation à la Programmation en Logique avec SISCtus Prolog
Initiation à la Programmation en Logique avec SISCtus Prolog Identificateurs Ils sont représentés par une suite de caractères alphanumériques commençant par une lettre minuscule (les lettres accentuées
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
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
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
Cours d initiation à la programmation en C++ Johann Cuenin
Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................
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
Travaux pratiques. Compression en codage de Huffman. 1.3. Organisation d un projet de programmation
Université de Savoie Module ETRS711 Travaux pratiques Compression en codage de Huffman 1. Organisation du projet 1.1. Objectifs Le but de ce projet est d'écrire un programme permettant de compresser des
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
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
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
Algorithmique et programmation : les bases (VBA) Corrigé
PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi
TD3: tableaux avancées, première classe et chaînes
TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première
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........
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
# let rec concat l1 l2 = match l1 with [] -> l2 x::l 1 -> x::(concat l 1 l2);; val concat : a list -> a list -> a list = <fun>
94 Programmation en OCaml 5.4.8. Concaténation de deux listes Définissons maintenant la fonction concat qui met bout à bout deux listes. Ainsi, si l1 et l2 sont deux listes quelconques, concat l1 l2 constitue
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
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
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
Structurer ses données : les tableaux. Introduction à la programmation
Structurer ses données : les tableaux Introduction à la programmation Plan du document Introduction Introduire la notion de type Types primitifs Types composés Tableaux de type primitif Page 2 Notion de
Informatique Générale
Informatique Générale Guillaume Hutzler Laboratoire IBISC (Informatique Biologie Intégrative et Systèmes Complexes) [email protected] Cours Dokeos 625 http://www.ens.univ-evry.fr/modx/dokeos.html
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 -
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
Programmation linéaire
1 Programmation linéaire 1. Le problème, un exemple. 2. Le cas b = 0 3. Théorème de dualité 4. L algorithme du simplexe 5. Problèmes équivalents 6. Complexité de l Algorithme 2 Position du problème Soit
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,
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
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-
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
Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.
1 Définitions, notations Calcul matriciel Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes. On utilise aussi la notation m n pour le
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..
Cours 1 : La compilation
/38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas [email protected] PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà
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
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
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
Algorithme. Table des matières
1 Algorithme Table des matières 1 Codage 2 1.1 Système binaire.............................. 2 1.2 La numérotation de position en base décimale............ 2 1.3 La numérotation de position en base binaire..............
Utilisation d objets : String et ArrayList
Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons
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.
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
MPI Activité.10 : Logique binaire Portes logiques
MPI Activité.10 : Logique binaire Portes logiques I. Introduction De nombreux domaines font appel aux circuits logiques de commutation : non seulement l'informatique, mais aussi les technologies de l'asservissement
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
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
GOL502 Industries de services
GOL502 Industries de services Conception d un service Partie IIb Version 2013 Introduction Conception d un service partie IIb Nous verrons dans ce chapitre Modélisation d un service; Langage de modélisation
Corrigé des TD 1 à 5
Corrigé des TD 1 à 5 1 Premier Contact 1.1 Somme des n premiers entiers 1 (* Somme des n premiers entiers *) 2 program somme_entiers; n, i, somme: integer; 8 (* saisie du nombre n *) write( Saisissez un
Table des matières. Introduction
Table des matières 1 Formalisation des virus informatiques 2 1.1 Les machines de Turing........................ 2 1.2 Formalisation de Fred Cohen..................... 2 1.2.1 Définition d un virus informatique..............
Rappels Entrées -Sorties
Fonctions printf et scanf Syntaxe: écriture, organisation Comportement Données hétérogènes? Gestion des erreurs des utilisateurs 17/11/2013 Cours du Langage C [email protected] ibrahimguelzim.atspace.co.uk
Cours Informatique Master STEP
Cours Informatique Master STEP Bases de la programmation: Compilateurs/logiciels Algorithmique et structure d'un programme Programmation en langage structuré (Fortran 90) Variables, expressions, instructions
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é
Conversion d un entier. Méthode par soustraction
Conversion entre bases Pour passer d un nombre en base b à un nombre en base 10, on utilise l écriture polynomiale décrite précédemment. Pour passer d un nombre en base 10 à un nombre en base b, on peut
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 [email protected]
Limites finies en un point
8 Limites finies en un point Pour ce chapitre, sauf précision contraire, I désigne une partie non vide de R et f une fonction définie sur I et à valeurs réelles ou complees. Là encore, les fonctions usuelles,
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.
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
É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
TP : Gestion d une image au format PGM
TP : Gestion d une image au format PGM Objectif : L objectif du sujet est de créer une classe de manipulation d images au format PGM (Portable GreyMap), et de programmer des opérations relativement simples
1 Recherche en table par balayage
1 Recherche en table par balayage 1.1 Problème de la recherche en table Une table désigne une liste ou un tableau d éléments. Le problème de la recherche en table est celui de la recherche d un élément
Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004
Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)
Chp. 4. Minimisation d une fonction d une variable
Chp. 4. Minimisation d une fonction d une variable Avertissement! Dans tout ce chapître, I désigne un intervalle de IR. 4.1 Fonctions convexes d une variable Définition 9 Une fonction ϕ, partout définie
Quelques éléments de compilation en C et makefiles
Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable
Plus 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
MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C
Haute Ecole d Ingénierie et de Gestion Du Canton du Vaud MICROINFORMATIQUE NOTE D APPLICATION 1 (REV. 2011) ARITHMETIQUE EN ASSEMBLEUR ET EN C Programmation en mode simulation 1. DOCUMENTS DE RÉFÉRENCE...
INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores
INTRODUCTION AUX SYSTEMES D EXPLOITATION TD2 Exclusion mutuelle / Sémaphores Exclusion mutuelle / Sémaphores - 0.1 - S O M M A I R E 1. GENERALITES SUR LES SEMAPHORES... 1 1.1. PRESENTATION... 1 1.2. UN
TP1 : Initiation à Java et Eclipse
TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les
UE Programmation Impérative Licence 2ème Année 2014 2015
UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie [email protected] 2 Programmation Impérative
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
Introduction à MATLAB R
Introduction à MATLAB R Romain Tavenard 10 septembre 2009 MATLAB R est un environnement de calcul numérique propriétaire orienté vers le calcul matriciel. Il se compose d un langage de programmation, d
1 Introduction et installation
TP d introduction aux bases de données 1 TP d introduction aux bases de données Le but de ce TP est d apprendre à manipuler des bases de données. Dans le cadre du programme d informatique pour tous, on
Résolution d équations non linéaires
Analyse Numérique Résolution d équations non linéaires Said EL HAJJI et Touria GHEMIRES Université Mohammed V - Agdal. Faculté des Sciences Département de Mathématiques. Laboratoire de Mathématiques, Informatique
Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"
TD1 : traduction en Visual BASIC des exemples du cours sur les structures de contrôle de l'exécution page 1 'TRADUCTION EN VBA DES EXEMPLES ALGORITHMIQUES SUR LES STRUCTURES 'DE CONTROLE DE L'EXECUTION
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
Langage SQL (1) 4 septembre 2007. IUT Orléans. Introduction Le langage SQL : données Le langage SQL : requêtes
Langage SQL (1) Sébastien Limet Denys Duchier IUT Orléans 4 septembre 2007 Notions de base qu est-ce qu une base de données? SGBD différents type de bases de données quelques systèmes existants Définition
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.
Arithmétique binaire. Chapitre. 5.1 Notions. 5.1.1 Bit. 5.1.2 Mot
Chapitre 5 Arithmétique binaire L es codes sont manipulés au quotidien sans qu on s en rende compte, et leur compréhension est quasi instinctive. Le seul fait de lire fait appel au codage alphabétique,
Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.
Université Montpellier-II UFR des Sciences - Département Informatique - Licence Informatique UE GLIN302 - Programmation Applicative et Récursive Cours No 3 : Identificateurs, Fonctions, Premières Structures
PROJET ALGORITHMIQUE ET PROGRAMMATION II
PROJET 1 ALGORITHMIQUE ET PROGRAMMATION II CONTENU DU RAPPORT A RENDRE : o Fiche signalétique du binôme o Listing des différents fichiers sources o CD sources o Il sera tenu compte de la présentation du
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.
ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview. Sciences et Technologies de l Industrie et du Développement Durable Formation des enseignants parcours : ET24 Modèle de
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 [email protected] Université Paris Diderot Paris 7 2/65 1. Sortez un appareil qui peut se rendre
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION
LES CARTES À POINTS : POUR UNE MEILLEURE PERCEPTION DES NOMBRES par Jean-Luc BREGEON professeur formateur à l IUFM d Auvergne LE PROBLÈME DE LA REPRÉSENTATION DES NOMBRES On ne conçoit pas un premier enseignement
Logiciel Libre Cours 3 Fondements: Génie Logiciel
Logiciel Libre Cours 3 Fondements: Génie Logiciel Stefano Zacchiroli [email protected] Laboratoire PPS, Université Paris Diderot 2013 2014 URL http://upsilon.cc/zack/teaching/1314/freesoftware/
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 [email protected] 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation
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
Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/
Recherche opérationnelle Les démonstrations et les exemples seront traités en cours Souad EL Bernoussi Groupe d Analyse Numérique et Optimisation Rabat http ://www.fsr.ac.ma/ano/ Table des matières 1 Programmation
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected]
Introduction à la programmation orientée objet, illustrée par le langage C++ Patrick Cégielski [email protected] Mars 2002 Pour Irène et Marie Legal Notice Copyright c 2002 Patrick Cégielski Université
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
Correction de l examen de la première session
de l examen de la première session Julian Tugaut, Franck Licini, Didier Vincent Si vous trouvez des erreurs de Français ou de mathématiques ou bien si vous avez des questions et/ou des suggestions, envoyez-moi
Probabilités sur un univers fini
[http://mp.cpgedupuydelome.fr] édité le 7 août 204 Enoncés Probabilités sur un univers fini Evènements et langage ensembliste A quelle condition sur (a, b, c, d) ]0, [ 4 existe-t-il une probabilité P sur
Maple: premiers calculs et premières applications
TP Maple: premiers calculs et premières applications Maple: un logiciel de calcul formel Le logiciel Maple est un système de calcul formel. Alors que la plupart des logiciels de mathématiques utilisent
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
Projet d informatique M1BI : Compression et décompression de texte. 1 Généralités sur la compression/décompression de texte
Projet d informatique M1BI : Compression et décompression de texte Le but de ce projet est de coder un programme réalisant de la compression et décompression de texte. On se proposera de coder deux algorithmes
Cours de Master Recherche
Cours de Master Recherche Spécialité CODE : Résolution de problèmes combinatoires Christine Solnon LIRIS, UMR 5205 CNRS / Université Lyon 1 2007 Rappel du plan du cours 16 heures de cours 1 - Introduction
Premiers Pas en Programmation Objet : les Classes et les Objets
Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.
Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;
CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe
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
INF 1250 INTRODUCTION AUX BASES DE DONNÉES. Guide d étude
INF 1250 INTRODUCTION AUX BASES DE DONNÉES Guide d étude Sous la direction de Olga Mariño Télé-université Montréal (Québec) 2011 INF 1250 Introduction aux bases de données 2 INTRODUCTION Le Guide d étude
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
IUT de Laval Année Universitaire 2008/2009. Fiche 1. - Logique -
IUT de Laval Année Universitaire 2008/2009 Département Informatique, 1ère année Mathématiques Discrètes Fiche 1 - Logique - 1 Logique Propositionnelle 1.1 Introduction Exercice 1 : Le professeur Leblond
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
Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie
Partie I : Séries statistiques descriptives univariées (SSDU) A Introduction Comment se servir de cet ouvrage? Chaque chapitre présente une étape de la méthodologie et tous sont organisés selon le même
Logique : ENSIIE 1A - contrôle final
1 Logique : ENSIIE 1A - contrôle final - CORRIGÉ Mardi 11 mai 2010 - Sans documents - Sans calculatrice ni ordinateur Durée : 1h30 Les exercices sont indépendants. Exercice 1 (Logique du premier ordre
