Polytechnique. Épreuve d Informatique 1998

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

Download "Polytechnique. Épreuve d Informatique 1998"

Transcription

1 Polytechnique Épreuve d Informatique 1998 Corrigé rédigé par Martine Lannaud, Lycée Chaptal, Paris Pour toute remarque ou correction Motifs et automates Question 1. Quelques propriétés du filtrage a) Le motif clou? filtre clou et cou ; cou*cou? filtre tous les mots se terminant par cou et commençant par ou ou cou. b) Le motif filtre a, de deux façons différentes suivant que la première occurrence de filtre ε et la deuxième a ou l inverse. c) Nous noterons p la longueur du motif p, encore appelée poids dans d). Montrons par récurrence sur la longueur du motif p = p 1 p 2, avec p 1 et p 2 non vides, que si p filtre le mot m, il existe deux mots m 1 et m 2 tels que p 1 filtre m 1 et p 2 filtre m 2 et m = m 1 m 2. - si p est de longueur 2, il y a au plus une façon d écrire p sous la forme p 1 p 2 et par définition de p filtre m, le résultat est vrai. - Prenons pour hypothèse de récurrence que cette propriété est vraie pour tout motif de longueur au plus n. Soit p = p 1 p 2 de longueur n + 1, avec p 1 et p 2 non vides, m un mot tel que p filtre m. Par définition, il existe une décomposition p = p 3 p 4 et une décomposition m = m 3 m 4 telles que p 3 filtre m 3 et p 4 filtre m 4. On a donc p 3 p 4 = p 1 p 2. Si p 3 = p 1 alors p 1 = p 3, et m 1 = m 3 et m 2 = m 4 fournissent une décomposition adéquate de m. Si p 1 < p 3, il existe q non vide tel que p 3 = p 1 q et, par hypothèse de récurrence, il existe m 1 et m 1 tels que m 3 = m 1 m 1 et p 1 filtre m 1, q filtre m 1. Alors p 2 = qp 4 filtre m 2 = m 1 m 4 ce qui termine la démonstration. Si p 1 > p 3, on peut procéder de façon analogue avec p 2 et p 4. d) Le motif? est équivalent à et est de longueur minimale puisque le motif vide ne filtre que ε ; de même est équivalent à ; a??? filtre les seuls mots ε et a et est équivalent à a? qui est de longueur minimale, car filtre tous les mots et a ne filtre que a. Question 2. a) Un motif simple est équivalent à p 1 =, p 2 = a ou p 3 = a? avec a E, A (p 1 ) 0 A (p 2 ) a 0 1 A (p 3 ) a 0 1 ε b) l automate vide est associé au mot vide. c) Si p = p 1 p 2, partant d un automate A 1 associé à p 1 et d un automate A 2 associé à p 2 et dont les états sont deux à deux distincts, on forme l automate A en prenant la < réunion > des deux automates, après identification de l état final de A 1 et de l état initial de A 2. d) On obtient pour A (c?ou cou) 1

2 c o u c o u ε Question 3. Soient A un ensemble d états clos par transitions instantanées codé par a et α une lettre de l alphabet. ( (c ) ) - Si c représente un ensemble d états C, posons e(c) = c Nε 1, e(c) code l ensemble des états atteints à partir d un état de C en franchissant au plus une transition étiquetée par ε. Posons e (c) = c si e (c) = c et sinon e (c) = e (e (c)) ; e (c) code ε(c), et il existe un entier k tel que e (c) = e k (c) puisque l automate est fini. - Soit b 1 = ( a N α ) 1, b1 code les états atteints à partir d un état de A en franchissant une transition étiquetée par α ; - Soit b 2 = a N, b 2 code les états atteints à partir d un état de A en franchissant une transition étiquetée par ; - b = b 1 b 2 code α(a) et a = e ( b ) code ε ( α ( A )). Caml. Reconnaissance de motifs Question 4. Pour cette question et les suivantes, nous utiliserons la fonction définie par let indice c = (int_of_char c) - (int_of_char a ) ;; qui permet de trouver l indice du caractère c dans alpha. a) les fonctions mange et ferme permettent d évaluer α ( A ) et ε ( A ) et reposent sur les propriétés vues dans le question 3. let mange etats c = let n_c = alpha.(indice c) in ((n_c land etats) lsl 1) lor (!etoile land etats) ;; let rec ferme etats = let et_aux = ((etats land!epsilon) lsl 1) lor etats in if etats = et_aux then etats else ferme et_aux ;; b) Pour etape il ne reste qu à appeler les deux fonctions précédentes : let etape etats c = ferme (mange etats c ) ;; c) Nous considérerons que les opérations logiques sur les entiers, y compris le décalage shl ou une comparaison, prennent un temps égal à 1. Le coût de mange est constant et égal à 4, celui de ferme est majoré par 4 (k + 1) où k est le nombre maximum de transitions instantanées consécutives dans le motif p et k est lui-même majoré par p si p est de poids minimal. 2 Le coût de etape est égal à 8 quand il n y a pas de transitions instantannées et est majoré 4 (k + 2) où k est le nombre maximum de transitions instantanées consécutives dans le motif p et k est luimême majoré par, si p est de poids minimal. p 2 d) L entier représentant l ensemble d états réduit à l état final est 1 n 1 d où let etat_final etats = etats land ( 1 lsl (!n_etats - 1)) > 0 ;; qui détermine si l état final est dans l ensemble d états représenté par etats. Question 5. Construction de l automate A (p) 2

