From 8626b278cdccd95e628f14c027ae8a1c47133c48 Mon Sep 17 00:00:00 2001 From: biouman Date: Wed, 2 May 2001 22:08:03 +0000 Subject: *** empty log message *** --- doc/manuel.tex | 115 ++++++++++++++++++++++----------------------------------- 1 file changed, 45 insertions(+), 70 deletions(-) (limited to 'doc/manuel.tex') diff --git a/doc/manuel.tex b/doc/manuel.tex index 9a0d765..b09ea9f 100644 --- a/doc/manuel.tex +++ b/doc/manuel.tex @@ -1,81 +1,56 @@ -\chapter{Manuel d'utilisation} +\chapter{Manuel} +\section{Procédure de compilation} \paragraph{} -Lorsque le programme principal se lance, nous obtenons un invite simple: +L'arborescence de notre projet respecte le standard d'arborescences des projets GNU, +en outre nous avons utilisé les logiciels Autoconf et Automake pour gérer la compilation. +La procédure standard pour compiler ce projet est alors la suivante : \\ \begin{verbatim} -$ ./Polynom -Polynomia v1.0 - - -Performing initialisation... - - -Starting interface... - -> -\end{verbatim} - -La flexibilité de l'interface est extrème, et nous permet, à la manière MAPLE, de taper sous une -forme naturelle nos polynomes. Voici un exemple d'utilisation "simple": - -\begin{verbatim} -> A = x^4 + 2*x^3 - x + 6; - - . x^4 + 2x^3 - x + 6 - -> B = x^3 - 6*x^2 + x + 4; - - . x^3 - 6x^2 + x + 4 - -> A + B; - - . x^4 + 3x^3 - 6x^2 + 10 - -> A - B; - - . x^4 + x^3 + 6x^2 - 2x + 2 - -> A / B; - - . x + 8 - -> A % B; - - . 47x^2 - 13x - 26 - -> A(2); - - . 36 +./configure && make all install \end{verbatim} +Mais étudions plus en détail chacune de ces deux étapes: -Comme à la manière MAPLE, il est possible d'évaluer des polynomes en cours de route. Par exemple: +\paragraph{configure} +Ce script va générer autoatiquement tous les Makefiles en fonction des informations contenues +dans les fichiers Makefile.am ainsi que des informations qu'il aura récupérées sur le système, +notamment relatives au compilateur, à l'éditeur de liens, à la gestion de librairies dynamiques... +On peut avoir l'ensemble de ses options en l'invoquant par la commande : \begin{verbatim} -> P = A + 2*x - 3*B; - - . x^4 - x^3 + 18x^2 - 2x - 6 +./configure --help \end{verbatim} - -Enfin, il y a des appels de fonctions prédéfinis, dont l'appel à la fonction d'évaluation d'un polynôme: - +Si l'on veut par exemple compiler le programme avec un répertoire d'installation qui serait ~/usr/Polynom +en activant l'affichage des messages de débogage, on lancera \begin{verbatim} -> P(3); - - . 204 +./configure --prefix=~/usr/Polynom --with-debug \end{verbatim} -Le parseur de ligne étant totalement flexible, il est possible de mélanger toutes les fonctionnalités ensembles: +\paragraph{make} +L'utilitaire bien connu qui permet de lancer les compilations, il va interpréter tout d'abord le Makefile +principal à la racine du projet puis entrer dans chaque sous répertoire et interpréter récursivement +tous les Makefiles qu'il va rencontrer. L'exécutable final se trouvera dans le répertoire src et se nomme +\textit{Polynom}. +La 'cible' all crée l'exécutable et la cible install l'installe avec ses librairies dans l'endroit +précisé par --prefix dans la ligne de commande de configure. Il est à noter que l'emplacement par défaut +se situe dans /usr/local, or ce dossier n'est typiquement accessible en écriture que par les administrateurs, +c est pourquoi nous vous conseillons de préciser l'option --prefix lors de l'appel de configure. + +\section{Exécution du programme} +Le programme Polynom peut prendre un argument sur la ligne de commande à savoir la chaine de caractères +servant à décrire la variable muette dans les polynomes, par défaut celle-ci est initialisée à "x". +On invoque alors le programe comme suit: % FIXME ligne de commande \begin{verbatim} -> (2*P + B)(3); - - . 388 - - -> (R = 2*P^2 - 2*x)(36) * x^2 - 10; - - . 1389891136x^2 - 10 - -> R; - - . 2x^8 - 4x^7 + 74x^6 - 80x^5 + 632x^4 - 120x^3 - 424x^2 + 46x + 72 - -\end{verbatim} +./src/Polynom +\end{verbatim} +Le programme propose alors son propre interpréteur de commandes, bien entendu dévoué au calcul polynomial. +Les opérateurs reconnus sont les opérateurs classiques sur les polynomes à savoir '+', '-', '*', '/', '\%', '^', '='. +De plus nous avons implémenté quelques fonctions utiles, soit au calcul polynomial, soit à l'uilisation du +programme lui même : +\begin{itemize} +\item les fonctions mathématiques deriv, derivn et int pour le calcul de la dérivée, de la dérivée $n^{ième}$ et de la primitive. +\item les fonctions auxiliaires : printvars() pour l'affichage des variables, help() pour l'aide en ligne, +setdisplay(n) pour le mode d'affichage des scalaires, reinit() pour la réinitialisation su calculateur et exit() pour quitter le programme. +\end{itemize} +On notera que l'évaluation fonctionne comme dans nombre d'interpréteurs en ce qui concerne la ligne de commande, +il est nécessaire de terminer chaque ligne par un point-virgule. +Ce programme possède enfin une variable "interne" ANS, mise-à-jour automatiquement à chaque évaluation, celle-ci contenant +toujours le résultat de l'opération précédente. -- cgit v1.2.3