summaryrefslogtreecommitdiff
path: root/doc/manuel.tex
diff options
context:
space:
mode:
Diffstat (limited to 'doc/manuel.tex')
-rw-r--r--doc/manuel.tex115
1 files changed, 45 insertions, 70 deletions
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.