\documentclass[11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{fourier}
\usepackage[scaled=0.875]{helvet}
\renewcommand{\ttdefault}{lmtt}
\usepackage{amsmath,amssymb,makeidx}
\usepackage{fancybox}
\usepackage{graphicx}
\usepackage{tabularx}
\usepackage[normalem]{ulem}
\usepackage{enumitem}
\usepackage{pifont}
\usepackage{textcomp}
\usepackage{multicol,makecell}
\newcommand{\euro}{\eurologo}
\usepackage{pst-plot,pst-text,pst-node,pst-tree,pstricks-add}
\newcommand{\R}{\mathbb{R}}
\newcommand{\N}{\mathbb{N}}
\newcommand{\D}{\mathbb{D}}
\newcommand{\Z}{\mathbb{Z}}
\newcommand{\Q}{\mathbb{Q}}
\newcommand{\C}{\mathbb{C}}
\usepackage[left=3.5cm, right=3.5cm, top=3cm, bottom=3cm]{geometry}
\newcommand{\vect}[1]{\overrightarrow{\,\mathstrut#1\,}}
\newcommand{\barre}[1]{\,\overline{#1\vphantom{b}}\,}
\renewcommand{\theenumi}{\textbf{\arabic{enumi}}}
\renewcommand{\labelenumi}{\textbf{\theenumi.}}
\renewcommand{\theenumii}{\textbf{\alph{enumii}}}
\renewcommand{\labelenumii}{\textbf{\theenumii.}}
\setlist[itemize]{label=\textbullet}

\def\Oij{$\left(\text{O}~;~\vect{\imath},~\vect{\jmath}\right)$}
\def\Oijk{$\left(\text{O}~;~\vect{\imath},~\vect{\jmath},~\vect{k}\right)$}
\def\Ouv{$\left(\text{O}~;~\vect{u},~\vect{v}\right)$}
\usepackage{fancyhdr}
\usepackage{hyperref}
\hypersetup{
  pdfauthor = {APMEP},
  pdfsubject = {BTS},
  pdftitle = {Métropole 16 mai 2024},
  allbordercolors = white,
  pdfstartview=FitH}
\usepackage[french]{babel}
\DecimalMathComma
\usepackage{array}
\usepackage{verbatim} 
%\usepackage[table]{xcolor}

%\newlength{\solwidth}
%\setlength{\solwidth}{\dimexpr\textwidth-2\arrayrulewidth\relax}
%
%\newcommand{\debsol}{
%  \par\medskip
%  \begingroup
%  \setlist[itemize,enumerate]{leftmargin=0pt,labelindent=0pt,topsep=0pt,partopsep=0pt,itemsep=0pt,parsep=0pt}
%  \noindent
%  \begin{tabular}{@{}|p{\solwidth}|@{}}
%    \hline
%    \rowcolor{gray!20}
%    \begin{minipage}[t]{\linewidth}
%}
%
%\newcommand{\finsol}{
%    \end{minipage}\\
%    \hline
%  \end{tabular}
%  \endgroup
%  \par\medskip
%}
%
%\usepackage{tikz}
%\usetikzlibrary{trees,positioning}
%
%\tikzset{
%  level distance=25mm,            
%  sibling distance=20mm,          
%  level 2/.style={sibling distance=10mm}, 
%  edge from parent/.style={draw}, 
%  every node/.style={font=\small}
%}

\begin{document}

\setlength\parindent{0mm}
\rhead{\textbf{A. P{}. M. E. P{}.}}
\lhead{\small BTS Métropole - corrigé}
\lfoot{\small{Services informatiques aux organisations\\Épreuve obligatoire }}
\rfoot{\small{16 mai 2025}}
\pagestyle{fancy}
\thispagestyle{empty}
\marginpar{\rotatebox{90}{\textbf{A. P{}. M. E. P{}.}}}

\begin{center} {\Large \textbf{\decofourleft~Corrigé du BTS Métropole 16 mai 2025~\decofourright\\ [7pt]Services informatiques aux organisations}}

	\medskip

	\textbf{Épreuve obligatoire}

%	\vspace{0,25cm}
%
%	\textbf{L'usage de calculatrice avec mode examen actif est autorisé}
%
%	\textbf{L'usage de calculatrice sans mémoire \og type collège \fg{} est autorisé}

\end{center}

\medskip

\section*{Exercice 1 \hfill 5 points}

%\emph{Cet exercice est un questionnaire à choix multiple. Pour chaque question, une seule affirmation est exacte et aucune justification n'est demandée.\\
%Recopier sur la copie le numéro de la question et la lettre correspondant à l'affirmation exacte. Une réponse exacte vaut 1 point.\\
%Une réponse fausse ou une absence de réponse n'est pas pénalisée.}

\begin{enumerate}
	\item Quel est le codage exact en binaire à virgule fixe du nombre décimal $13,375$ ?

\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{tabularx}{\linewidth}{|*{4}{>{\centering \arraybackslash}X|}}\hline
A :& B :& \textcolor{blue}{C} :& D : \\
$1101,110$ & $1101,101$ & $\blue 1101,011$ & Il n'y a pas de codage exact. \\\hline
\end{tabularx}
\end{center}

\begin{tabular}{@{\hspace{0.05\linewidth}} | p{0.9\linewidth}}
\begin{list}{\textbullet}{On code séparément la partie entière et la partie décimale du nombre $13,375$.}
\item $13=8+4+1=2^3 + 2^2 + 2^0$ donc $13$ se code $\overline{1101}^{2}$.
\item $0,375\times 2 = 0,75$; on garde 0.

$0,75\times 2 = 1,5$; on garde 1. De plus: $1,5-1=0,5$.

$0,5\times 2 = 1$; on garde 1. De plus: $1-1=0$.

Donc le codage exact de $0,375$ est $\overline{0,011}^{2}$.
\end{list}

Le codage exact de $13,375$ est donc $\overline{1101,011}^{2}$.

\hfill\textbf{Réponse C}
\end{tabular}

\end{enumerate}

Pour les questions 2 et 3 suivantes on considère deux ensembles :

$E = \{0~;~1~;~10~;~11~;~100~;~101~;~110~;~111\} \quad\text{et}\quad F = \{0~;~1~;~2~;~3\}$

ainsi que l'application $p$ de $E$ vers $F$ qui, à tout élément de $E$ associe la somme de ses chiffres.

On représente l'application $p$ de $E$ dans $F$.

\begin{center}
\psset{xunit=0.8cm,yunit=0.6cm,arrowsize=3pt 3,radius=0pt,nodesep=6pt}
\def\xmin{0}   \def\xmax{7} \def\ymin{0} \def\ymax{10}
\begin{pspicture}(\xmin,\ymin)(\xmax,\ymax)
%\psgrid[subgriddiv=0, gridlabels=0,gridcolor=gray]
%\psframe[linewidth=2pt](0,0)(2,9) \psframe[linewidth=2pt](5,0)(7,9) 
\psellipse(1,4.5)(1,4.5) \psellipse(6,4.5)(1,4.5)
\Cnode*(6,1.5){TR} \rput(TR){3} \Cnode*(6,3.5){DE} \rput(DE){2}
\Cnode*(6,5.5){UN} \rput(UN){1} \Cnode*(6,7.5){ZE} \rput(ZE){0}
\Cnode*(1,1){A} \rput(A){111} \ncline[nodesepA=10pt,ArrowInside=->]{A}{TR}
\Cnode*(1,2){B} \rput(B){110} \ncline[nodesepA=12pt,ArrowInside=->]{B}{DE}
\Cnode*(1,3){C} \rput(C){101} \ncline[nodesepA=10pt,ArrowInside=->]{C}{DE}
\Cnode*(1,4){D} \rput(D){100} \ncline[nodesepA=12pt,ArrowInside=->]{D}{UN}
\Cnode*(1,5){E} \rput(E){11}  \ncline[nodesepA=10pt,ArrowInside=->]{E}{DE}
\Cnode*(1,6){F} \rput(F){10}  \ncline[nodesepA=10pt,ArrowInside=->]{F}{UN}
\Cnode*(1,7){G} \rput(G){1}  \ncline[nodesepA=6pt,ArrowInside=->]{G}{UN}
\Cnode*(1,8){H} \rput(H){0}  \ncline[nodesepA=6pt,ArrowInside=->]{H}{ZE}
\rput(1,9.5){$E$} \rput(6,9.5){$F$} 
\psline{->}(1.5,9.5)(5.5,9.5) \uput[u](3.5,9.5){$p$}
\end{pspicture}
\end{center}

\begin{enumerate}[resume]
\item Quelle est l'affirmation exacte concernant l'application $p$ ?

\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{tabularx}{\linewidth}{|*{4}{>{\centering \arraybackslash}X|}}\hline
A :& \textcolor{blue}{B :} & C : & D : \\
L'application $p$ est injective et non surjective. &
\textcolor{blue}{L'application $p$ est surjective et non injective. } &
L'application $p$ est bijective.&
L'application $p$ n'est ni injective, ni surjective.    \\ \hline
\end{tabularx}
\end{center}

\begin{tabular}{@{\hspace{0.05\linewidth}} | p{0.9\linewidth}}
\begin{list}{\textbullet}{On examine la surjectivité et l'injectivité de l'application $p$.}
\item Tous les éléments de $F$ ont au moins un antécédent dans l'ensemble $E$, donc l'application $p$ est surjective.
\item Les éléments 1 et 10 de $E$ ont la même image 1 dans l'ensemble $F$ donc l'application $p$ n'est pas injective.
\end{list}

\hfill\textbf{Réponse B}
\end{tabular}

\medskip

\item Combien d'éléments de $E$ ont pour image $1$ ou $3$ par l'application $p$ ?

\begin{center}
\renewcommand{\arraystretch}{1.2}
\begin{tabularx}{\linewidth}{|*{4}{>{\centering \arraybackslash}X|}}\hline
A : 1 & B : 2 & C : 3 & \textcolor{blue}{D : 4} \\
\hline
\end{tabularx}
\end{center}

\begin{tabular}{@{\hspace{0.05\linewidth}} | p{0.9\linewidth}}
\begin{list}{\textbullet}{On cherche les éléments de $E$ qui ont pour image 1 par $p$, et ceux qui ont pour image 3 par $p$.}
\item Il y a 3 éléments de $E$ qui ont pour image 1 dans $F$: ce sont 1, 10 et 100.
\item Il n'y a qu'un élément de $E$ qui a pour image 3 dans $F$: c'est 111.
\end{list}

Il y a donc 4 éléments de $E$ qui ont pour image $1$ ou $3$ par l'application $p$.

\hfill\textbf{Réponse D}
\end{tabular}

\medskip

\end{enumerate}

Dans les questions 4 et 5, $a$, $b$ et $c$ sont trois variables booléennes.

\begin{enumerate}[resume]
\item  Parmi les expressions suivantes indiquer celle qui est une simplification de : 

\[b\barre{c}\;+ \;\barre{a}\barre{b}\barre{c}\; + \;\barre{a}\barre{b}c\;+\;a\barre{b}\barre{c}\]

\begin{center}
\renewcommand{\arraystretch}{1.4}
\begin{tabularx}{\linewidth}{|*{4}{>{\centering \arraybackslash}X|}}\hline
A : $\barre{c} \;+ \;abc$ & B : $\barre{a}\barre{b}\;+\;c$ & C : $c \;+\; ab\barre{c}$ & \textcolor{blue}{D : $\barre{a}	\barre{b}\;+\;\barre{c}$} \\ \hline
\end{tabularx}
\end{center}

\begin{tabular}{@{\hspace{0.05\linewidth}} | p{0.9\linewidth}}
Pour  toute variable booléenne $x$, on sait que: $x+x=x$, $x+\barre x=1$ et $1x=x$.

\smallskip

Donc
$b \barre{c}+ \barre{a}\barre{b}\barre{c} + \barre{a}\barre{b}c+a\barre{b}\barre{c}
=b\barre{c}+ \barre{a}\barre{b}\barre{c} + \barre{a}\barre{b}c+a\barre{b}\barre{c} + \barre{a}\barre{b}\barre{c}\newline
= \left (\barre{a}\barre{b}\barre{c} + \barre{a}\barre{b}c\right )+ \left (a\barre{b}\barre{c} + \barre{a}\barre{b}\barre{c}\right ) + b\barre{c}
= \barre{a}\barre{b}\left (\barre{c}+c\right ) + \left (a+\barre{a}\right )\barre{b}\barre{c} + b\barre{c}\newline
= \barre{a}\barre{b} + \barre{b}\barre{c} + b\barre{c}
= \barre{a}\barre{b} + \left (\barre{b}+b\right )\barre{c}
= \barre{a}\barre{b} + \barre{c}
$

\hfill\textbf{Réponse D}
\end{tabular}

\medskip

	\item Parmi les expressions suivantes indiquer celle qui est une simplification de :

\[\overline{b\barre{c}\;+ \;\barre{a}\barre{b}\barre{c}\;+\;\barre{a}\barre{b}c\;+\;a\barre{b}\barre{c}}\]

\begin{center}
\renewcommand{\arraystretch}{1.5}
\begin{tabularx}{\linewidth}{|*{4}{>{\centering \arraybackslash}X|}}\hline
A : $c\;+\;\barre{a}\barre{b}\barre{c}$ & B : $ac\;+\;\barre{b}\barre{c}$ & \textcolor{blue}{C : $ac\;+\; bc$} & D : $a\barre{b}\;+\;bc$ \\ \hline
\end{tabularx}
\end{center}

\begin{tabular}{@{\hspace{0.05\linewidth}} | p{0.9\linewidth}}
Pour toutes variables booléennes $x$ et $y$, on sait que:

$\overline{\barre x}=x$, $\barre{x+y}=\barre{x}\barre{y}$ et $\barre{xy}=\barre x + \barre y$.

$\overline{b\barre{c}\;+ \;\barre{a}\barre{b}\barre{c}\;+\;\barre{a}\barre{b}c\;+\;a\barre{b}\barre{c}}
=\overline{\barre{a}\barre{b} + \barre{c}}
= \left (\overline{\barre{a+b}}\right )\overline{ \barre{c}}
= \left ( a+b\right )c 
= ac+bc$

\hfill\textbf{Réponse C}
\end{tabular}

\medskip


\end{enumerate}


\section*{Exercice 2 \hfill 5 points}

Un codage affine est une méthode de chiffrement utilisée en cryptographie, qui consiste à remplacer chaque lettre du message en clair par une autre lettre de l'alphabet en utilisant une fonction affine. On associe à chaque lettre de l'alphabet une valeur numérique.

Seules les lettres majuscules sont utilisées dans cet exercice.

Voici le tableau de correspondance des lettres à leur rang.


\begin{center}
\small
%\renewcommand{\arraystretch}{1}
\begin{tabularx}{\linewidth}{@{|\;} c @{\;|}*{26}{>{ \centering \arraybackslash}X@{|}}}
\hline
lettre\; & A & B & C & D & E & F & G & H & I & J & K & L & M & N & O & P & Q & R & S & T & U & V & W & X & Y & Z \\ \hline
rang & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 & 11 & 12 & 13 & 14 & 15 & 16 & 17 & 18 & 19 & 20 & 21 & 22 & 23 & 24 & 25\\ \hline
\end{tabularx}
\end{center}


Ensuite, on définit la fonction affine de codage de la lettre de rang $n$. Soit $f$ la fonction définie pour tout entier $n$ compris entre 0 et 25 par:
$f(n)\equiv 7n + 5\ [26]$ avec $0 \leqslant f(n) \leqslant 25.$

\begin{enumerate}
	\item %Coder ainsi les lettres C et T en détaillant les étapes.
\begin{list}{\textbullet}{On code les lettres C et T.}
\item La lettre C a pour rang 2 et $7 \times 2 + 5 = 19 = 0 \times 26 + 19$ donc $19 \equiv 7\times 2 + 5\ [26]$. Comme $0 \leqslant 19 \leqslant 25$, on a $f(2)=19$ qui est le rang de la lettre T.\\
Donc C sera codé par T.
\item La lettre T a pour rang 19 et $7 \times 19 + 5 = 138 = 5 \times 26 + 8$ donc $8 \equiv 7\times 19 + 5\ [26]$. Comme $0 \leqslant 8 \leqslant 25$, on a $f(19)=8$ qui est le rang de la lettre I.\\
Donc T sera codé par I.
\end{list}	
	
	\item Pour calculer le reste de la division euclidienne d'un entier $N$ par 26, il suffit de soustraire 26 à $N$ autant de fois que possible, c'est-à-dire tant que la différence demeure supérieure ou égale à 26.

% \medskip

% \textbf{Exemple} :
%
%Le reste de la division euclidienne de 80 par 26 s'obtient ainsi:\\
%\hspace*{2cm} $80 - 26 = 54$ \quad Comme $54 \geqslant 26$, on soustrait alors 26 à 54.\\
%\hspace*{2cm} $54 - 26 = 28$ \quad Comme $28 \geqslant 26$, on soustrait alors 26 à 28.\\
%\hspace*{2cm}  $28 - 26 = 2$  \quad Comme $2 < 26$, on arrête.\\
%\hspace*{2cm} Le reste de la division euclidienne de 80 par 26 est 2.
%
%	      \bigskip

	      La fonction  \og  \texttt{reste\_division\_par\_26}  \fg   \ de paramètre \texttt{N}, ci-après, est écrite en langage naturel et emploie cette méthode pour renvoyer le reste de la division euclidienne de \texttt{N} par $26$.

%	      \medskip
%	      \textbf{Exemple} : \texttt{reste\_division\_par\_26(80)} renvoie la valeur entière 2.

On complète les deux lignes contenant des pointillés de cette fonction.

	      \begin{center}
		      \begin{tabular}{|l|}
			      \hline
			      \textbf{Fonction} \texttt{reste\_division\_par\_26}(\texttt{N})\\
			      \quad \quad\textbf{Tant que} \texttt{N} $\blue >= 26$ \textbf{Faire} \\
			      \quad\quad \quad\quad\texttt{N}$ \leftarrow$ \texttt{\blue N-26}\\
			      \quad\quad \textbf{Fin de Tant que}\\
			      \quad\quad \textbf{Renvoyer} \texttt{(N)}\\
			      \textbf{Fin de la fonction}\\
			      \hline
		      \end{tabular}
	      \end{center}

	\item La fonction \texttt{indice (lettre, chaine)} ci-dessous, renvoie le plus petit indice du caractère \og \texttt{lettre} \fg dans la chaîne de caractères \og \texttt{chaine} \fg, lorsqu'il est présent dans \og \texttt{chaine} \fg, et elle renvoie le nombre de caractères de \og\texttt{chaine} \fg\  sinon.
	
\medskip

	      La documentation de cette fonction précise que :
	      \begin{itemize}
		      \item \texttt{k} est un entier.
		      \item \texttt{lettre} est une chaîne de caractères constituée d'un seul caractère.
		      \item \texttt{chaine} est une chaîne de caractères.
		      \item \texttt{longueur(chaine)} renvoie le nombre de caractères de \texttt{chaine}.
	      \end{itemize}

%	      \noindent\textbf{Exemple} : \texttt{indice("S","BTSSIO")} renvoie la valeur $2$, le plus petit indice de \texttt{"S"} dans \texttt{"BTSSIO"}.

	      \begin{center}
		      \begin{tabular}{|l|}
			      \hline
			      \textbf{Fonction} \texttt{indice(lettre, chaine)} \\
			      \quad \quad  \texttt{k} $ \leftarrow $ 0         \\
			      \quad \quad  \textbf{Tant que }\ $\blue\texttt{k}<$ \ \texttt{longueur(chaine)} \textbf{et} \texttt{lettre} $\blue\neq \texttt{chaine[k]}$ \textbf{ Faire} \hspace*{0.5cm} \\
			      \quad \quad\quad \quad   \texttt{k} $\leftarrow$ \texttt{k }+ 1   \\
			      \quad \quad  \textbf{Fin de Tant que}    \\
			      \quad \quad  \textbf{Renvoyer} (\texttt{k})   \\
			      \textbf{Fin de Fonction} \\
			      \hline
		      \end{tabular}
	      \end{center}

	      \begin{enumerate}
		      \item %Quelle est la valeur renvoyée par \texttt{indice("A","BTSSIO")} ?
La fonction va chercher la lettre \texttt{A} dans la chaine de caractères \texttt{BTSSIO}.

La lettre n'est pas dans la \texttt{chaine}, donc la boucle va tourner jusqu'à la fin de la chaine de caractères;  la valeur renvoyée par la fonction \texttt{indice} est donc le nombre de caractères de la chaine, soit 6.
		 
		      \item On a complété en bleu  la ligne contenant les pointillés de la fonction \texttt{indice}.
	      \end{enumerate}
\end{enumerate}

\section*{Exercice 3 \hfill 10 points}

\textbf{Partie A}

\medskip

Les étudiants d'une classe de BTS SIO doivent fabriquer avec une imprimante 3D trois pièces : un boîtier, son couvercle ainsi qu'un support mural.
Ces trois pièces seront respectivement désignées dans la suite du sujet par la pièce $P_{1}$, la pièce $P_{2}$ et la pièce $P_{3}$.
Le projet de conception et de fabrication des prototypes de ces trois pièces est détaillé dans le tableau ci-dessous :

\begin{center}
\renewcommand{\arraystretch}{1.2}
	\begin{tabular}{|c| >{\centering\arraybackslash}p{7cm}|c|c|}
		\hline
		Tâches & Description   & Durées en min & Prédécesseurs \\
		\hline
		A      & Création du fichier .\texttt{stl} de la pièce $P_{1}$. & 120   & Aucun    \\\hline
		B      & Création du fichier .\texttt{stl} de la pièce $P_{2}$. & 75  & Aucun  \\\hline
		C      & Création du fichier .\texttt{stl} de la pièce $P_{3}$. & 150   & Aucun  \\\hline
		D      & Paramétrage de l'impression des 3 pièces.    & 25  & A, B, C   \\\hline
		E      & Impression des pièces $P_{1}$ et $P_{2}$.    & 128  & D   \\\hline
		F      & Finition de la pièce $P_{1}$.   & 15            & E             \\\hline
		G      & Finition de la pièce $P_{2}$.  & 5  & E             \\\hline
		H      & Impression de la pièce $P_{3}$.    & 103           & D             \\\hline
		I      & Finition de la pièce $P_{3}$.      & 15    & H \\\hline
	\end{tabular}
\end{center}

\begin{enumerate}
	\item
	      \begin{enumerate}
		      \item %Quels sont les successeurs de la tâche E ?
Les tâches F et G ont pour prédécesseur la tâche E, donc la tâche E a pour successeurs les tâches F et G.		      
		      
		      \item On admet que le graphe associé à ce projet peut être ordonnancé.\\
On détermine le niveau de chaque tâche.

\newpage

\begin{multicols}{2}
On part du tableau des prédécesseurs.\\
\\
On cherche les sommets qui n'ont pas de prédécesseur; il s'agit de A, de B et de C.\\
\\
Les sommets A, B et C sont donc de niveau 0.

\columnbreak

\begin{center}
\psset{cancelType=s,linewidth=1pt,linecolor=blue}
\begin{tabular}{|c|c|}
\hline
Sommets & Prédécesseurs\\
\hline
A & \\
\hline
B & \\
\hline
C & \\
\hline
D & A - B - C\\
\hline
E & D\\
\hline
F &  E\\
\hline
G & E\\
\hline
H & D\\
\hline
I & H\\
\hline
\end{tabular}
\end{center}

\end{multicols}

\begin{multicols}{2}
On supprime dans le tableau les sommets de niveau 0, puis on cherche dans le nouveau  tableau les sommets qui n'ont pas de prédécesseur; il s'agit de D.\\
\\
Le sommet D est donc de niveau 1.

\columnbreak

\begin{center}
\psset{cancelType=s,linewidth=1pt,linecolor=blue}
\begin{tabular}{|c|c|}
\hline
Sommets & Prédécesseurs\\
\hline
\psCancel A & \\
\hline
\psCancel B & \\
\hline
\psCancel C & \\
\hline
D & \psCancel A - \psCancel B - \psCancel C\\
\hline
E & D\\
\hline
F &  E\\
\hline
G & E\\
\hline
H & D\\
\hline
I & H\\
\hline
\end{tabular}
\end{center}

\end{multicols}

\begin{multicols}{2}
On supprime dans le tableau les sommets de niveau 1, puis on cherche dans le nouveau  tableau les sommets qui n'ont pas de prédécesseur; il s'agit de E et H.\\
\\
Les sommets E et H sont donc de niveau 2.

\columnbreak

\begin{center}
\psset{cancelType=s,linewidth=1pt,linecolor=blue}
\begin{tabular}{|c|c|}
\hline
Sommets & Prédécesseurs\\
\hline
\psCancel A & \\
\hline
\psCancel B & \\
\hline
\psCancel C & \\
\hline
\psCancel D & \psCancel A - \psCancel B - \psCancel C\\
\hline
E & \psCancel D\\
\hline
F &  E\\
\hline
G & E\\
\hline
H & \psCancel D\\
\hline
I & H\\
\hline
\end{tabular}
\end{center}
\end{multicols}

\begin{multicols}{2}
On supprime dans le tableau les sommets de niveau 2, puis on cherche dans le nouveau  tableau les sommets qui n'ont pas de prédécesseur; il s'agit de F, G et I.\\
\\
Les sommets F, G et I sont donc de niveau 3.

\columnbreak

\begin{center}
\psset{cancelType=s,linewidth=1pt,linecolor=blue}
\begin{tabular}{|c|c|}
\hline
Sommets & Prédécesseurs\\
\hline
\psCancel A & \\
\hline
\psCancel B & \\
\hline
\psCancel C & \\
\hline
\psCancel D & \psCancel A - \psCancel B - \psCancel C\\
\hline
\psCancel E & \psCancel D\\
\hline
F &  \psCancel E\\
\hline
G & \psCancel E\\
\hline
\psCancel H & \psCancel D\\
\hline
I & \psCancel H\\
\hline
\end{tabular}
\end{center}
\end{multicols}

\begin{center}
\begin{tabularx}{0.9\linewidth}{|c|*{4}{>{\centering \arraybackslash}X|}}
\hline
Niveaux & 0 & 1 & 2 & 3\\
\hline
Sommets & A - B - C & D & E - H & F - G - I \\
\hline
\end{tabularx}
\end{center}

	      \end{enumerate}
	\item
	      \begin{enumerate}
		      \item %Tracer une représentation du graphe ordonnancé de ce projet, suivant la méthode PERT ou MPM en indiquant les dates au plus tôt et au plus tard de chaque tâche.
On construit par étapes le graphe d'ordonnancement du projet (M. P. M.); pour cela on construit le graphe par niveaux en rajoutant une tâche fictive \og fin \fg{}.
		      

%%%%% 1
\begin{center}
\footnotesize
\psset{unit=0.56cm,arrowsize=3pt 2}
\begin{pspicture}(1,0)(23,8)
\psset{linewidth=.75pt,nodesep=0.7cm}
%\psgrid[subgriddiv=2,  gridlabels=0, gridcolor=lightgray]
%%% boîte
\newcommand{\boxh}[3]{%%%
\newrgbcolor{rb}{0.804 0 0}
\psframe(-1,-1)(1,1)
\psline(-1,0)(1,0)
\psline(0,0)(0,1)
\rput(0,-0.5){\textbf{#1}}
\rput(-0.5,0.5){\blue{}#2}
\rput(0.5,0.5){\rb{}#3}}%%%  fin de boîte
%%% sommets
\def\ray{5}
\cnodeput*(2,7){A}{\boxh{A}{}{}} 
\cnodeput*(2,4){B}{\boxh{B}{}{}} 
\cnodeput*(2,1){C}{\boxh{C}{}{}}  
\cnodeput*(7,4){D}{\boxh{D}{}{}}  
\cnodeput*(12,6){E}{\boxh{E}{}{}}
\cnodeput*(12,2){H}{\boxh{H}{}{}}  
\cnodeput*(17,7){F}{\boxh{F}{}{}}  
\cnodeput*(17,4){G}{\boxh{G}{}{}}
\cnodeput*(17,1){I}{\boxh{I}{}{}}
\cnodeput*(22,4){X}{\boxh{fin}{}{}}  
%%% arcs
\ncline{->}{A}{D} \ncput*{120}  
\ncline{->}{B}{D} \ncput*{75}  
\ncline{->}{C}{D} \ncput*{150}  
\ncline{->}{D}{E}  \ncput*{25}  
\ncline{->}{D}{H}  \ncput*{25}  
\ncline{->}{E}{F}  \ncput*{128}  
\ncline{->}{E}{G}  \ncput*{128}
\ncline{->}{H}{I} \ncput*{103}  
\ncline{->}{F}{X} \ncput*{15}  
\ncline{->}{G}{X}  \ncput*{5}  
\ncline{->}{I}{X}    \ncput*{15}   
\end{pspicture} 
\end{center}

Pour déterminer pour chaque tâche la \og date au plus tôt \fg{}, on traite les sommets par niveaux en partant du début. Puis pour chaque sommet, on note la date qui est la longueur du plus \textbf{long} chemin depuis le début.

%%%%% 2
\begin{center}
\footnotesize
\psset{unit=0.56cm,arrowsize=3pt 2}
\begin{pspicture}(1,0)(23,8)
\psset{linewidth=.75pt,nodesep=0.7cm}
%\psgrid[subgriddiv=2,  gridlabels=0, gridcolor=lightgray]
%%% boîte
\newcommand{\boxh}[3]{%%%
\newrgbcolor{rb}{0.804 0 0}
\psframe(-1,-1)(1,1)
\psline(-1,0)(1,0)
\psline(0,0)(0,1)
\rput(0,-0.5){\textbf{#1}}
\rput(-0.5,0.5){\scriptsize\blue{}#2}
\rput(0.5,0.5){\scriptsize\rb{}#3}}%%%  fin de boîte
%%% sommets
\def\ray{5}
\cnodeput*(2,7){A}{\boxh{A}{0}{}} 
\cnodeput*(2,4){B}{\boxh{B}{0}{}} 
\cnodeput*(2,1){C}{\boxh{C}{0}{}}  
\cnodeput*(7,4){D}{\boxh{D}{150}{}}  
\cnodeput*(12,6){E}{\boxh{E}{175}{}}
\cnodeput*(12,2){H}{\boxh{H}{175}{}}  
\cnodeput*(17,7){F}{\boxh{F}{303}{}}  
\cnodeput*(17,4){G}{\boxh{G}{303}{}}
\cnodeput*(17,1){I}{\boxh{I}{278}{}}
\cnodeput*(22,4){X}{\boxh{fin}{318}{}}  
%%% arcs
\ncline{->}{A}{D} \ncput*{120}  
\ncline{->}{B}{D} \ncput*{75}  
\ncline{->}{C}{D} \ncput*{150}  
\ncline{->}{D}{E}  \ncput*{25}  
\ncline{->}{D}{H}  \ncput*{25}  
\ncline{->}{E}{F}  \ncput*{128}  
\ncline{->}{E}{G}  \ncput*{128}
\ncline{->}{H}{I} \ncput*{103}  
\ncline{->}{F}{X} \ncput*{15}  
\ncline{->}{G}{X}  \ncput*{5}  
\ncline{->}{I}{X}    \ncput*{15}   
\end{pspicture} 
\end{center}

Ce graphe donne la durée minimale du projet qui est de 318 minutes.

Pour déterminer pour chaque tâche la \og date au plus tard \fg{}, on traite les sommets par niveaux en partant de la fin et en marquant 318 pour le sommet \og fin \fg{}.
La date \og au plus tard \fg{} d'une tâche s'obtient en retirant de la date au plus tard de la tâche qui lui succède sa propre durée.\\
S'il y a plusieurs successeurs, on garde la date la plus \textbf{petite}.

%%%%% 3
\begin{center}
\footnotesize
\psset{unit=0.56cm,arrowsize=3pt 2}
\begin{pspicture}(1,0)(23,8)
\psset{linewidth=.75pt,nodesep=0.7cm}
%\psgrid[subgriddiv=2,  gridlabels=0, gridcolor=lightgray]
%%% boîte
\newcommand{\boxh}[3]{%%%
\newrgbcolor{rb}{0.804 0 0}
\psframe(-1,-1)(1,1)
\psline(-1,0)(1,0)
\psline(0,0)(0,1)
\rput(0,-0.5){\textbf{#1}}
\rput(-0.5,0.5){\scriptsize\blue{}#2}
\rput(0.5,0.5){\scriptsize\rb{}#3}}%%%  fin de boîte
%%% sommets
\def\ray{5}
\cnodeput*(2,7){A}{\boxh{A}{0}{30}} 
\cnodeput*(2,4){B}{\boxh{B}{0}{75}} 
\cnodeput*(2,1){C}{\boxh{C}{0}{0}}  
\cnodeput*(7,4){D}{\boxh{D}{150}{150}}  
\cnodeput*(12,6){E}{\boxh{E}{175}{175}}
\cnodeput*(12,2){H}{\boxh{H}{175}{200}}  
\cnodeput*(17,7){F}{\boxh{F}{303}{303}}  
\cnodeput*(17,4){G}{\boxh{G}{303}{313}}
\cnodeput*(17,1){I}{\boxh{I}{278}{303}}
\cnodeput*(22,4){X}{\boxh{fin}{318}{318}}  
%%% arcs
\ncline{->}{A}{D} \ncput*{120}  
\ncline{->}{B}{D} \ncput*{75}  
\ncline{->}{C}{D} \ncput*{150}  
\ncline{->}{D}{E}  \ncput*{25}  
\ncline{->}{D}{H}  \ncput*{25}  
\ncline{->}{E}{F}  \ncput*{128}  
\ncline{->}{E}{G}  \ncput*{128}
\ncline{->}{H}{I} \ncput*{103}  
\ncline{->}{F}{X} \ncput*{15}  
\ncline{->}{G}{X}  \ncput*{5}  
\ncline{->}{I}{X}    \ncput*{15}   
\end{pspicture} 
\end{center}

		      \item% Quelle est la durée prévisionnelle du projet, exprimée en heure et minute ?
La durée prévisionnelle du projet est de 318 minutes, soit 5 heures et 18 minutes.
	      \end{enumerate}
	      
	\item
	      \begin{enumerate}
		      \item La marge totale d'une tâche est la différence entre sa date au plus tard et sa date au plus tôt. On calcule la marge totale de chaque tâche. 
		 
\begin{center}
\begin{tabularx}{0.9\linewidth}{|c|*{9}{>{\centering \arraybackslash}X|}}
\hline
Tâche & A & B & C & D & E & F & G & H & I\\
\hline
Marge totale & 30 & 75 & 0 & 0 & 0 & 0 & 10 & 25 & 25  \\
\hline
\end{tabularx}
\end{center}		 
		 		      
		      \item Le  chemin critique est donc: C $\rightarrow$ D  $\rightarrow$ E  $\rightarrow$ F.
		      \item La tâche qui peut prendre le plus de retard, sans retarder la date prévisionnelle de la fin de projet est la tâche qui a la plus grande marge totale, donc c'est  B. 
		      
La durée maximale du retard admissible pour cette tâche est égale à sa marge totale donc elle est de 75 minutes.

%Justifier et préciser la durée maximale du retard admissible pour cette tâche.
	      \end{enumerate}
\end{enumerate}

\bigskip

\textbf{Partie B}

\medskip

Les étudiants fabriquent ensuite trois séries de pièces.
Ils disposent du bilan des coûts des différentes fabrications et souhaitent connaître le prix unitaire de chaque pièce $P_{1}$, $P_{2}$ et $P_{3}$.

\begin{list}{}{}
\item Série 1 : la fabrication d'une pièce $P_{1}$, d'une pièce $P_{2}$ et d'une pièce $P_{3}$ a coûté 24 €.

\item Série 2 : la fabrication de deux pièces $P_{1}$ et de deux pièces $P_{3}$ a coûté 40 €.

\item Série 3 : la fabrication d'une pièce $P_{1}$ et de trois pièces $P_{2}$ a coûté 18 €.
\end{list}

\begin{tabular}{@{} l l}
On notera: & $x$ le coût de fabrication d'une pièce $P_{1}$,  exprimé en euro.\\
	 & $y$ le coût de fabrication d'une pièce $P_{2}$, exprimé en euro. \\
	 & $z$ le coût de fabrication d'une pièce $P_{3}$, exprimé en euro. \\
\end{tabular}

\begin{enumerate}
	\item D'après le texte, le système d'équations $(S)$, d'inconnues $x$, $y$ et $z$, permettant de traduire les coûts de fabrication des trois séries est:
$\left \{
\begin{array}{r c r c r  !{=} r}
x&+&y&+&z & 24\\
2x &&&+& 2z & 40\\
x &+& 3y &&& 18
\end{array}
\right .$	
	
\end{enumerate}

Pour la suite de cette partie, on notera :
$ M = \begin{pmatrix}    1 & 1 & 1 \\   2 & 0 & 2 \\ 1 & 3 & 0  \end{pmatrix}
		      \quad
		      X = \begin{pmatrix}	 x \\	y \\	z  \end{pmatrix}
		      \quad\text{et}\quad
		      P = \begin{pmatrix} 24 \\ 40 \\ 18  \end{pmatrix}.$

	      On admet que le système $(S)$ peut se traduire matriciellement par l'égalité $M\times X = P$.

%      \bigskip


\begin{enumerate}[resume]
	\item On pose
$ N = \begin{pmatrix} -3 & 1,5  & 1  \\ 1  & -0,5 & 0  \\  3  & -1   & -1 \end{pmatrix}$
et		      
$I = \begin{pmatrix} 1 & 0 & 0 \\  0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}$

	      \begin{enumerate}
		      \item %Calculer le produit matriciel $N\times M$. Que peut‐on en déduire ?
$\aligned[t]
N\times M &
=\begin{pmatrix} -3 & 1,5  & 1  \\ 1  & -0,5 & 0  \\  3  & -1   & -1 \end{pmatrix}
\times \begin{pmatrix}    1 & 1 & 1 \\   2 & 0 & 2 \\ 1 & 3 & 0  \end{pmatrix} \\
& =\begin{pmatrix}
-3 \times 1 + 1,5\times 2 + 1 \times 1 &
-3 \times 1 + 1,5\times 0 + 1 \times 3 &
-3 \times 1 + 1,5\times 2 + 1 \times 0 \\
1 \times 1 - 0,5\times 2 + 0 \times 1 &
1 \times 1 - 0,5\times 0 + 0 \times 3 &
1 \times 1 - 0,5\times 2 + 0 \times 0 \\
3 \times 1 - 1\times 2 -1 \times 1 &
3 \times 1 - 1\times 0 -1 \times 3 &
3 \times 1 - 1\times 2 -1 \times 0 
\end{pmatrix}\\
& =  \begin{pmatrix} 1 & 0 & 0 \\  0 & 1 & 0 \\ 0 & 0 & 1 \end{pmatrix}
= I
\endaligned$		      

On en déduit que $N$ est la matrice inverse de $M$.
		      
		      \item% Prouver que l'équation $M\times X = P$ d'inconnue $X$ a pour solution $X = N\times P$.
Si $M\times X = P$, alors $N\times M\times X = N\times  P$, donc $I\times X = N\times P$, et donc $X=N\times P$.
		      
		      \item %En déduire les prix en euro de chacune des pièces $P_{1}$, $P_{2}$ et $P_{3}$.
$N\times P 
= \begin{pmatrix} -3 & 1,5  & 1  \\ 1  & -0,5 & 0  \\  3  & -1   & -1 \end{pmatrix} \times
\begin{pmatrix} 24 \\ 40 \\ 18  \end{pmatrix}
=\begin{pmatrix}
-3\times 24 + 1,5\times 40 + 1\times 18\\
1 \times 24 -0,5\times 40 + 0\times 18\\
3\times 24 -1\times 40 - 1\times 18
\end{pmatrix}
=\begin{pmatrix} 6\\4\\14 \end{pmatrix}$

Donc 
$X==\begin{pmatrix} 6\\4\\14 \end{pmatrix}$
ce qui veut dire:
$\begin{pmatrix} x\\y\\z \end{pmatrix}
=\begin{pmatrix} 6\\4\\14 \end{pmatrix}$
et donc:
$\left \{
\begin{array}{r  !{=} r}
x & 6\\
y & 4\\
z & 14
\end{array}
\right .$	

\begin{tabular}{@{} l @{~} l}
Donc  &  le coût de fabrication d'une pièce $P_{1}$ est de 6 \euro;\\
	 &  le coût de fabrication d'une pièce $P_{2}$ est de 4 \euro;\\
	 &  le coût de fabrication d'une pièce $P_{3}$ est de 14 \euro.\\
\end{tabular}
	      \end{enumerate}
\end{enumerate}

\end{document}
