summaryrefslogtreecommitdiff
path: root/doc/description.tex
blob: a9d8851f720997b56155ff8a3583dc2a9a7e272a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
\chapter{Description}
\section{Introduction}
Etant donné la complexité relative de ce projet, nous avons choisi d'utiliser au maximum la compilation séparée.
De plus, nous voulions réaliser une interface en mode texte, mais que le projet soit facilement extensible
à des développements ultérieurs comme par exemple la réalisation d'une interface graphique pour X-Window, c'est pourquoi
nous avons réuni l'essentiel des fonctions dans une librairie et que nous avons un fichier principal contenant la fonction
main() de taille ridicule. Enfin cette programmation modulaire permet d'organiser facilement son code source et de pouvoir
partager aisément le travail entre les différents étudiants.

\section{Modules de calcul}
\subsection{scalaires.c}
Ce module réalise des opérations sur les scalaires. Comme prévu dans l'énoncé du sujet, les scalaires que nous avons
considéré sont des rationnels supportant toutes les opérations classiques, auxquelles nous avons ajouté différents "constructeurs"
comme le constructeur à partir de deux entiers ou le constructeur à partir d'un double. Etant donné que les constructeurs simplifient
les fractions, toutes les fractions stockées en mémoire le sont toujours sous forme réduite.

\subsection{polynom.c}
Ce module nous permet d'effectuer toutes les opérations basiques sur les polynomes. On dispose d'un constructeur, d'un constructeur
par recopie  et d'un destructeur. La structure de données utilisée est une liste simplement chaînée de monomes

fonctions.c

\section{module d interprétation des lignes de commande}
parser.c pile.c numbers.c

\section{Modules de saisie et  d'affichage}
interface.c terminal.c

\section{Module de gestion des erreurs}
exceptions.c