3 a) La fonction construire_auto initialise les variables globales définissant l automate et appelle la fonction récursive locale aux dont le premier paramètre désigne l indice du caractère de s à traiter, (donc 0 lors du premier appel) et le deuxième est le nombre représentant le prochain état à construire (donc 1 lors du premier appel) et c est aussi le nombre d états déjà construits. Le filtrage sur s.[i] envisage seulement deux cas, celui d un caractère alphabétique ou celui de *. Le caractère? suit un caractère alphabétique ou *. Après * il est tout simplement ignoré, de même que * ; après un caractère alphabétique, il entraîne la création d une transition instantanée et plusieurs caractères? successifs équivalent à un seul. Seuls les caractères alphabétiques entraînent la création d un nouvel état. let construire_auto s = let n = string_length s in let rec aux i q = if i < n then begin match s.[i] with a.. z -> let ind = indice s.[i] and j = ref (i+1) in alpha.(ind) <- alpha.(ind) lor q ; n_etats :=!n_etats + 1 ; while (!j < n) && ( s.[!j] =? ) do epsilon :=!epsilon lor q ; j :=!j + 1 done ; aux (!j) (q lsl 1) * -> etoile :=!etoile lor q; let j = ref (i+1) in while (!j < n) && ( s.[!j] = * s.[!j] =? ) do j :=!j + 1 done ; aux (!j) q ; _ -> echoue "motif erron\ e" end in fill_vect alpha ; etoile := 0 ; epsilon := 0 ; n_etats := 1 ; aux 0 1 ;; b) La complexité de construire_auto en nombre d appels de la fonction aux est majorée par la longueur de p et plus précisément par le nombre de caractères autres que?. Quand le motif p est de longueur minimale, le traitement de chaque caractère de p entraîne une opération logique sur les entiers, en plus de celles liées aux appels récursifs. Quel que soit le critère utilisé, on obtient un coût en O ( p ). Question 6. Filtrage d un mot par un motif a) La fonction filtre p m commence par construire l automate A(p), puis en partant de ε{0} détermine l ensemble d état obtenus en lisant successivement les lettres de m et m est filtré par p si et seulement si l ensemble d états obtenu contient l état final de A (p). On notera que l état 0 est représenté par 1. let filtre p m = let etats = ref (ferme 1) in construire_auto p; for i = 0 to string_length m - 1 do etats := etape!etats m.[i] done; etat_final!etats ;; b) Le coût de construire_auto p est en O ( p ). On fait ensuite appel m fois à la fonction etape dont le coût est constant si p ne contient pas de motif optionnel, dans ce cas la complexité est en O ( p + m ) et dans le cas général en O ( p m ). Question 7. Reconnaissance des sous-mots d un mot a) Si p est un motif, q = p est un motif qui filtre tout mot m contenant un sous-mot filtré par p. 3

4 let filtre_sous_mot p = filtre ("*"^p^"*") ;; α b) Soit m = α 0 α 1... α k 1, par définition A 0 α i 1 0 A A i 1 A i et si l on pose m i = α 0 α 1... α i 1, A i = A[m i ] pour 0 i k 1 ; le préfixe m i de m est donc filtré par le motif p si et seulement si A i contient l état final de A(p). Posons : B 0 = ε ({ }) e 0 B i+1 = ε ( ( )) α i Bi B0 pour 1 i < k par une récurrence immédiate sur i, on vérifie que B i = 0 j i { A / B0 m j,i A } avec m j,i = α j α j+1...α i 1 et donc p filtre un sous mot α j α j+1...α i 1 de m si et seulement si l état final de A est dans B i. c) Comptons le nombre de sous-mots de m égaux à s en suivant l algorithme qui vient d être décrit. let compte_sous_mots s m = construire_auto s ; let n = string_length m and b0 = ferme 1 and b = ref 0 and nb = ref 0 in b := b0 ; for i = 0 to n-1 do b := ( etape!b m.[i] ) lor b0 ; if etat_final!b then nb :=!nb + 1 done;!nb ;; la complexité est analogue à celle de filtre s m puisque on a uniquement ajouté une opération sur les entiers, pour chaque caractère du mot m, et la gestion de la référence nb. d) Posons p = c?ou et m = cou, l automate associé à ce motif est : c o u ε on a alors B 0 = { 0, 1 }, B 1 = B 0, B 2 = { 0, 1, 2 } et B 3 = { 0, 1, 3 } et l on obtient ainsi un seul sous-mot car seul B 3 contient l état 3 or clairement ou et cou sont des sous-mots de m filtrés par p. 4

5 Question 8. Traitement d une erreur a) Considérons le cas où m diffère de µ au plus par l oubli d une lettre. Pour cela considérons l automate A 1 suivant, obtenu en faisant < deux copies > de l automate A(p) l une ayant pour états e 0,..., e n 1 et l autre f 0,..., f n 1 et en ajoutant n 1 transitions instantanées de la forme (e i 1, f i, ε) : elles correspondent à la lettre de µ éventuellement oubliée dans m. Le seul état initial est e 0 et les états finals sont e n 1 et f n 1. α e 0 α 0 e 1 α 1 e 2 e n 2 α n 2 e n 1 n 1 e n ε ε ε ε α 0 α 1 α n 2 α n 1 f 0 f 1 f 2 f n 2 f n 1 f n clairement, le langage reconnu par cet automate est l ensemble des mots qui diffèrent de µ par l oubli d au plus une lettre. Pour simuler le fonctionnement de cet automate à partir de A (µ) nous utiliserons des couples ( A, A ) d ensembles d états de A (µ), A représente un sous-ensemble des ( e i ) et A un sousensemble des ( f i ) de l automate ci-dessus. Posons, quels que soient A et A : ( A, A ) α ( α(a), α(a ) (α(a) 1) ) ce dernier couple est encore noté α ( A, A ). Ceci permet de représenter les transitions de l automate A 1. Au mot m = β 0,..., β k 1 on associe la suite (( A i, A )) i telle que 0 i k A 0 = {0} A ( 0 = {1} Ai+1, A ) ( i+1 = βi Ai, A i) et le mot m est reconnu par A 1 si et seulement si l état final de A(µ) appartient à A k A k. b) Pour tenir compte des autres erreurs prévues, modification d une lettre ou ajout d une lettre, on ajoutera à l automate A 1 les transitions (e i, f i, α), pour toute lettre α et tout i [[0, n]], pour tenir compte de l ajout éventuel d une lettre quelconque et (e i 1, f i, α) avec i [[1, n]], pour tenir compte d une substitution de lettre éventuelle. Sur le graphe de l automate A 2 obtenu, on utilise l étiquette x pour représenter les transitions relatives à toute lettre de l alphabet. α e 0 α 0 e 1 α 1 e 2 e n 2 α n 2 e n 1 n 1 e n x x x x x x α 0 α 1 α n 2 α n 1 f 0 f 1 f 2 f n 2 f n 1 f n Modifions la fonction α définie en a) afin de tenir compte des transitions supplémentaires, en posant : ( A, A ) α ( α(a), A (A 1) (α(a) 1) α(a ) ). Le reste de la construction est inchangée. c) Il nous reste à traduire en Caml, l algorithme qui vient d être décrit. L exécution de etape2 (a,a ) c permet de coder le passage de ( A, A ) à α ( A, A ) et celle de etat_final2 (a,a ) de tester si A A contient un état terminal de l automate. On remarquera que l état 1 est codé par 2. 5

6 let etape2 ( a, a ) c = let i_c = indice c in let b = (a land alpha.(i_c) ) lsl 1 in let b = a lor b lor ( a land alpha.(i_c) ) in ( b, a lor (b lsl 1) ) ;; let etat_final2 ( a, a ) = ( etat_final a ) ( etat_final a ) ;; let filtre_erreur mu m = construire_auto mu ; let n = string_length m and etats = ref ( 1, 2 ) in for i = 0 to n-1 do etats := etape2!etats m.[i] done ; etat_final2!etats ;; La complexité est proportionnelle à la longueur de µ. d) En reprenant la méthode vu au 7.b), on introduit une suite de couples d ensembles d états qui permet de déterminer si le mot m contient un sous-mot qui diffère de µ d au plus une erreur. Au mot m = β 0,..., β k 1 on associe la suite (( )) B i, B i telle que B 0 = {0} B 0 = {1} 0 i k ( Bi+1, B i+1 ) ( = βi Bi, B i) ( B0, B 0 ) en convenant que ( A, A ) ( B, B ) = ( A B, A B ). La complexité de sous_mot_erreur mu m est comparable à celle de filtre_erreur mu m. La fonction union réalise. let union (a1,a2) (b1,b2) = ( a1 lor b1, a2 lor b2 ) ;; let sous_mot_erreur mu m = construire_auto mu ; let n = string_length m and etats = ref ( 1, 2 ) in for i = 0 to n-1 do etats := union ( etape2!etats m.[i] ) ( 1, 2 ) done ; etat_final2!etats ;; FIN 6

Théorie des Langages Formels Chapitre 5 : Automates minimaux

Théorie des Langages Formels Chapitre 5 : Automates minimaux Théorie des Langages Formels Chapitre 5 : Automates minimaux Florence Levé Florence.Leve@u-picardie.fr Année 2015-2016 1/29 Introduction Les algorithmes vus précédemment peuvent mener à des automates relativement

Plus en détail

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée.

Concours 2015 Épreuve d Informatique Filière : MP Durée de l épreuve : 3 heures. L utilisation d une calculatrice est autorisée. A 2015 INFO. MP École des Ponts ParisTech, SUPAERO (ISAE), ENSTA ParisTech, Télécom ParisTech, Mines ParisTech, Mines de Saint-étienne, Mines Nancy, Télécom Bretagne, ENSAE ParisTech (filière MP), École

Plus en détail

Théorie des Langages

Théorie des Langages Théorie des Langages Automates Claude Moulin Université de Technologie de Compiègne Printemps 2013 Sommaire 1 Automate fini 2 Automate et langages réguliers 3 Automate à pile Automate fini déterministe

Plus en détail

Partie I : Automates et langages

Partie I : Automates et langages 2 Les calculatrices sont interdites. N.B. : Le candidat attachera la plus grande importance à la clarté, à la précision et à la concision de la rédaction. Si un candidat est amené à repérer ce qui peut

Plus en détail

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3

I Arbres binaires. Lycée Faidherbe 2014-2015. 1 Rappels 2 1.1 Définition... 2 1.2 Dénombrements... 2 1.3 Parcours... 3 I Arbres binaires 2014-2015 Table des matières 1 Rappels 2 1.1 Définition................................................ 2 1.2 Dénombrements............................................ 2 1.3 Parcours.................................................

Plus en détail

L2: cours I4c Langages et automates

L2: cours I4c Langages et automates L2: cours I4c Langages et automates Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr Modifié le 31 mai 2007 Sommaire Utiles pour compilation, interprétation,... 1. Langages rationnels 2. Langages

Plus en détail

Épreuve d informatique 2011

Épreuve d informatique 2011 A 2011 INFO. MP ÉCOLE NATIONALE DES PONTS ET CHAUSSÉES, ÉCOLES NATIONALES SUPÉRIEURES DE L AÉRONAUTIQUE ET DE L ESPACE, DE TECHNIQUES AVANCÉES, DES TÉLÉCOMMUNICATIONS, DES MINES DE PARIS, DES MINES DE

Plus en détail

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN

