\documentclass[12pt]{article} \usepackage[height=250mm,width=183mm]{geometry} \usepackage[upright]{fourier} \usepackage{preambule} \usepackage[xcas]{tablor} \usepackage[dvips,colorlinks=true,linkcolor=orange]{hyperref} \newcommand{\lat}{ \lstset{numbers=none,language=[LaTeX]{TeX},xleftmargin=10pt,% keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\slshape, backgroundcolor=\color{0.8white},breaklines=true} } \renewcommand{\xcas}{\lstset{numbers=none,language=XCAS,xleftmargin=10pt,% keywordstyle =\color{0.2white}\usefont{OT1}{cmtt}{b}{n},basicstyle=\ttfamily,commentstyle=\normalfont\scriptsize\slshape, backgroundcolor=\color{0.8white},breaklines=true} } \title{\texttt{tablor.sty} \\La machine à créer des tableaux de signes et de variations } \author{Guillaume \textsc{Connan} \\ \href{http://gconnan.free.fr}{http://gconnan.free.fr}\\ avec l'efficace participation de Jean-Michel \textsc{Boucart}} \date{24 mars 2008 - Version 2.01} \begin{document} \maketitle \initablor \section{Ça sert à quoi~?} Il s'agit d'obtenir rapidement un tableau de signe ou un tableau de variation en entrant un minimum de commandes. \section{Comment ça marche~?} \subsection{Principe général} On entre une instruction qu'on envoie via \LaTeX{} à \Prog{XCAS} qui effectue un certain nombre de calculs (résolution d'équations, calcul de limites). \Prog{XCAS} renvoie un résultat sous la forme d'un script \Prog{MetaPOST} qui est compilé. Un tableau est créé et ensuite inséré dans le document \texttt{tex}. \subsection{Rentrons dans les détails} En utilisant un environnement \texttt{tablor}, de nombreux fichiers sont créés dans le répertoire courant puis effacés par la commande \texttt{nettoyer} si vous le souhaitez~: \bez \item des fichiers d'extension \texttt{.cxx}~:~il s'agit du fichier le plus important. C'est le programme \Prog{XCAS} qui «~fabrique~» le tableau. Vous pouvez l'utilisez tel quel dans une session \Prog{XCAS} ou \Prog{giac}. \item des fichiers d'extension \texttt{.giac} qui regroupent des instructions lues et exécutées par \Prog{giac}. Les lignes importantes sont~: \begin{lstlisting} read("XcasTV.cxx"); // giac charge le programme Sortie:=fopen("XCasmpTV.mp"); // la sortie portera l'extension metapost vect.xcas.user := read("XCasTV.user"); // giac lit les paramètres rentrés dans le fichier tex \end{lstlisting} \item des fichiers d'extension \texttt{.user} qui sont créés par \LaTeX{} grâce à l'environnement \texttt{VerbatimOut} de l'extension \texttt{fancyvrb} : il s'agit en fait de la commande qui se trouve par exemple entre \verb+\begin{TVI}+ et \verb+\end{TVI}+. \ez \section{De quoi a-t-on besoin~?} \bez \item Il faut avoir installé \Prog{XCAS}, logiciel multi-plateforme de calcul et de programmation~: \href{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}; \item il faut avoir le fichier de macros \Prog{MetaPOST} \texttt{tableauVariation.mp} de Frédéric Mazoit~: \href{http://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}{http://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}; Pour ceux qui sont guère habitués à \Prog{MetaPOST}, cela ne pose aucun problème car les scripts et compilations \Prog{MetaPOST} se font automatiquement. Il suffit de créer dans son \texttt{texmf} personnel une arborescence du style~: \texttt{./texmfperso/metapost/tablor/} et d'y placer \texttt{tableauVariation.mp} puis un \texttt{rehash}. C'est exactement la même démarche que pour installer une nouvelle extension \LaTeX{}. \item il faut être en mode \texttt{shell-escape} pour autoriser les sorties de la compilation \texttt{tex}. Pour \Prog{emacs}, on rajoute en fin de fichier \verb+%%% LaTeX-command: "latex --shell-escape" ***+; pour les autres éditeurs, il faut modifier la commande de compilation. Sinon, on peut modifier le fichier \texttt{texmf.cnf} pour que le mode soit automatisé en modifiant la ligne suivante~:~\texttt{shell-escape t}; \item il faut avoir à disposition l'extension \texttt{fancyvrb}; \item pour ceux qui compilent avec \texttt{pdf\LaTeX{}}, il n'y a aucun problème et rien à faire car \texttt{tablor} contient déjà ce qu'il faut pour s'adapter~: \verb+\ifpdf \DeclareGraphicsRule{*}{mps}{*}{} \fi+ \item il faut installer le fichier \texttt{tablor.sty} dans son \texttt{texmf} personnel. Pour ceux qui ont \Prog{MiKTeX} sous \Prog{windows}, il suffit d'aller le chercher dans les dépôts. Pour les utilisateurs de \Prog{Unix}, vous devez savoir comment faire... Par commodité, vous pouvez en profiter pour installer la version \Prog{Unix} de \emph{MiKTeX package manager}. J'ai fait un petit script pour vous y aider ici : \href{http://gconnan.free.fr/?page=52}{http://gconnan.free.fr/?page=52} \ez \begin{figure} \begin{DANGER} Pour les utilisateurs de TeXnicCenter, observez cette \href{http://img221.imageshack.us/img221/27/capture20080114215233hu7.png}{explication} du paramétrage du \texttt{shell-escape}. On peut par exemple mettre~:\\ \texttt{-enable-write18 --shell-escape --src -interaction=nonstopmode "\%Wm"}.\\ Sur TeXmaker, c'est \texttt{latex -enable-write18 --shell-escape -interaction=nonstopmode \%.tex}. \smallskip Pour faire comprendre à \texttt{Microsoft Windows XP} où trouver \Prog{giac}, vous pouvez modifier le \texttt{path} en suivant ces instructions~: \\ Demarrer->Panneau de configuration->Système onglet Avancé->Variable d'environnement.\\ Le séparateur est le point virgule. (Merci à Gaëtan et à Daniel). \end{DANGER} \end{figure} \begin{figure} \begin{DANGER} L'extension \verb+fancybox+ rentre en conflit avec \verb+fancyvrb+ qu'utilise \verb+tablor+ car elles définissent toutes deux différemment l'environnement \verb+VerbatimOut+. \end{DANGER} \end{figure} \begin{figure} \begin{DANGER} Huit nouvelles commandes sont crées~:~\verb+\tv, \tvbis, \nettoyer, \initablor, \Tableaux,+ \verb+ \dresse, \dressetoile, \executGiacmp+. Attention aux conflits si de tels noms existent quelque part dans vos fichiers personnels. \end{DANGER} \end{figure} \begin{figure} \begin{DANGER} Le fichier \texttt{tablor.sty} est codé en \texttt{latin-1}. Certains devront donc le convertir en \texttt{utf-8}. \end{DANGER} \end{figure} \section{Comment l'utiliser~?} \subsection{Préambule} Les ECM donnés en exemple ne dépendent pas du moteur de compilation~:~\texttt{\LaTeX{}+dvi+dvips} ou \texttt{pdf\LaTeX{}} conviennent. Le préambule sera toujours~: \lat \begin{lstlisting} \documentclass{article} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[upright]{fourier} \usepackage[xcas]{tablor} % option modifiable \end{lstlisting} \begin{figure} \begin{Idee} Les fontes utilisées dans les tableaux sont \verb+[upright]{fourier}+. Il est tout à fait possible d'utiliser d'autres fontes. Il suffit de modifier le fichier \texttt{tablor.sty} en remplaçant partout où il apparaît \verb+[upright]{fourier}+ par \verb+lmodern+ ou ce que vous voulez. Ce n'est pas très pratique, mais cela évite de le mettre en option à chaque utilisation et on utilise souvent la même fonte dans ses documents. \end{Idee} \end{figure} \subsection{L'option xcas}\label{option} On met \texttt{xcas} si l'on a installé \Prog{giac/XCAS} sur son ordinateur et on ne met rien si \Prog{giac/XCAS} n'est pas installé et qu'on a récupéré un fichier \texttt{tex} avec les fichiers sources \Prog{MetaPOST}; Ainsi, \texttt{tablor} ne fera pas appel à \Prog{giac/XCAS} et se contentera de compiler les fichiers \Prog{MetaPOST}; \subsection{Fichier \texttt{tablor.cfg}} Voici son contenu~: \begin{Verbatim} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Fichier de configuration de tablor.sty % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % La mise à jour de ce fichier permet d'adapter certains paramètres du package tablor.sty % au poste de travail et aux habitudes des utilisateurs. % Déclaration du système d'exploitation : % ===================================== % Si vous utilisez Microsoft-Windows, dé-commentez la ligne suivante : % \setboolean{windows}{true} % Déclaration de l'éditeur utilisé % ================================ % % Remplacez "texmaker" par la commande qui lance votre éditeur favori. % Laissez une espace avant de fermer l'accolade. \newcommand{\editeur}{texmaker } \end{Verbatim} Vous le placerez dans la même arborescence que \texttt{tablor.sty} et le modifierez si besoin est. L'éditeur sera appelé dans certains cas pour modifier l'aspect des tableaux dans les fichiers sources \Prog{MetaPOST}. Il faudra choisir un éditeur comme par exemple \texttt{emacs, xemacs, texmaker, vi, winshell, notepad, vim, kate, gedit, textmate,texshop}, \texttt{kile}, etc. Voir aussi le paragraphe~\vref{modif}. \subsection{Initialisation de \texttt{tablor} et préfixe des tableaux}\label{prefix} Les fichiers \Prog{MetaPOST} des tableaux sont regroupés dans un fichier de suffixe \texttt{.Tab.mp}. Le préfixe est par défaut celui du fichier \texttt{tex} appelant \texttt{tablor}. Il est possible, pour des raisons de classement personnel, de modifier ce préfixe à la suite du \verb+\begin{document}+ en entrant~: \begin{lstlisting} \initablor \end{lstlisting} si l'on veut avoir comme préfixe le préfixe courant (obtenu par \verb+\jobname+) ou bien~: \begin{lstlisting} \initablor[Waouh] \end{lstlisting} si l'on veut que le fichier \Prog{MetaPOST} des tableaux s'appelle \verb+Waouh.Tab.mp+ \medskip Si tout s'est bien passé, on doit supprimer les fichiers \texttt{log} de \Prog{MetaPOST} et clore le fichier \texttt{.Tab.mp} en entrant juste avant \verb+\end{document}+ la commande~: \begin{lstlisting} \nettoyer \end{lstlisting} ou bien, selon les cas~: \begin{lstlisting} \nettoyer[Waouh] \end{lstlisting} \medskip \textbf{En résumé}, notre fichier \texttt{tex} aura cette ossature~: \begin{lstlisting} \documentclass{article} \usepackage{graphicx} \usepackage[french]{babel} \usepackage[upright]{fourier} \usepackage[xcas]{tablor} % options modifiables \begin{document} \initablor ... \nettoyer \end{document} \end{lstlisting} \section{Tableaux des variations} \subsection{Tableau standard} L'environnement s'appelle \texttt{TV}. On utilise une commande au format \texttt{XCAS}~: \xcas \begin{lstlisting} TV([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,\tv) \end{lstlisting} \bez \item \texttt{[borne inf,borne sup]} désigne les bornes de l'ensemble de définition. On note $+\infty$~:~\texttt{+infinity} et $-\infty$~:~\texttt{-infinity}. N'oubliez pas les crochets~! \item \texttt{[valeurs interdites]} désigne la liste des valeurs interdites; \item \texttt{"nom fonction"} désigne la lettre représentant la fonction telle que vous voulez qu'elle apparaisse : $f$, $g$, $\f$, etc. \item \texttt{"nom variable"}~:~même chose pour la variable, selon que vous voulez la désigner par $x$, $t$, etc. N'oubliez pas les guillemets~! \item \texttt{expression en fonction de x} désigne l'expression de la fonction. Attention~! Utilisez ici toujours $x$ pour désigner la variable; \item le paramètre \texttt{t} est à remplacer par 1 si vous voulez voir apparaître une ligne avec le signe de la dérivée, par 0 si vous ne voulez pas de cette ligne et par 2 si vous ne voulez que le signe de la dérivée. \item on termine par \verb+\tv+, une commande permettant de numéroter les tableaux en interne. \ez \lat Voyons à présent quelques exemples. \begin{enumerate} \item Le tableau de variation sans signe de la dérivée de la fonction $f~:~x\mapsto x^2$ sur $[-5\pv7]$. On obtient~: \begin{TV} TV([-5,7],[],"f","x",x^2,0,\tv); \end{TV} après avoir entré~: \begin{lstlisting} \begin{TV} TV([-5,7],[],"f","x",x^2,0,\tv) \end{TV} \end{lstlisting} \item Si on veut la même fonction sur $\bbr$ avec le signe de la dérivée~: \begin{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,1,\tv) \end{TV} \item Avec la même fonction sur $\bbr$ avec uniquement le signe de la dérivée~: \begin{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,2,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-infinity,+infinity],[],"f","x",x^2,2,\tv) \end{TV} \item Voici ce que cela donne pour $g~:~t\mapsto \frac{t^2}{t^2-1}$ sur $[-10\pv +\infty[$~: \begin{lstlisting} \begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} \end{lstlisting} \begin{center} \begin{TV} TV([-10,+infinity],[-1,1],"g","t",x^2/(x^2-1),1,\tv) \end{TV} \end{center} \item Il y aura des problèmes pour des équations $f'(x)=0$ que \Prog{XCAS} ne saurait pas résoudre de manière formelle. Il faudrait alors utiliser une résolution numérique et remplacer \texttt{resoudre} par \texttt{fsolve}. Mais dans les études demandées au Bac, l'étude des signes de la dérivée est possible formellement. Dans les cas plus exotiques, on peut faire le tableau «~à la main~». \end{enumerate} \subsection{Tableau des variations avec théorème des valeurs intermédiaires} Si l'on veut mettre en évidence les solutions de l'équation $f(x)=a$, on utilise l'environnement \texttt{TVI}. La syntaxe est~: \begin{lstlisting} TVI([borne inf,borne sup],[valeurs interdites],"nom fonction","nom variable",expression en fonction de x,t,a,\tv) \end{lstlisting} Les paramètres sont les mêmes que pour \texttt{TV} mais on ajoute la valeur \texttt{a} bien sûr. Par exemple, pour $f~:~x\mapsto \frac{x^2}{x^2-1}$ et l'équation $f(x)=10$ on entre~: \begin{lstlisting} \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,\tv) \end{TVI} \end{lstlisting} et on obtient~: \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,10,\tv) \end{TVI} Les solutions sont notées $\alpha_1$, $\alpha_2$, etc. Si l'équation est plutôt $f(x)=-1$~: \begin{lstlisting} \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,\tv) \end{TVI} \end{lstlisting} et on obtient~: \begin{TVI} TVI([-10,+infinity],[-1,1],"f","x",x^2/(x^2-1),1,-1,\tv) \end{TVI} \subsection{Tableaux de variations avec approximation des zéros de la dérivée} Il n'est parfois pas possible d'obtenir une valeur formelle des zéros de la dérivée. On est donc amené à rechercher une approximation numérique de ces zéros. Cela est possible grâce à la commande \code{fsolve} de \Prog{XCAS} utilisée à bon escient. On appelera les environnements \code{TVapp} et \code{TVIapp} ainsi que leurs associés étoilés. Voyons sur un exemple. \paragraph*{Exemple} Soit $g$ la fonction $x\mapsto \ln(x)-x\E^{2-x} $. On étudie d'abord la fonction $x\mapsto g'(x)$~: \begin{lstlisting} \begin{TVIapp} TVIapp([0,+infinity],[0],"g'","x",diff(ln(x)-x*exp(2-x),x),1,0,\tv) \end{TVIapp} \end{lstlisting} \begin{TVIapp} TVIapp([0,+infinity],[0],"g'","x",diff(ln(x)-x*exp(2-x),x),1,0,\tv) \end{TVIapp} On en déduit le tableau suivant~: \begin{lstlisting} \begin{TVapp*}{201} TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) \end{TVapp*} \end{lstlisting} \begin{TVapp*}{201} TVapp([0,+infinity],[0],"g","x",ln(x)-x*exp(2-x),1,\tv) \end{TVapp*} \subsection{Tableaux de signes} \subsubsection*{Cas du produit de deux facteurs affines} Pour étudier le signe de $(-2x+3)(-x+5)$ sur $\bbr$, on entre~: \begin{lstlisting} \begin{TSa} TSa(-2,3,-1,5,\tv); \end{TSa} \end{lstlisting} On obtient~: \begin{TSa} TSa(-2,3,-1,5,\tv); \end{TSa} \subsubsection*{Cas du produit d'un nombre quelconque de facteurs quelconques sur un intervalle quelconque} Certains cas pathologiques ne vont pas fonctionner, mais sinon, pour étudier le signe de \[(-2x+3)(x^2-1)(x^2+1)(x-1)(x^2-2)\] on entre cette fois les expressions sous cette forme en précisant l'intervalle d'étude~: \begin{lstlisting} \begin{TS} TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[-infinity,+infinity],\tv); \end{TS} \end{lstlisting} On obtient~: \begin{TS} TS([-2*x+3,x^2-1,x^2+1,x-1,x^2-2],[-infinity,+infinity],\tv); \end{TS} Ou bien, sur un intervalle borné~: \begin{lstlisting} \begin{TS} TS([x-10,x+10],[-15,10],\tv) \end{TS} \end{lstlisting} \begin{TS} TS([x-10,x+10],[-15,10],\tv) \end{TS} \subsubsection*{Signe d'un quotient} On entre dans deux listes différentes les facteurs du numérateur et du dénominateur~: \begin{lstlisting} \begin{TSq} TSq("nom du quotient",[liste des facteurs du numérateur],[liste des facteurs du dénominateur],[inf,sup]) \end{TSq} \end{lstlisting} Par exemple, pour étudier le signe de $\dfrac{(-2x+3)(-4x+5)}{(x^2-16)(x-2)}$ sur $\bbr$~: \begin{lstlisting} \begin{TSq} TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[-infinity,+infinity],\tv) \end{TSq} \end{lstlisting} \begin{TSq} TSq("Q",[-2*x+3,-4*x+5],[x^2-16,x-2],[-infinity,+infinity],\tv) \end{TSq} Sur un intervalle borné~: \begin{lstlisting} \begin{TSq} TSq("Q",[x-10],[x+10],[-infinity,10],\tv) \end{TSq} \end{lstlisting} \begin{TSq} TSq("Q",[x-10],[x+10],[-infinity,10],\tv) \end{TSq} \subsubsection*{Signe d'une seule expression} On utilise l'environnement \texttt{TSc} comme \emph{Tableau de Signe court} en précisant l'expression étudiée et l'intervalle considéré~: \begin{lstlisting} \begin{TSc} TSc((x-10)*(x+5),[-10,10],\tv) \end{TSc} \end{lstlisting} \begin{TSc} TSc((x-10)*(x+5),[-10,10],\tv) \end{TSc} % \section{Nettoyage} % L'extension \texttt{tablor} contient également une commande \verb+\nettoyer+, qui, comme son nom % l'indique, fait le ménage~:~on efface tous les fichiers auxiliaires créés et on garde uniquement les % fichiers eps créés par \Prog{MetaPOST} ayant une extension sous forme de numéro. % Il suffit de taper \verb+\nettoyer+ juste avant le \verb+\end{document}+ % \begin{figure} % \begin{DANGER} % Pour les utilisateurs de Microsoft Windows, il faudra remplacer \texttt{rm} par \texttt{DEL} % \end{DANGER} % \end{figure} % \smallskip % On peut également stocker les tableaux dans un autre dossier avec la commande % \verb+\bouger{destination}+, qui, comme son nom l'indique, copie les fichiers eps vers % \texttt{destination}. Il faudra le taper après \verb+\nettoyer+ % \begin{lstlisting} % \nettoyer % \bouger{/home/moi/Desktop/} % \end{document} % \end{lstlisting} % \begin{figure} % \begin{DANGER} % Pour les utilisateurs de Microsoft Windows, il faudra remplacer \texttt{cp} par \texttt{XCOPY} % \end{DANGER} % \end{figure} \section{Comment modifier les tableaux à partir des fichiers MetaPOST~?}\label{modif} \subsection{Tableau par tableau} Il est impossible de prévoir toutes les requêtes des différents utilisateurs. Le style du tableau produit peut néanmoins vous déplaire. Vous pouvez le modifier en intervenant directement sur le fichier \Prog{MetaPOST} créé pour chaque tableau. Pour cela, il suffit d'ajouter une étoile au nom de l'environnement utilisé et de donner un numéro à votre nouvelle figure pour qu'elle ne soit pas écrasée par les compilations suivantes. Numérotez à partir de 100 par exemple. Si vous tapez~: \begin{lstlisting} \begin{TV*}{100} TV([-1,+infinity],[],"f","x",x-ln(x+1),1,\tv) \end{TV*} \end{lstlisting} l'éditeur que vous avez mis en option (voir le paragraphe~\vref{option}) est directement lancé et le fichier \Prog{MetaPOST} correspondant à votre tableau qui portera le numéro 100 est affiché. Vous pouvez alors le modifier, taper sur \Ctrl + \keystroke{S} pour l'enregistrer et \Ctrl + \keystroke{Q} pour fermer l'éditeur\footnote{Ces combinaisons de touches correspondent à la plupart des éditeurs mais ne sont pas universelles : vérifiez pour celui que vous avez choisi.}. La compilation s'achève alors automatiquement comme pour un environnement non étoilé. Par exemple, je tape~: \begin{lstlisting} \begin{TS*}{100} TS([3*x+2,5*x^2-1],[-50,50],\tv) \end{TS*} \end{lstlisting} et apparaît une fenêtre de l'éditeur (ici \TeX maker) avec le fichier correspondant au tableau. Je le modifie à volonté~: \begin{center} \includegraphics[height=9cm]{capture.eps} \end{center} Je tape sur \Ctrl + \keystroke{S} puis \Ctrl + \keystroke{Q} et la compilation reprend automatiquement pour m'afficher le tableau voulu~: \begin{center} \begin{TS*}{106} TS([3*x+2,5*x^2-1],[-50,50],\tv) \end{TS*} \end{center} Une fois la modification faite, on ne vous redemandera pas d'effectuer de modifications, sauf si vous changez le numéro de la figure. \subsection{Traitement global dans un unique fichier MetaPOST}\label{global} Un fichier \texttt{préfixe.Tab.mp} est créé où sont copiés les sources de chaque tableau. Vous pouvez ainsi retravailler globalement sur les tableaux si besoin ou les transmettre à une personne n'ayant pas installé \Prog{XCAS}. Voir le paragraphe~\vref{prefix} pour plus de détails. \section{Merci...} \bez \item à \href{http://frederic.mazoit.free.fr/LaTeX\_metapost/tableauVariations/}{Frédéric \textsc{Mazoit}} pour son fichier \texttt{tableauVariation.mp}; \item à \href{http://www.yvesdelhaye.be/?Generateur-d-interrogations-le}{Yves \textsc{Delhaye}} pour ses idées sur le \texttt{shell-escape} \item à \href{http://www-fourier.ujf-grenoble.fr/\%7Eparisse/giac\_fr.html}{Bernard \textsc{Parisse}} pour \Prog{XCAS}. \ez \section{Galerie} Voici quelques exemples de tableaux~: \begin{lstlisting} \begin{TVI} TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1,+infinity],[-1],"f","x",x^2/sqrt(x+1)-1,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1/2,+infinity],[],"f","x",x^2,1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x),1,2,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([1,+infinity],[],"f","x",-ln(x),1,\tv) \end{TV} \begin{lstlisting} \begin{TVI} TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-pi,pi],[],"f","x",cos(x),1,1/2,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([0,2*pi],[],"f","x",cos(x),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([0,2*Pi],[],"f","x",cos(x),1,\tv) \end{TV} \begin{figure} \begin{DANGER} Il y aura des problèmes si vous demandez un tableau des variations d'une fonction périodique sur un intervalle d'amplitude supérieure à la période, mais est-ce vraiment utile ?... \end{DANGER} \end{figure} \begin{lstlisting} \begin{TVI} TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,pi],[pi/2],"h","t",tan(x),1,7,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-1,1],[],"f","x",(1-x)*sqrt(1-x^2),1,1,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([-1,+infinity],[-1],"f","x",ln(1+x)-(x-x^2/2+x^3/3),1,\tv) \end{TV} \begin{lstlisting} \begin{TS} TS([-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],\tv); \end{TS} \end{lstlisting} \begin{TS} TS([-2*x+3,x-1,x+1,x^2+3*x+1],[-10,+infinity],\tv); \end{TS} \begin{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",(x+2)*exp(x-1)-1,1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([-infinity,+infinity],[],"f","x",1+(-2*x+1)*exp(2*x),1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TV} TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} \end{lstlisting} \begin{TV} TV([0,+infinity],[],"f","x",ln(exp(x)+x)-x,1,\tv) \end{TV} \begin{lstlisting} \begin{TVI} TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,pi],[],"f","x",cos(x)-x,1,0,\tv) \end{TVI} \begin{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} \end{lstlisting} \begin{TVI} TVI([0,+infinity],[0],"f","x",ln(x)-(ln(x))^2,1,-1,\tv) \end{TVI} \begin{lstlisting} \begin{TSc} TSc((x-10)*(x+10),[-10,10],\tv) \end{TSc} \end{lstlisting} \begin{TSc} TSc((x-10)*(x+10),[-10,10],\tv) \end{TSc} \begin{lstlisting} \begin{enumerate} \item Selon le tableau de variation de la fonction $f$ ci-dessous, on peut affirmer que \ldots \begin{TV} TV([-5,10],[],"f","x",(5/2)*x^2-2*x+12,0,\tv) \end{TV} \VF \begin{itemize} \item[\ldots] 5 n'a pas d'antécédent \Rep \item[\ldots] 5 n'a pas d'image \Rep \item[\ldots] 5 a deux antécédents \Rep \item[\ldots] 5 a une image supérieure à celle de $\sqrt{2}$\Rep \end{itemize} \item Soit $f$ la fonction définie par $f~:~x\mapsto 3x^3-5x^2+2x-7$. Les tableaux suivants peuvent correspondre à $f$~: \VF \begin{enumerate} \item Tableau 1 \Rep \begin{TV*}{1001}M TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,\tv) \end{TV*} \item Tableau 2 \Rep \begin{TV*}{1002} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) \end{TV*} \item Tableau 3 \Rep \begin{TSc*}{1003} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) \end{TSc*} \item Tableau 4 \Rep \begin{TSc*}{1004} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\tv) \end{TSc*} \end{enumerate} \end{enumerate} \end{lstlisting} \begin{enumerate} \item Selon le tableau de variation de la fonction $f$ ci-dessous, on peut affirmer que \ldots \begin{TV} TV([-5,10],[],"f","x",(5/2)*x^2-2*x+12,0,\tv) \end{TV} \VF \begin{itemize} \item[\ldots] 5 n'a pas d'antécédent \Rep \item[\ldots] 5 n'a pas d'image \Rep \item[\ldots] 5 a deux antécédents \Rep \item[\ldots] 5 a une image supérieure à celle de $\sqrt{2}$\Rep \end{itemize} \item Soit $f$ la fonction définie par $f~:~x\mapsto 3x^3-5x^2+2x-7$. Les tableaux suivants peuvent-ils correspondre à la fonction $f$~: \VF \begin{enumerate} \item Tableau 1 \Rep \begin{TV*}{102} TV([-20,20],[],"f","x",3*x^3-5*x^2+2*x-7,0,\tv) \end{TV*} \item Tableau 2 \Rep \begin{TV*}{103} TV([-20,20],[],"f","x",-3*x^3+5*x^2-2*x+7,0,\tv) \end{TV*} \item Tableau 3 \Rep \begin{TSc*}{104} TSc(-3*x^3+5*x^2-2*x+7,[-20,20],\tv) \end{TSc*} \item Tableau 4 \Rep \begin{TSc*}{105} TSc(3*x^3-5*x^2+2*x-7,[-20,20],\tv) \end{TSc*} \end{enumerate} \end{enumerate} \begin{lstlisting} On considère la fonction $f$ définie sur $\bbr$ par $f(x)=\frac{1}{2}\bigl(x+(1-x)\E^{2x}\bigr)$ Étudions sa dérivée~: \begin{TVIapp*}{202} TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv) \end{TVIapp*} On en déduit le tableau de variation de $f$ \begin{TVapp*}{203} TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv) \end{TVapp*} \end{lstlisting} On considère la fonction $f$ définie sur $\bbr$ par $f(x)=\frac{1}{2}\bigl(x+(1-x)\E^{2x}\bigr)$ Étudions sa dérivée~: \begin{TVIapp*}{202} TVIapp([-infinity,+infinity],[],"f'","x",diff(1/2*(x+(1-x)*exp(2*x)),x),1,0,\tv) \end{TVIapp*} On en déduit le tableau de variation de $f$ \begin{TVapp*}{203} TVapp([-infinity,+infinity],[],"f","x",1/2*(x+(1-x)*exp(2*x)),1,\tv) \end{TVapp*} \pagebreak \tableofcontents \nettoyer %\bouger{/home/moi/Desktop/} \end{document} %%% Local Variables: %%% mode: latex %%% TeX-master: t %%% End: