\documentclass[10pt,frenchb,pdftex]{beamer}
%
\RequirePackage{ifthen}
\RequirePackage{xargs}
\RequirePackage{tikz}
\RequirePackage{tabularx}
\usetikzlibrary{shapes,arrows,automata,shadows,calc}
\RequirePackage{texgraph}
\RequirePackage[frenchb]{babel}
%
\RequirePackage[french,ruled,boxed,slide]{algorithm2e}
\SetKwInput{Init}{Initialisation}
\SetKwInput{Entrees}{Entr\'ees}
\SetKwInput{Entree}{Entr\'ee}
\SetKwInput{Sortie}{Sortie}
\SetKwInput{Sorties}{Sorties}
\SetKwIF{Si}{SinonSi}{Sinon}{Si}{alors}{SinonSi}{Sinon}{FinSi}
\SetKwBlock{Trait}{Traitement}{FinTraitement}
\SetKwBlock{TraitSortie}{Traitement et Sortie}{FinTraitement}
\SetKwFor{Pour}{Pour}{faire}{FinPour}
\SetKwFor{Tq}{Tant que}{faire}{FinTantque}
%
\usetheme{Warsaw}
\usecolortheme{crane}
\setbeamertemplate{headline}{%
\begin{beamercolorbox}[ht=0ex,dp=0ex,
leftskip=.3cm,rightskip=.3cm plus1fil]%
{section in head/foot}%
\raisebox{1.125ex}%
{\tiny\bfseries\insertframenumber/\inserttotalframenumber}%
\hfill%
\end{beamercolorbox}}
\setbeamertemplate{blocks}[rounded][shadow=false]
\addtobeamertemplate{headline}
{}
{%
  \vskip-0.2pt
  \pgfuseshading{beamer@topshade}
  \vskip-2pt
}
\usepackage[utf8]{inputenc}
\usepackage[charter]{mathdesign}
\usepackage[T1]{fontenc}
\renewcommand{\ttdefault}{lmtt} 
\usefonttheme[onlymath]{serif}
% contenu de la page de titre
\title{\textbf{ALGORITHMIQUE}}
\subtitle{Méli-Mélo -- Série 8}
\author{\small{Calcul mental et automatismes -- IREM de Clermont-Ferrand}}
\institute{\texttt{}}
\date{}
\hypersetup{
	%pdfpagemode = FullScreen,					% afficher le pdf en plein écran     
	pdfauthor   = {Joffrey Cottin},					%
	%pdftitle    = {Titre ...},					%
	%pdfsubject  = {Sujet ...},					%
	%pdfkeywords = {Mots clés séparés par des virgules}	%
	%pdfcreator  = {PDFLaTeX},					%
	%pdfproducer = {PDFLaTeX}					%
}
\newcommand{\beameronly}[1]{#1} % permet de mettre des pause dans beamer pas dans poly
\setbeamertemplate{navigation symbols}{}
\setbeamertemplate{footline}  % tiré du fichier beamerouterinfolines.sty
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{section in head/foot}{\bf\insertshorttitle}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{section in head/foot}{\bf\insertshortsubtitle} % pour avoir le nom du diapo au centre
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
  \end{beamercolorbox}}%
  \vskip0pt%
}
\setlength{\parindent}{0cm}
% background beamer
\definecolor{couleurhaut}{rgb}{0.85,0.9,1}  % creme
\definecolor{couleurmilieu}{rgb}{1,1,1}  % vert pale
\definecolor{couleurbas}{rgb}{0.85,0.9,1}  % blanc
\setbeamertemplate{background canvas}[bg=white]%
%
\def\R{\mathbb{R}}
\let\ds\displaystyle
\let\Sup\geqslant
\let\Inf\leqslant
\newcommand{\Oij}{\ensuremath{\left(O~;\Vi{i},\Vi{j}\right)}}  	% repère plan
\newcommand{\OIJ}{\ensuremath{\left(O~;~I,~J\right)}}  		% repère plan (O;I,J)
\newcommand{\ag}[1]{\ensuremath{\widehat{\text{#1}}}}		 		% angle géométrique
\newcommand{\courbe}[1]{\ensuremath{\mathscr{C}_{#1}}}		% pour les courbes
\newcommand{\Iff}[2]{\ensuremath{\left[#1~;~#2\right]}}	% Intervalles du type [a ; b]
\newcommand{\Iof}[2]{\ensuremath{\left]#1~;~#2\right]}}	% Intervalles du type ]a ; b]
\newcommand{\Ifo}[2]{\ensuremath{\left[#1~;~#2\right[}}	% Intervalles du type [a ; b[
\newcommand{\Ioo}[2]{\ensuremath{\left]#1~;~#2\right[}}	% Intervalles du type ]a ; b[

\begin{document}

\begin{frame}
\titlepage 
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q1          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (1)}

\begin{frame}
\frametitle{\textbf{Question (1)}}

On considère l'algorithme suivant :

\begin{center}
	\begin{minipage}{0.52\linewidth} 
		\begin{algorithm}[H]
			\Init{$a$ prend la valeur $12$ ;\\
			\hspace*{2.265cm} $b$ prend la valeur $8$.}
			\Trait{
				$c$ prend la valeur $a$ ;\\
				$a$ prend la valeur $b$ ;\\
				$b$ prend la valeur $c$.
			}
			\Sortie{Afficher $a$ et $b$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelles sont les valeurs affichées en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q2          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (2)}

\begin{frame}
\frametitle{\textbf{Question (2)}}

On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.52\linewidth}   
		\begin{algorithm}[H]
			\Init{$a$ prend la valeur $9$ ;\\
			\hspace*{2.265cm} $b$ prend la valeur $5$.}
			\Trait{
				$a$ prend la valeur $a+b$ ;\\
				$b$ prend la valeur $a-b$.
			}
			\Sortie{Afficher $a$ et $b$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelles sont les valeurs affichées en sortie par cet algorithme ?
\end{block}
\end{frame}



%%%%%%%%%%%%%%%%%%%%%%%%
%          Q3          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (3)}

\begin{frame}
\frametitle{\textbf{Question (3)}}

On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.52\linewidth}   
		\begin{algorithm}[H]
			\Init{$a$ prend la valeur $7$ ;\\
			\hspace*{2.265cm} $b$ prend la valeur $12$.}
			\Trait{
				\Si{$a>5$}{$b$ prend la valeur $b-5$.}
				\Si{$b\Sup10$}{$b$ prend la valeur $b+1$.}
			}
			\Sortie{Afficher $b$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelle est la valeur affichée en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q4          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (4)}

\begin{frame}
\frametitle{\textbf{Question (4)}}

On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.52\linewidth}   
		\begin{algorithm}[H]
			\Init{$a$ prend la valeur $7$ ;\\
			\hspace*{2.265cm} $b$ prend la valeur $12$.}
			\Trait{
				\Si{$b\Sup10$}{$b$ prend la valeur $b+1$.}
				\Si{$a>5$}{$b$ prend la valeur $b-5$.}
			}
			\Sortie{Afficher $b$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelle est la valeur affichée en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q5          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (5)}

\begin{frame}
\frametitle{\textbf{Question (5)}}
On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.52\linewidth}   
		\begin{algorithm}[H]
			\Init{$n$ prend la valeur $7$.}
			\Trait{
				\Tq{$n<15$}{$n$ prend la valeur $n+2$.}
			}
			\Sortie{Afficher $n$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Y a-t-il une valeur affichée en sortie par cet algorithme ? Si oui, laquelle ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q6          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (6)}

\begin{frame}
\frametitle{\textbf{Question (6)}}

On considère l'algorithme suivant :

\begin{center}
	\begin{minipage}{0.52\linewidth}   
		\begin{algorithm}[H]
			\Init{$n$ prend la valeur $11$.}
			\Trait{
				\Tq{$n>10$}{$n$ prend la valeur $n+2$.}
			}
			\Sortie{Afficher $n$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Y a-t-il une valeur affichée en sortie par cet algorithme ? Si oui, laquelle ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q7          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (7)}

\begin{frame}
\frametitle{\textbf{Question (7)}}
On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.5\linewidth}   
		\begin{algorithm}[H]
			\Init{$n$ prend la valeur $0$.}
			\Trait{
				\Pour{$i$ allant de 0 à 5}{$n$ prend la valeur $n+1$.}
			}
			\Sortie{Afficher $n$.}    
		\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelle est la valeur affichée en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%%%%
%          Q8          %
%%%%%%%%%%%%%%%%%%%%%%%%
\section{Question (8)}

\begin{frame}
\frametitle{\textbf{Question (8)}}
On considère l'algorithme suivant :
\begin{center}
	\begin{minipage}{0.5\linewidth}
	\begin{algorithm}[H]
		\Init{$n$ prend la valeur $0$.}
		\Trait{
			\Pour{$i$ allant de 0 à 5}{$n$ prend la valeur $n+1$.}
		}
		\Sortie{Afficher $i$.}    
	\end{algorithm}
	\end{minipage}
\end{center}

\begin{block}{}
Quelle est la valeur affichée en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%
%%% Question (9) %%%
%%%%%%%%%%%%%%%%%%%%

\begin{texgraph}[name=robot,export=pgf,preload="grid.mod",auto=false]
Fenetre(6.5*i,6.5-0.5*i,0.75*(1+i)),
Marges(0,0,0,0),
draw("grid",[0,6+6*i]),
draw("seg",[5,6],[marker:=[0,Line,1,Line],Width:=8,legend:="1 unit\'e",labelsep:=-0.3]),
draw("seg",[6,6+i],[marker:=[0,Line,1,Line],Width:=8,legend:="1 unit\'e",labelsep:=-0.3]),
draw("label","$R$",[anchor:=1+i,labeldir:=SE]
            ,"$A$",[anchor:=2*(1+i),labeldir:=SE,DotScale:=2,showdot:=1]
            ,"$B$",[anchor:=3*(1+i),labeldir:=SE,DotScale:=2,showdot:=1]
            ,"$C$",[anchor:=4*(1+i),labeldir:=SE,DotScale:=2,showdot:=1]
            ,"$D$",[anchor:=5*(1+i),labeldir:=SE,DotScale:=2,showdot:=1]),
R:=1+i,
draw("line",[R-0.1,R+0.1],[marker:=[1,CParrow'],scale:=1.5,Color:=red]),
\end{texgraph}

\section{Question (9)}

\begin{frame}
\frametitle{\textbf{Question (9)}}
On considère l'algorithme suivant :
\begin{center}
\noindent \begin{minipage}{0.53\linewidth}{
	\begin{algorithm}[H]
		\Init{Le robot est en $R$.}
		\Trait{
			\Pour{$i$ allant de 0 à 2}
				{Le robot avance de 1 unité ;\\
				 Le robot monte de 1 unité.}
		}
		\Sortie{Afficher la position du robot.}    
	\end{algorithm}
}\end{minipage} \hfill
\noindent \begin{minipage}{0.45\linewidth}{
\begin{center} \input{robot.pgf} \end{center}
}\end{minipage}
\end{center}

\begin{block}{}
Quelle est la valeur affichée en sortie par cet algorithme ?
\end{block}
\end{frame}

%%%%%%%%%%%%%%%%%%%%%
%%% Question (10) %%%
%%%%%%%%%%%%%%%%%%%%%

\begin{texgraph}[name=axe,export=pgf,preload="grid.mod",auto=false]
Fenetre(-6+i,7-0.5*i,0.75+0.75*i),
Marges(0,0,0,0),
draw("axeX",[0,1],[limits:=[-6+7*i],Arrows:=1]),
NewMac("puce","[
    SaveAttr(),
    FillStyle:=full, FillColor:=black,
    r:=%2,
    Cercle(%1,r),
    Path([%1,%1+r*exp(i*pi/4), r,r/4, 45,ellipse],0),
    Path([%1,%1+r*exp(3*i*pi/4), r,r/4, -45,ellipse],0),
    FillStyle:=none,
    for k in [-pi/3, -pi/6] do
        A:=%1+r*exp(i*k), $B:=%1+2*r*exp(i*k), $C:=rot(A,B,pi/2),
        P1:=[A,B,C], P2:=sym(P1,%1,%1+i),
        Ligne([P1, jump, P2],0) od,
    RestoreAttr()
    ]"),
puce(0.5*i,0.25) 
\end{texgraph}

\section{Question (10)}

\begin{frame}
\frametitle{\textbf{Question (10)}}

{\small Une puce se déplace sur un axe gradué ; à chaque saut, elle se déplace d'une unité de manière aléatoire, vers la gauche ou vers la droite.\\
Elle part de l’origine et effectue une \og marche aléatoire \fg de 5 sauts.\\
On considère l'algorithme et l'axe suivants :}

\begin{center} \input{axe.pgf} \end{center}

\noindent \begin{minipage}{0.6\linewidth}{
{\footnotesize
%\begin{center}
%	\begin{minipage}{0.65\linewidth} 
		\begin{algorithm}[H]
			\Init{$X$ prend la valeur 0.}
			\Trait{
				\Pour{$i$ allant de 1 à 5}
					{Choisir un nombre aléatoire $A$ de $\Ifo{0}{1}$.\\
					\eSi{$A<0,5$}
						{$X$ prend la valeur $X+1$ ;}
						{$X$ prend la valeur $X-1$.}
					}
			}
			\Sortie{Afficher $X$}
		\end{algorithm}
%	\end{minipage} 
%\end{center}
}
}\end{minipage}\hfill
\noindent \begin{minipage}{0.35\linewidth}{
\begin{block}{}
Les 5 nombres aléatoires successifs sont :\\ 0,7 ; 0,4 ; 0,3 ; 0,1 ; 0,1.

\medskip

Quelle sera la position finale de la puce ?
\end{block}
}\end{minipage}
\end{frame}

\begin{texgraph}[preload="ornaments.mod", name=fin, export=pgf, auto=false]
Fenetre(-3+0.5*i,3-0.5*i,1+i),
Marges(0,0,0,0),
S:=Loadvectorian(72),
Drawvectorian(-2, S, [width:=2]),
S:=Loadvectorian(73),
Drawvectorian(2, S, [width:=2]),
LabelSize:=Huge, Label(0, "FIN") 
\end{texgraph}

\begin{frame}
\begin{center} {\Huge 
\input{fin.pgf}
} \end{center}
\end{frame}

\end{document} 