summaryrefslogtreecommitdiffstats
path: root/controle-20190328.tex
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2019-03-26 12:26:57 +0100
committerDavid A. Madore <david+git@madore.org>2019-03-26 12:26:57 +0100
commit7890a9faf39ef7b840be4fb2f4e18f190792a8b8 (patch)
tree2e5590db37235e37c474e1c4913bab81897d3854 /controle-20190328.tex
parentfb5a8693dbe6a17e9cd6e115d04941c527aee6bc (diff)
downloadinf105-7890a9faf39ef7b840be4fb2f4e18f190792a8b8.tar.gz
inf105-7890a9faf39ef7b840be4fb2f4e18f190792a8b8.tar.bz2
inf105-7890a9faf39ef7b840be4fb2f4e18f190792a8b8.zip
Start writing an exam.
Diffstat (limited to 'controle-20190328.tex')
-rw-r--r--controle-20190328.tex193
1 files changed, 193 insertions, 0 deletions
diff --git a/controle-20190328.tex b/controle-20190328.tex
new file mode 100644
index 0000000..e3e1391
--- /dev/null
+++ b/controle-20190328.tex
@@ -0,0 +1,193 @@
+%% This is a LaTeX document. Hey, Emacs, -*- latex -*- , get it?
+\documentclass[12pt,a4paper]{article}
+\usepackage[francais]{babel}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+%\usepackage{ucs}
+\usepackage{times}
+% A tribute to the worthy AMS:
+\usepackage{amsmath}
+\usepackage{amsfonts}
+\usepackage{amssymb}
+\usepackage{amsthm}
+%
+\usepackage{mathrsfs}
+\usepackage{wasysym}
+\usepackage{url}
+%
+\usepackage{graphics}
+\usepackage[usenames,dvipsnames]{xcolor}
+\usepackage{tikz}
+\usetikzlibrary{arrows,automata,positioning}
+\usepackage{hyperref}
+%
+\theoremstyle{definition}
+\newtheorem{comcnt}{Tout}
+\newcommand\thingy{%
+\refstepcounter{comcnt}\smallskip\noindent\textbf{\thecomcnt.} }
+\newcommand\exercice{%
+\refstepcounter{comcnt}\bigskip\noindent\textbf{Exercice~\thecomcnt.}\par\nobreak}
+\renewcommand{\qedsymbol}{\smiley}
+%
+\DeclareUnicodeCharacter{00A0}{~}
+\DeclareUnicodeCharacter{03B5}{$\varepsilon$}
+%
+\DeclareMathSymbol{\tiret}{\mathord}{operators}{"7C}
+\DeclareMathSymbol{\traitdunion}{\mathord}{operators}{"2D}
+%
+%
+\DeclareFontFamily{U}{manual}{}
+\DeclareFontShape{U}{manual}{m}{n}{ <-> manfnt }{}
+\newcommand{\manfntsymbol}[1]{%
+ {\fontencoding{U}\fontfamily{manual}\selectfont\symbol{#1}}}
+\newcommand{\dbend}{\manfntsymbol{127}}% Z-shaped
+\newcommand{\danger}{\noindent\hangindent\parindent\hangafter=-2%
+ \hbox to0pt{\hskip-\hangindent\dbend\hfill}}
+%
+\newcommand{\spaceout}{\hskip1emplus2emminus.5em}
+\newif\ifcorrige
+\corrigetrue
+\newenvironment{corrige}%
+{\ifcorrige\relax\else\setbox0=\vbox\bgroup\fi%
+\smallbreak\noindent{\underbar{\textit{Corrigé.}}\quad}}
+{{\hbox{}\nobreak\hfill\checkmark}%
+\ifcorrige\par\smallbreak\else\egroup\par\fi}
+\newenvironment{commentaire}%
+{\ifcorrige\relax\else\setbox0=\vbox\bgroup\fi%
+\smallbreak\noindent{\underbar{\textit{Commentaires.}}\quad}}
+{{\hbox{}\nobreak\hfill\maltese}%
+\ifcorrige\par\smallbreak\else\egroup\par\fi}
+%
+%
+% NOTE: compile dot files with
+% dot2tex --figonly -f tikz --tikzedgelabels --graphstyle=automaton file.dot > file.tex
+\tikzstyle{automaton}=[>=stealth',initial text={},thick,every loop/.style={min distance=7mm,looseness=5}]
+\tikzstyle{state}=[]
+\tikzstyle{final}=[accepting by arrow]
+%
+%
+%
+\begin{document}
+\ifcorrige
+\title{INF105\\Contrôle de rattrapage — Corrigé\\{\normalsize Théorie des langages}}
+\else
+\title{INF105\\Contrôle de rattrapage\\{\normalsize Théorie des langages}}
+\fi
+\author{}
+\date{28 mars 2019}
+\maketitle
+
+\pretolerance=8000
+\tolerance=50000
+
+\vskip1truein\relax
+
+\noindent\textbf{Consignes.}
+
+\textcolor{red}{À remplir}
+
+\medbreak
+
+L'usage de tous les documents (notes de cours manuscrites ou
+imprimées, feuilles d'exercices, livres) est autorisé.
+
+L'usage des appareils électroniques est interdit.
+
+\medbreak
+
+Durée : 1h30
+
+Barème \emph{indicatif} : \textcolor{red}{xxx}.
+
+\ifcorrige
+Ce corrigé comporte \textcolor{red}{xxx} pages (page de garde incluse)
+\else
+Cet énoncé comporte \textcolor{red}{xxx} pages (page de garde incluse)
+\fi
+
+\vfill
+
+{\tiny\noindent
+\immediate\write18{sh ./vc > vcline.tex}
+Git: \input{vcline.tex}
+\immediate\write18{echo ' (stale)' >> vcline.tex}
+\par}
+
+\pagebreak
+
+
+%
+%
+%
+
+\exercice
+
+Dans cet exercice, on pose $\Sigma = \{a,b\}$.
+
+(1) Soit $L_1$ le langage formé des mots de $\Sigma^*$ ayant $a$ comme
+première lettre (c'est-à-dire, comme préfixe).\quad(a) Donner une
+expression rationnelle $r_1$ dénotant le langage $L_1$.\quad(b) Donner
+l'automate fini déterministe complet minimal $\mathscr{A}_1$
+reconnaissant $L_1$ (on pourra préalablement passer par d'autres
+sortes d'automates comme étapes intermédiaires ; pour obtenir la
+totalité des points, on passera impérativement par des constructions
+vues en cours, qu'on précisera).
+
+\emph{Information :} L'automate $\mathscr{A}_1$ correct a trois états.
+Il est fortement conseillé de vérifier soigneusement qu'on a bien
+obtenu un automate déterministe complet ayant le bon nombre états et
+qu'il se comporte comme attendu sur quelques mots courts (par exemple
+$\varepsilon$, $a$, $b$, $aa$, $ab$, $ba$ et $bb$).
+
+\medskip
+
+(2) Soit $L_2$ le langage formé des mots de $\Sigma^*$ ayant $a$ comme
+dernière lettre (c'est-à-dire, comme suffixe).\quad(a) Donner une
+expression rationnelle $r_2$ dénotant le langage $L_2$.\quad(b) Donner
+l'automate fini déterministe complet minimal $\mathscr{A}_2$
+reconnaissant $L_2$ (mêmes remarques que ci-dessus).
+
+\emph{Information :} L'automate $\mathscr{A}_2$ correct a deux états.
+Même conseil que ci-dessus.
+
+\medskip
+
+(3) Soit $L_3 = L_2^{\mathsf{R}} = \{w^{\mathsf{R}} : w \in L_2\}$ le
+langage miroir de $L_2$, c'est-à-dire le langage formé des mots
+miroirs des mots de $L_2$ (on rappelle que le mot « moir »
+$w^{\mathsf{R}}$ d'un mot $w$ s'obtient en inversant l'ordre de ses
+lettres).\quad(a) Déduire de $\mathscr{A}_2$ un automate fini
+$\mathscr{A}_3$ reconnaissant $L_3$.\quad(b) Quel est le rapport entre
+les langages $L_1$ et $L_3$ ?\quad(c) Faire un commentaire quant au
+rapport entre $\mathscr{A}_1$ et $\mathscr{A}_3$ ; notamment, on
+expliquera en quoi l'existence de $\mathscr{A}_3$ ne contredit pas la
+minimalité de $\mathscr{A}_1$.
+
+\medskip
+
+(4) Soit $L_4 = L_1\cap L_2$.\quad(a) Déduire des automates
+$\mathscr{A}_1$ et $\mathscr{A}_2$ un automate fini
+$\mathscr{A}_{4\mathrm{a}}$ ayant six états
+reconnaissant $L_4$.\quad(b) Donner l'automate fini déterministe
+complet minimal $\mathscr{A}_{4\mathrm{b}}$ reconnaissant $L_4$.
+
+\emph{Information :} L'automate $\mathscr{A}_4$ correct a quatre
+états. Même conseil que pour la question (1).
+
+\medskip
+
+(5) En appliquant l'algorithme d'élimination des états, déduire
+de $\mathscr{A}_{4\mathrm{b}}$ une expression rationnelle $r_5$
+dénotant le langage $L_4$.
+
+\medskip
+
+(6) Sans raisonner sur les automates, proposer une expression
+rationnelle $r_6$ différente de celle trouvée en $r_5$ et qui dénote
+aussi le langage $L_4$ (dont on donnera au préalable une description
+en français).
+
+%
+%
+%
+\end{document}