Parcours d un arbre Arbres de recherche CHAPITRE 6. Arbres binaires. Karelle JULLIAN. MPSI, Option Info 2014/2015. Karelle JULLIAN CHAPITRE 6 Arbres binaires Lycée Kléber MPSI, Option Info 2014/2015 1 Définitions 2 Parcours en largeur Parcours en profondeur Parcours préfixe, infixe, postfixe Reconstitution 3 Recherche Complexité Insertion

Plus en détail

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.

Théorie des langages. Automates à pile. Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes. Automates à pile Elise Bonzon http://web.mi.parisdescartes.fr/ bonzon/ elise.bonzon@parisdescartes.fr 1 / 62 Automates à pile Introduction Rappels sur les piles Automates à pile : définition Automates

Plus en détail

Projet de Programmation Fonctionnelle

Projet de Programmation Fonctionnelle Projet de Programmation Fonctionnelle L objectif de ce projet est de concevoir, en Objective Caml, un évaluateur pour le langage mini-ml (un sous ensemble du langage Objective Caml). Votre programme devra

Plus en détail

Option Informatique Arbres binaires équilibrés

Option Informatique Arbres binaires équilibrés Option Informatique Arbres binaires équilibrés Sujet novembre 2 Partie II : Algorithmique et programmation en CaML Cette partie doit être traitée par les étudiants qui ont utilisé le langage CaML dans

Plus en détail

Un automate à états fini

Un automate à états fini Automates à états et langages Notion d automate Langage reconnu par un automate Automates non déterministes Expressions régulières et automates Limites des automates Notion d automate Objectif : définir

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

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

CHAPITRE 5 : ANALYSE LEXICALE

CHAPITRE 5 : ANALYSE LEXICALE CHAPITRE 5 : ANALYSE LEXICALE L analyse lexicale est un autre domaine fondamental d application des automates finis. Dans la plupart des langages de programmation, les unités lexicales (identificateurs,

Plus en détail

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels.

Licence de Sciences et Technologies. Fiche de cours 1 - Nombres réels. Licence de Sciences et Technologies EM21 - Analyse Fiche de cours 1 - Nombres réels. On connaît les ensembles suivants, tous munis d une addition, d une multiplication, et d une relation d ordre compatibles

Plus en détail

Cours 9: Automates finis

Cours 9: Automates finis Cours 9: Automates finis Olivier Bournez ournez@lix.polytechnique.fr LIX, Ecole Polytechnique INF421-a Bases de la programmation et de l algorithmique Aujourd hui Rappels Déterminisation Automates et expressions

Plus en détail

Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents)

Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents) Numéro d anonymat: 1 Université Bordeaux 1 Master d informatique UE Bases de Données Sujet et correction de l examen du 27 mai 2004 8h00 9h30 (sans documents) Sauf mention contraire en caractères gras,

Plus en détail

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006

CONCOURS D ADMISSION. Option économique MATHEMATIQUES III. Année 2006 ESSEC M B A CONCOURS D ADMISSION Option économique MATHEMATIQUES III Année 2006 La présentation, la lisibilité, l orthographe, la qualité de la rédaction, la clarté et la précision des raisonnements entreront

Plus en détail

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples

Arbres. Alphabet Σ = Σ 0 Σ k. Exemples Arbres Alphabet Σ = Σ 0 Σ k Σ i : alphabet fini de symboles de rang i (Σ i Σ j possible). Un arbre t de rang k est défini par un ensemble (fini) dom(t) {1,..., k} clos par préfixe (domaine de t) : si v,

Plus en détail

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT

Machines de Turing. Chapitre 14 14.1. DÉFINITION ET FONCTIONNEMENT Chapitre 4 Machines de Turing Dans ce chapitre on présente un modèle de calcul introduit dans les années 3 par Turing, les machines de Turing. Ces machines formalisent la notion de calculabilité. La thèse

Plus en détail

TS214 - Compression/Décompression d une image binaire

TS214 - Compression/Décompression d une image binaire Filière Télécommunications, 2 ème année TS214 - Compression/Décompression d une image binaire De nombreux télécopieurs utilisent la recommandation T.4 Groupe 3 de l International Telecommunications Union

Plus en détail

Les types utilisateurs (VBA) Corrigé

Les types utilisateurs (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 2 avril mai 2013 Corrigé Résumé Ce document décrit comment traduire en VBA les types utilisateur du langage algorithmique. Table des matières

Plus en détail

5. Equivalences d automates

5. Equivalences d automates 5. Equivalences d automates 5.1. Le problème du déterminisme 5.2. Différentes sortes d AEF 5.3. Déterminisation d un AEF 5.4. Déterminisation d un AEF avec ɛ-transitions 5.5. Minimisation d un AEF déterministe

Plus en détail

Logique informatique 2013-2014. Examen

Logique informatique 2013-2014. Examen Logique informatique 2013-2014. Examen 30 mai 2013. Durée 3h. Tous les documents sont autorisés. Seuls les résultats du cours peuvent être utilisés sans démonstration. Le barême et la longueur des solutions

Plus en détail

Arbres binaires et codage de Huffman

Arbres binaires et codage de Huffman MP Option Informatique Premier TP Caml Jeudi 8 octobre 2009 Arbres baires et codage de Huffman 1 Arbres baires Soit E un ensemble non vide. On défit la notion d arbre baire étiqueté (aux feuilles) par

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

Modélisation de systèmes par automates finis

Modélisation de systèmes par automates finis LIP6 - UPMC Année 2010 2011 Master SAR - MSR Aide mémoire Modélisation de systèmes par automates finis Table des matières 1 Introduction : modélisation par automates finis 1 2 Systèmes de transitions et

Plus en détail

Le jeu du Sèbi ou Craps

Le jeu du Sèbi ou Craps Le jeu du Sèbi ou Craps Professeur : Christian CYRILLE 7 mars 04 Le jeu du craps "Dieu ne joue pas aux dés! " (Lettre d Albert Einstein à Max Born à propos de la mécanique quantique). Etude du jet simultané

Plus en détail

Programmation, partiel: sémantique d un tableur

Programmation, partiel: sémantique d un tableur Programmation, partiel: sémantique d un tableur Recommandations. Votre copie (papier ou électronique) devra être lisible et bien structurée. La note tiendra compte autant du fond que de la présentation.

Plus en détail

Programmation en Python - Cours 2 : Premiers programmes

Programmation en Python - Cours 2 : Premiers programmes Programmation en Python - Cours 2 : Premiers programmes 2013/2014 Diverses utilisations de python Utilisation en mode interactif Ecriture d un programme python Saisie de données par l utilisateur : input(),

Plus en détail

DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999)

DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999) coller l étiquette ici DEUG MIAS2 - MODULE INFORMATIQUE (MIA10B) EXAMEN (SEPTEMBRE 1999) Durée : 2 heures Aucun document autorisé - Calculatrices interdites Les réponses doivent être brèves et justifiées

Plus en détail

À propos des matrices échelonnées

À propos des matrices échelonnées À propos des matrices échelonnées Antoine Ducros appendice au cours de Géométrie affine et euclidienne dispensé à l Université Paris 6 Année universitaire 2011-2012 Introduction Soit k un corps, soit E

Plus en détail

Relations Binaires Relations d équivalence sur un ensemble

Relations Binaires Relations d équivalence sur un ensemble Relations Binaires Relations d équivalence sur un ensemble MPSI 2 1 Généralités Soit E un ensemble non vide. Définition 1..1 On appelle relation binaire sur E le couple (E, G où G est un graphe de E dans

Plus en détail

Points fixes de fonctions à domaine fini

Points fixes de fonctions à domaine fini ÉCOLE POLYTECHNIQUE ÉCOLE NORMALE SUPÉRIEURE DE CACHAN ÉCOLE SUPÉRIEURE DE PHYSIQUE ET DE CHIMIE INDUSTRIELLES CONCOURS D ADMISSION 2013 FILIÈRE MP HORS SPÉCIALITÉ INFO FILIÈRE PC COMPOSITION D INFORMATIQUE

Plus en détail

Mathématiques pour l informatique 1 notes de cours sur la première partie

Mathématiques pour l informatique 1 notes de cours sur la première partie 1 Mathématiques pour l informatique 1 notes de cours sur la première partie L1 Université Paris-Est, Marne-la-Vallée Cyril Nicaud Organisation Ce demi-cours est composé de 6 séances de cours et 6 séances

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

Leçon 6. Savoir compter

Leçon 6. Savoir compter Leçon 6. Savoir compter Cette leçon est une introduction aux questions de dénombrements. Il s agit, d une part, de compter certains objets mathématiques (éléments, parties, applications,...) et, d autre

Plus en détail

Problèmes de Mathématiques Filtres et ultrafiltres

Problèmes de Mathématiques Filtres et ultrafiltres Énoncé Soit E un ensemble non vide. On dit qu un sous-ensemble F de P(E) est un filtre sur E si (P 0 ) F. (P 1 ) (X, Y ) F 2, X Y F. (P 2 ) X F, Y P(E) : X Y Y F. (P 3 ) / F. Première Partie 1. Que dire

Plus en détail

TOPOLOGIE DE LA DROITE REELLE

TOPOLOGIE DE LA DROITE REELLE TOPOLOGIE DE LA DROITE REELLE P. Pansu 16 mai 2005 1 Qu est-ce que la topologie? C est l étude des propriétés des objets qui sont conservées par déformation continue. Belle phrase, mais qui nécessite d

Plus en détail

Travaux dirigés n o 6

Travaux dirigés n o 6 Travaux dirigés n o 6 Lycée Kléber MPSI, Option Info 2014/2015 Exercice 1 (Indexation d un arbre binaire) Ecrire une fonction Caml indexation : ( f, n) arbre_binaire -> (string,string) arbre_binaire qui

Plus en détail

Expressions rationnelles, automates, analyse lexicale

Expressions rationnelles, automates, analyse lexicale Chapitre 2 Expressions rationnelles, automates, analyse lexicale L analyse lexicale est la première phase d un compilateur ou d un interprète : elle consiste à identifier et à catégoriser les différents

Plus en détail

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi :

Numération. On sait que dans 342 381, le chiffre 4 ne vaut pas 4 mais 40 000... Ainsi : Numération Numération. 1 Les systèmes de numération 1.1 Le système décimal. 1.1.1 Les chiffres. Le système décimal est le système d écriture des nombres que nous utilisons habituellement dans la vie courante.

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

Partiel - 12 mars 2014

Partiel - 12 mars 2014 Licence STS, semestre 4 013 14 Mathématiques pour l Informatique (Info 9) 1 mars 014 http://www.lri.fr/~paulin/mathinfo Partiel - 1 mars 014 L examen dure heures. L énoncé est composé de 5 pages. Toutes

Plus en détail

Algorithmique avancée en Python TDs

Algorithmique avancée en Python TDs Algorithmique avancée en Python TDs Denis Robilliard sept. 2014 1 TD 1 Révisions 1. Ecrire un programme qui saisit un entier, et détermine puis affiche si l entier est pair où impair. 2. Ecrire un programme

Plus en détail

Validation et génération de tableaux de Knuth-Morris-Pratt

Validation et génération de tableaux de Knuth-Morris-Pratt Validation et génération de tableaux de Knuth-Morris-Pratt Jean-Pierre Duval, Thierry Lecroq et Arnaud Lefebvre {Jean-Pierre.Duval,Thierry.Lecroq,Arnaud.Lefebvre}@univ-rouen.fr Laboratoire d Informatique,

Plus en détail

Marches, permutations et arbres binaires aléatoires

Marches, permutations et arbres binaires aléatoires Marches, permutations et arbres binaires aléatoires Épreuve pratique d algorithmique et de programmation Concours commun des Écoles Normales Supérieures Durée de l épreuve: 4 heures Cœfficient: 4 Juillet

Plus en détail

Leçon 1: les entiers

Leçon 1: les entiers Leçon 1: les entiers L ensemble N des entiers naturels Compter, dresser des listes, classer et comparer des objets interviennent dans de multiples activités humaines. Les nombres entiers naturels sont

Plus en détail

TS. 2012/2013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 20/11/12

TS. 2012/2013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 20/11/12 TS. 01/013. Lycée Prévert. Corrigé du contrôle n 3. Durée : 3 heures. Mardi 0/11/1 Exercice 1 : ( 6,5 pts) Première partie : Démonstration à rédiger { Démontrer que si ( ) et (v n ) sont deux suites telles

Plus en détail

VII- Enumérations dans l ordre alphabétique

VII- Enumérations dans l ordre alphabétique VII- Enumérations dans l ordre alphabétique Prenons un dictionnaire. Comment savoir si un mot se trouve avant ou après un autre? On commence par comparer la première lettre de ces deux mots. Si elles sont

Plus en détail

Chap. 2. Langages et automates

Chap. 2. Langages et automates 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

Plus en détail

InitProg par l exemple

InitProg par l exemple InitProg par l exemple Martin Monperrus 16 décembre 2011 Ce cument illustre avec des programmes Ocamlcartes et Ocaml le polycopié du cours Initiation à la programmation (InitProg) de l Université Lille

Plus en détail

Les mots de Sturm. Fathi BEN ARIBI 20 décembre 2008

Les mots de Sturm. Fathi BEN ARIBI 20 décembre 2008 Les mots de Sturm Fathi BEN ARIBI 20 décembre 2008 1 Objectifs Dans cette présentation, nous donnerons quelques résultats de combinatoire des mots. Avant tout, il est nécessaire d introduire quelques notations

Plus en détail

Structures de données non linéaires

Structures de données non linéaires Structures de données non linéaires I. Graphes Définition Un graphe (simple) orienté G est un couple (S, A), où : S est un ensemble dont les éléments sont appelés les sommets. A est un ensemble de couples

Plus en détail

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique

Notes de cours. Cours introductif sur la théorie des domaines. Modèles des langages de programmation Master Parisien de Recherche en Informatique Notes de cours Cours introductif sur la théorie des domaines Paul-André Melliès Modèles des langages de programmation Master Parisien de Recherche en Informatique 1 Ensembles ordonnés Definition 1.1 (ensemble

Plus en détail

Base : une axiomatique

Base : une axiomatique Autour des groupes de réflexions Master 2 Mathématiques fondamentales Cours : Michel Broué Université Paris VII Denis Diderot TD : Vincent Beck Année 2005 2006 Base : une axiomatique a) D après (i), on

Plus en détail

LE PROBLEME DU FLOT MAXIMAL

LE PROBLEME DU FLOT MAXIMAL LE PROBLEME DU FLOT MAXIMAL I Exemple d introduction Deux châteaux d'eau alimentent 3 villes à travers un réseau de canalisations au sein duquel se trouvent également des stations de pompage. Les châteaux

Plus en détail

Formulaire Automates Sylvain Lombardy

Formulaire Automates Sylvain Lombardy Formulaire Automates Sylvain Lombardy Définition 1 Alphabet, mot, langage Un alphabet est un ensemble fini de symboles; chacun de ces symboles est appelé lettre. Un mot est une suite fini de lettres pris

Plus en détail

10' - LES ARBRES BINAIRES

10' - LES ARBRES BINAIRES Ch 10' - LES ARBRES BINAIRES On va restreindre les capacités des arbres en obligeant les nœuds à posséder au maximum deux sous-arbres. Ces nouveaux arbres seront plus faciles à maîtriser que les arbres

Plus en détail

Interrogationécrite d 'InformatiqueUV2

Interrogationécrite d 'InformatiqueUV2 1ères années INSA 2005/06 Durée : 1H15 Interrogationécrite d 'InformatiqueUV2 Les documents sont autorisés, aucune feuille adjointe ne sera prise en compte. Toutes vos réponses doivent figurer dans ce

Plus en détail

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante :

x n = x x n 1 Exercice 3 Le but de cet exercice est de modéliser les suites définies par récurrence de la façon suivante : Ocaml - Exercices Exercice Définir en Ocaml les fonctions suivantes:. f : x sin x + cos x. g : x x 3x+ x x 5 3. Fonction h calculant la moyenne géométrique de deux float positifs ( xy) Exercice Ecrire

Plus en détail

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS.

Terminale S Spécialité Cours : DIVISIBILITE ET CONGRUENCES DANS. A la fin de ce chapitre vous devez être capable de : connaître différents procédés pour établir une divisibilité : utilisation de la définition, utilisation d identités remarquables, disjonction des cas,

Plus en détail

Support du cours de Probabilités IUT d Orléans, Département d informatique

Support du cours de Probabilités IUT d Orléans, Département d informatique Support du cours de Probabilités IUT d Orléans, Département d informatique Pierre Andreoletti IUT d Orléans Laboratoire MAPMO (Bât. de Mathématiques UFR Sciences) - Bureau 126 email: pierre.andreoletti@univ-orleans.fr

Plus en détail

Chapitre 4 Automates à pile et langages hors-contexte

Chapitre 4 Automates à pile et langages hors-contexte Chapitre 4 Automates à pile et langages hors-contexte 87 Introduction Langage a n b n n est pas accepté par un automate fini. Par contre L k = {a n b n n k} est accepté. Mémoire finie, mémoire infinie,

Plus en détail

Arbres binaires de recherche et arbres rouge noir

Arbres binaires de recherche et arbres rouge noir Institut Galilée lgo, rbres, Graphes I nnée 006-007 License rbres binaires de recherche et arbres rouge noir Rappels de cours et correction du TD rbres binaires de recherche : définitions Un arbre binaire

Plus en détail

BJ - RELATIONS BINAIRES

BJ - RELATIONS BINAIRES BJ - RELATIONS BINAIRES Définitions Soit A et B deux ensembles non vides, et G une partie de A B. On dit qu un élément x de A est relié à un élément y de B par une relation binaire de graphe G, si le couple

Plus en détail

Algorithmique et Analyse d Algorithmes

Algorithmique et Analyse d Algorithmes Algorithmique et Analyse d Algorithmes L3 Info Cours 11 : Arbre couvrant Prétraitement Benjamin Wack 2015-2016 1 / 32 La dernière fois Rappels sur les graphes Problèmes classiques Algorithmes d optimisation

Plus en détail

Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles. Année académique 2014-2015

Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles. Année académique 2014-2015 INFO-F-302, Cours d Informatique Fondamentale Emmanuel Filiot Département d Informatique Faculté des Sciences Université Libre de Bruxelles Année académique 2014-2015 Problèmes Indécidables : Définition

Plus en détail

Représentation des fonctions booléennes

Représentation des fonctions booléennes Représentation des fonctions booléennes Épreuve pratique d algorithmique et de programmation Juillet 2003 Ce problème est consacré à l étude de deux représentations des fonctions booléennes de N variables

Plus en détail

Arbres bien équilibrés

Arbres bien équilibrés Arbres bien équilibrés ENSIIE : Programmation avancée 1/24 Recherche par dichotomie on aimerait avoir des opérations de recherche, d insertion et de suppression efficaces en moyenne et dans le pire des

Plus en détail

Tri en Python. # on cherche k tel que a k = min(a j ) ji

Tri en Python. # on cherche k tel que a k = min(a j ) ji Tri en Python On considère ici des tableaux ou listes d entiers ou de ottants. En Python, on peut trier une liste à l aide de la méthode sort : si a est une liste d entiers ou de ottants, a.sort() modi

Plus en détail

Traduction des arbres programmatiques en C

Traduction des arbres programmatiques en C Traduction des arbres programmatiques en C Table des matières 1 Premier exemple : helloworld.c 1 2 Méthode de programmation 2 3 Déclaration de variables 2 4 Structures de contrôle 3 5 Opérateurs C 5 6

Plus en détail

Année Universitaire 2013/2014 DST de Printemps

Année Universitaire 2013/2014 DST de Printemps Année Universitaire 2013/2014 DST de Printemps Parcours : Licence LIMI201 & LIMI211 Code UE : J1MI2013 Épreuve : Algorithmes et Programmes Date : Lundi 16 juin 2014 Heure : 16 heures 30 Durée : 2 heures

Plus en détail

Cours numéro 9 : arbres binaires et de recherche

Cours numéro 9 : arbres binaires et de recherche Cours numéro 9 : arbres binaires et de recherche LI213 Types et Structures de données Licence d Informatique Université Paris 6 Arbre Arbre Un arbre est un ensemble fini A d éléments, liés entre eux par

Plus en détail

Le corps R des nombres réels

Le corps R des nombres réels Le corps R des nombres réels. Construction de R à l aide des suites de Cauchy de nombres rationnels On explique brièvement dans ce paragraphe comment construire le corps R des nombres réels à partir du

Plus en détail

Grammaires hors-contexte

Grammaires hors-contexte Analyse syntaxique Grammaires hors-contexte Une grammaire hors-contexte est un 4-uplet N, Σ, P, S où : N est un ensemble de symboles non terminaux, appelé l alphabet non terminal. Σ est un ensemble de

Plus en détail

Algorithmique & programmation

Algorithmique & programmation Algorithmique & programmation Chapitre 3 : Fichiers séquentiels Entrées/Sorties Fichiers Binaires à Accès Séquentiel Fichiers et Ada!! En Ada les entrées/sorties sont supportées par des paquetages standards

Plus en détail

Le langage Forth. Brique ROSE. Samuel Tardieu sam@rfc1149.net. École Nationale Supérieure des Télécommunications

Le langage Forth. Brique ROSE. Samuel Tardieu sam@rfc1149.net. École Nationale Supérieure des Télécommunications Le langage Forth Brique ROSE Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Le langage Forth 1 / 26 Qu est-ce que Forth? Langage sans syntaxe Mots

Plus en détail

L enseignement de l algorithmique au Lycée

L enseignement de l algorithmique au Lycée L enseignement de l algorithmique au Lycée Sisteron 12 novembre 2009 Fernand Didier didier@irem.univ-mrs.fr Approche naïve C est une méthode, une façon systématique de procéder, pour faire quelque chose

Plus en détail

Cours d Analyse, Algorithmique Elements de programmation

Cours d Analyse, Algorithmique Elements de programmation 1 de 33 Cours d Analyse, Algorithmique Elements de programmation Florent Hivert Mél : Florent.Hivert@lri.fr Adresse universelle : http://www.lri.fr/ hivert 2 de 33 Données et instructions Un programme

Plus en détail

Développement décimal d un réel

Développement décimal d un réel 4 Développement décimal d un réel On rappelle que le corps R des nombres réels est archimédien, ce qui permet d y définir la fonction partie entière. En utilisant cette partie entière on verra dans ce

Plus en détail

IPT : Cours 2. La représentation informatique des nombres

IPT : Cours 2. La représentation informatique des nombres IPT : Cours 2 La représentation informatique des nombres (3 ou 4 heures) MPSI-Schwarz : Prytanée National Militaire Pascal Delahaye 28 septembre 2015 1 Codage en base 2 Définition 1 : Tout nombre décimal

Plus en détail

II arbres binaires de recherche

II arbres binaires de recherche I arbres binaires On définit un arbre binaire par : type arbin=^noeud; noeud=record filsg,filsd:arbin; cle:longint Un arbre binaire a peut être vide (si a=nil). Sinon il est formé d un noeud (a^) contenant

Plus en détail

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES

PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES PROJET INFORMATIQUE RECHERCHE DE SOUS-CHAÎNE DE CARACTERES I-Présentation Un algorithme de recherche de sous-chaine est un type d'algorithme de recherche qui a pour objectif de trouver une chaîne de caractères

Plus en détail

CODAGE D UN NOMBRE SYSTEME DE NUMERATION

CODAGE D UN NOMBRE SYSTEME DE NUMERATION 1. Base d un système de numération 1.1 Système décimal. C est le système de base 10 que nous utilisons tous les jours. Il comprend dix symboles différents :... Exemple du nombre 2356 de ce système : nous

Plus en détail

POLITIQUE SUR L ÉVALUATION DES APPRENTISSAGES EN FORMATION GÉNÉRALE À L ENSEIGNEMENT PRIMAIRE ET SECONDAIRE

POLITIQUE SUR L ÉVALUATION DES APPRENTISSAGES EN FORMATION GÉNÉRALE À L ENSEIGNEMENT PRIMAIRE ET SECONDAIRE COMMISSION SCOLAIRE DE KAMOURASKA RIVIÈRE-DU-LOUP Code : SE 1998 01 En vigueur : Approbation : Marcien Proulx directeur général POLITIQUE SUR L ÉVALUATION DES APPRENTISSAGES EN FORMATION GÉNÉRALE À L ENSEIGNEMENT

Plus en détail

Contrôler les programmes VBA

Contrôler les programmes VBA 7 Contrôler les programmes VBA Au sommaire de ce chapitre Répéter une série d instructions : les boucles Utiliser des instructions conditionnelles Définir l instruction suivante avec GoTo Interagir avec

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

Algorithmique. Mode d application

Algorithmique. Mode d application I - Généralités Algorithmique T ale S Définition: Un algorithme est une suite finie d instructions permettant la résolution systématique d un problème donné. Un algorithme peut-être utilisé pour décrire

Plus en détail

Corrigé de l examen partiel du 19 novembre 2011

Corrigé de l examen partiel du 19 novembre 2011 Université Paris Diderot Langage Mathématique (LM1) Département Sciences Exactes 2011-2012 Corrigé de l examen partiel du 19 novembre 2011 Durée : 3 heures Exercice 1 Dans les expressions suivantes, les

Plus en détail

TP Compilation Analyse lexicale

TP Compilation Analyse lexicale TP Compilation Analyse lexicale Eric Ramat ramat@lisic.univ-littoral.fr 9 mai 2014 Durée : 6 heures 1 Introduction Le but de cet TP est de vous donner les bases nécessaires afin de pouvoir écrire votre

Plus en détail

Eléments de syntaxe du langage Java

Eléments de syntaxe du langage Java c jan. 2014, v3.0 Java Eléments de syntaxe du langage Java Sébastien Jean Le but de ce document est de présenter es éléments de syntaxe du langage Java : les types primitifs, les opérateurs arithmétiques

Plus en détail

Généralités sur les graphes

Généralités sur les graphes Généralités sur les graphes Christophe ROSSIGNOL Année scolaire 2008/2009 Table des matières 1 Notion de graphe 3 1.1 Un peu de vocabulaire.......................................... 3 1.2 Ordre d un graphe,

Plus en détail

Groupe symétrique. Chapitre II. 1 Définitions et généralités

Groupe symétrique. Chapitre II. 1 Définitions et généralités Chapitre II Groupe symétrique 1 Définitions et généralités Définition. Soient n et X l ensemble 1,..., n. On appelle permutation de X toute application bijective f : X X. On note S n l ensemble des permutations

Plus en détail

Norme de programmation pour le cours et les travaux pratiques

Norme de programmation pour le cours et les travaux pratiques Université du Québec École de technologie supérieure Service des enseignements généraux www.seg.etsmtl.ca INF130 Ordinateurs et programmation Norme de programmation pour le cours et les travaux pratiques

Plus en détail

Introduction au model-checking et application à la vérification des protocoles cryptographiques

Introduction au model-checking et application à la vérification des protocoles cryptographiques Introduction au model-checking et application à la vérification des protocoles cryptographiques Prof. John MULLINS École Polytechnique de Montréal Prof. John MULLINS (École Polytechnique) Introduction

Plus en détail

Algorithmique - Programmation 1. Cours 10

Algorithmique - Programmation 1. Cours 10 Algorithmique - Programmation 1 Cours 10 Université Henri Poincaré CESS Epinal Automne 2008 1/ 25 Plan Caml fonctionnel vs impératif Caml fonctionnel vs impératif Le type unit Données mutables Les structures

Plus en détail

Correction de programmes : Logique de Hoare

Correction de programmes : Logique de Hoare 16 juillet 2009 Logique et informatique Vis-à-vis de l informatique la logique a au moins 2 rôles : 1 Externe et théorique (fondements de l informatique - Électif en S4) : Logique comme méta-informatique

Plus en détail

Projet TAL : traduction français-sms

Projet TAL : traduction français-sms Projet TAL : traduction français-sms 1 Objectif L objectif de ce projet est de concevoir un logiciel permettant de traduire un texte écrit en langage SMS vers le français. La traduction sera effectuée

Plus en détail