From a57af6d28cf80cf474cab4ab439589ff12cc1f2d Mon Sep 17 00:00:00 2001 From: Nguyen Damien Date: Fri, 12 Mar 2010 17:32:47 +0100 Subject: [PATCH] Testing web server. --- CONCEPTION_CLASSES_txt | 18 ++++++++++++++++++ Makefile | 33 +++++++++++++++++++++++++++++++++ REPONSES | 28 ++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+) create mode 100755 CONCEPTION_CLASSES_txt create mode 100755 Makefile create mode 100755 REPONSES diff --git a/CONCEPTION_CLASSES_txt b/CONCEPTION_CLASSES_txt new file mode 100755 index 0000000..1231d17 --- /dev/null +++ b/CONCEPTION_CLASSES_txt @@ -0,0 +1,18 @@ +Description inspirée d'UML des classes utilisées. + +Petite légende : +nom() : méthode +nom : attribut ++nom : attribut privé +-nom : attribut public (inexistant) ++nom() : méthode publique +-nom() : méthode privée + +-- version texte + +classe Vector + +m_components (std::vector) + ---------------- + +addComponent() + +show() const + +equals() const diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..4318495 --- /dev/null +++ b/Makefile @@ -0,0 +1,33 @@ +# Makefile pour le développement du projet d'informatique II 2010 +# Damien Nguyen et Etienne Wodey + +SHELL = /bin/sh +.PHONY: clean, mrproper +.SUFFIXES: + +# testing module +.PHONY: testing-math-vector +testing-math-vector: + make -C testing math-vector + +.PHONY: testing-math-vector3 +testing-math-vector3: + make -C testing math-vector3 + +.PHONY: testing-math-sqmatrix3 +testing-math-sqmatrix3: + make -C testing math-sqmatrix3 + +# math lib +.PHONY: math +math: + make -C math + +# cleaning directories +clean: + make -C math clean + make -C testing clean + +mrproper: clean + make -C math mrproper + diff --git a/REPONSES b/REPONSES new file mode 100755 index 0000000..8fa084e --- /dev/null +++ b/REPONSES @@ -0,0 +1,28 @@ +Projet d'informatique II, semestre de printemps 2010 EPFL +REPONSES : réponses aux questions de conception et autres... +Damien Nguyen et Etienne Wodey (PH) + +===================================================================== + +Question P1.1 +Les vecteurs de Rn pour n quelconque sont représentés par l'abstraction objet Vector implémenté sous la forme d'une classe. Le fichier CONCEPTION_CLASSES décrit l'organisation de toutes les classes utilisées dans ce projet. +On s'efforcera de respecter scrupuleusement le principe d'encapsulation, donc en particulier tous les attributs sont privés (ou protégés suivant le contexte d'héritage). + +Argument en faveur de la représentation des composantes par std::vector +On favorise ici la cohérence : les composantes d'un vecteur dans Rn sont une collection homogène de réels => tableau. L'aspect dynamique provient du fait que l'on ne connait a priori pas la dimension du vecteur lors de l'instanciation. + +Politique de gestion des opérations sur des vecteurs de dimensions différentes +Dans la rigidité la plus aboutie, une exception (std::logic_error dans un premier temps) est lancée si des opérations sont tentées sur des vecteurs de dimensions différentes. Cette politique permet également de déceler lesdites erreurs de logiques éventuellement commises par la suite dans le code. (Le 2010-03-03 nous ne voyons pas l'intérêt de projeter ou de plonger Rn dans Rm, n!= m). + +===================================================================== + +Question P3.1 +Ce choix n'a pas vraiment de raison d'être, le compilateur se chargeant d'en créer un par défaut, mais nous préférons le définir nous-même, afin de garantir son implémentation. + +Question P3.2 + + +Question P3.3 +Nous avons transformé la methode 'void show()' en l'opérateur 'ostream& operator<< ()' et la methode 'bool equals()' en l'operateur 'bool operator == ()'. + +===================================================================== -- 2.11.4.GIT