\documentclass[a4paper,11pt]{article}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsthm}

\usepackage{textcomp}

\usepackage{graphicx}

\usepackage{caption}
\usepackage{fancyhdr}

\usepackage{array}

\usepackage[colorlinks,citecolor=blue,urlcolor=blue,linkcolor=blue,pagebackref=true]{hyperref}

\usepackage{enumerate}
\usepackage{pgf}

\usepackage{times}

\usepackage{pict2e,xcolor}
\usepackage{framed}

\setlength{\oddsidemargin}{-0.2cm}
\setlength{\textwidth}{16.3cm}
\setlength{\topmargin}{-1.5cm}
\setlength{\textheight}{24.8cm}
\parindent 0.8cm

%création des ensembles de nombres
\font\bbw=msbm10
\def\R{\hbox{\bbw R}}
\def\N{\hbox{\bbw N}}
\def\Z{\hbox{\bbw Z}}
\def\D{\hbox{\bbw D}}
\def\Q{\hbox{\bbw Q}}

\newcommand {\cdisp} {\setlength\unitlength{2pt} %creation du disp de casio
\begin{picture}(0,0)
\linethickness{.5mm}
\polygon*(0,0.3)(1,0.3)(1,1.3)
\color{black}
\polygon(0,0.3)(1,0.3)(1,1.3)
\end{picture}}

\definecolor{fond}{gray}{0.95}
\newenvironment{cadrecode}{%
  \def\FrameCommand{{\color[HTML]{888888}\vrule width 3pt}\colorbox{fond}}%
  \MakeFramed {\advance\hsize-\width \FrameRestore}}%
{\endMakeFramed}

\begin{document}

\pagestyle{fancy}
\fancyhead{}
\fancyfoot{}
\lfoot{\small{Bernelas-Bays}}
\rfoot{\small{Lycée Les Eucalyptus}}
\fancyfoot[C]{\thepage}
\renewcommand \headrulewidth{0pt}
\renewcommand \footrulewidth{.2pt}
	
\begin{center} \Large \textbf{\fbox{\begin{minipage}{0.6\textwidth}
  \begin{center} Algorithmique et fonctions\end{center} 
\end{minipage}}} 
  \end{center}

\vspace{4ex}


Plusieurs algorithmes concernant l'étude des fonctions doivent être connus.


\section{Solutions d'une équation}

L'analyse mathématique, faite au préalable, permet grâce au théorème des valeurs intermédiaires d'affirmer :

si $f$ est continue croissante sur $[a;b]$ et si $k\in [f(a);f(b)]$,

ou  si $f$ est continue décroissante sur $[a;b]$ et si $k\in [f(b);f(a)]$,

alors l'équation  $f(x)=k$ admet une solution unique $\alpha$ dans $[a;b]$ .

~

\subsection{Méthode par dichotomie}

 Cette méthode permet de déterminer un encadrement de la solution $\alpha$. A chaque étape l'amplitude de l'intervalle contenant la solution est divisé par deux. En dix étapes, on gagne environ trois décimales puisque $2^{10}\simeq 1000$. 
Exemple d'algorithme :

\begin{cadrecode}
\begin{small}
\begin{verbatim}
Variables et Initialisation
   a et b, les bornes de l'intervalle [a ; b]
   f, la fonction (f change de signe entre a et b)
   m , milieu de l'intervalle "courant"
Traitement
   Tant que b - a > 0.001
      m prend la valeur (a+b)/2
      Si f(m) et f (a) sont de même signe alors
         a prend la valeur m
      sinon
         b prend la valeur m
Sortie
   a et b
\end{verbatim}
\end{small}
\end{cadrecode}

\subsection{Méthode par "balayage"} 

Encadrement de la solution de l'équation $f(x)=k$ dans le cas d'une fonction strictement croissante avec $f(a)\leq k\leq f(b)$:

\begin{cadrecode}
\begin{small}
\begin{verbatim}
Variables et Initialisation
   a, b les bornes de l'intervalle d'étude
   f, la fonction à étudier
   dx le pas (la précision souhaitée)
   x, la valeur "courante"
   x prend la valeur a
Traitement
   Tant que f(x)<k
      x prend la valeur x+dx
Sortie
   Affiche x-dx et x.
\end{verbatim}
\end{small}
\end{cadrecode}

\textbf{Exemple}

On considère la fonction $f$ définie sur $\R$ par $f(x)=x^3+x-1$.

Démontrer que l'équation $f(x)=0$ admet une solution unique notée $\alpha$ sur $\R$.

Utilisation de la calculatrice : en utilisant l'algorithme de dichotomie, écrire un programme et déterminer un encadrement de $\alpha$ à $10^{-3}$ près. 

Ecrire un deuxième programme utilisant la méthode par balayage. Commenter les affichages de chaque programme.

Compléter les programmes en ajoutant une variable nommée "cpt" initialisée à 0 et incrémentée à chaque passage dans la boucle. Combien de fois est parcourue la boucle \textbf{Tant que} dans chaque programme ?

\section{Recherche d'extremum}

\subsection{Algorithme 1 : déterministe à pas constant}

\begin{cadrecode}
\begin{small}
\begin{verbatim}
Variables et Initialisation
   a, b les bornes de l'intervalle d'étude
   f, la fonction à étudier
   N, le nombre d'intervalles et dx le pas
   x, la valeur "courante" et y, la valeur de f(x)
   min prend la valeur f(a)
   max prend la valeur f(a)
   dx prend la valeur (b-a)/N
   x prend la valeur a
Traitement
   Pour k de 1 à N
      x prend la valeur x+dx
      y prend la valeur f(x)
      Si y>max alors
         max prend la valeur y
      Si y<min alors
         min prend la valeur y
Sortie
   Affiche min et max.
\end{verbatim}
\end{small}
\end{cadrecode}


\subsection{Algorithme 2 : tabulation « aléatoire » d'une fonction}

\begin{cadrecode}
\begin{small}
\begin{verbatim}
Variables et Initialisation
   a, b les bornes de l'intervalle
   f la fonction à étudier
   N le nombre d'images à calculer
   min prend la valeur f(a)
   max prend la valeur f(a)
Traitement
   Pour k variant de 1 a N
      x prend une valeur aléatoire entre a et b.
      Si f (x) > max alors
         max prend la valeur f(x)
      Si f (x) < min alors
         min prend la valeur f(x)
Sortie
   Afficher min et max
\end{verbatim}
\end{small}
\end{cadrecode}

\newpage

\section{Test de la monotonie}

Attention, cet algorithme peut permettre de montrer que la fonction \textbf{n'est pas monotone} ou que la fonction \textbf{peut être monotone} mais dans ce cas il se peut qu'elle ait des variations de sens contraires sur certains intervalles très courts.

 ~

\textbf{Algorithme :}

\begin{cadrecode}
\begin{small}
\begin{verbatim}
Variables et Initialisation
   a, b les bornes de l'intervalle d'étude [a ; b]
   f, la fonction à étudier
   N, le nombre d'intervalles
   x, les valeurs successives de la variable
   dx prend la valeur (b-a)/N
   sens prend la valeur signe de la différence f (b) - f (a)
   x prend la valeur a
Traitement
   Pour k variant de 1 à N
      Si ( f (x+dx)-f(x) n'est pas du même signe que sens ) alors
         Affiche "la fonction n'est pas monotone"
         Affiche x et x+dx
         Fin du programme
      x prend la valeur x+dx
   Affiche "La fonction semble monotone."
Sortie
   Les affichages du traitement
\end{verbatim}
\end{small}
\end{cadrecode}



 \end{document}    

  
