------------------------------------------------------------------------------ Subject: [IFT1166] a props de la correction automatique du TP3. Date: Sun, 26 Mar 2000 10:46:42 -0500 Bonjour, moi et Philippe, nous nous sommes rendus compte apres avoir lance les scripts de correction automatique du tp2, que beaucoup d'entre vous n'ont pas respecte le format de sortie, ce qui a demande a Philippe d'intervenir dans le code source de quelques remises. Ces interventions vont couter des points en fonction de la gravite de l'intervention. Pour vous eviter des pertes de points de ce type la, assurez vous de ce qui suit: -1- que votre programme compile. 5 des tps remis n'ont pas passe ce stade. -2- de remettre ce qu'il vous a ete demande. Nous avions demande pour le tp2: monnaie.cpp produit.cpp db.cpp nous avions eu droit par exemple: Monnaie.cpp <--- la majuscule produit.cpp: qui incluait Produits1.h la majuscule, le 1 (??), le pluriel etc. monnaie.h produit.h db.h i.e. toutes les fonctions ont ete incluse dans les fichiers d'en-tetes! etc. pour ce tp, je vous rappelle, qu'il vous est demande de remettre DEUX FICHIERS : enr.h (et) graphe.h ni plus ni moins. -3- de verifier qu'apres execution de votre programme que ce dernier affiche EXACTEMENT les memes resultats que ceux fournis dans la specification du tp. Et si j'ai oublie d'inclure un point dans le fichier fourni ou les commentaires de sortie ne sont pas poignants, pas grave, ne tentez surtout pas de les modifier en introduisant votre propre "creativite", car votre resultat ne sera pas identique a celui demande. Du coup lors de la comparaison automatique, votre travail va tomber a l'eau. pour s'assurer de l'exactitude de vos sorties: sous votre console, diff -w -B -y votre_fichier notre_fichier exemple, supposez que votre programme executable, Tprg, a ete compile avec l'option -DEnr ./Tprg > tst_enr.txt on redirige la sortie standard vers le fichier enr.txt le resultat sera donc affiche dans le fichier tst_enr.txt pour comparer votre sortie avec la notre, pour ce cas de figure vous allez tester cela avec le fichier fourni sortie.enr, comme suit: diff -w -B -y tst_enr.txt sortie.enr si les fichiers sont les memes, vous ne devez rien obtenir comme resultat, que le prompt. dans le cas contraire, vous allez obtenir ce qui suit: deux colonnes: sur celle de gauche le fichier sortie.enr, sur celle de droite le fichier tst_enr.txt les differences seront signalees sur chaque ligne du fichier tst_enr.txt (celui de la colonne de droite), avec le signe | si vous voulez avoir plus de details sur la commande diff, sur votre console, tapez: man diff ou bien pour une description tres courte: diff --help Mohamed Lokbani. ------------------------------------------------------------------------------ Subject: [IFT1166] Q/R TP3 -1- Date: Fri, 24 Mar 2000 11:32:36 -0500 Bonjour, au menu: quelques precisions, des petites corrections et questions. -1- comme mentionne dans l'enonce du tp3, la date de remise a ete fixee pour le 12 Avril. -2- a propos de la fonction Dessine: j'avais mentionne lors de la derniere seance de cours: >>>4.2.3 Représentation en C++: Vous devez écrire ce qui suit: >>> -a- une classe de base abstraite Graphe ayant 3 fonctions membres: >>> 1) constructeur: Graphe(); >>> 2) destructeur: ~Graphe(); >>> 3) une fonction virtuelle pure, permettant de représenter >>> les statistiques sous la forme de Histogramme ou Tarte: Dessine(); Dessine de la classe abstraite Graphe, doit accepter comme argument la classe Enregistrement, pour que ca soit en phase avec les declarations de la fonction Dessine dans les classes Histogramme & Tarte. Dessine(const Enregsitrement&); -3- 4.1.1 classe Enregistrement: Enregistrement { string nom; //etc. public: Enregistrement(int nbre_elt,const T tab[],string nom); }; appelez la variable nom, 3e argument du constructeur de la classe Enregistrement autrement, pour ne pas confondre avec la variable nom, membre private de la classe Enregistrement. par exemple: Enregistrement(int nbre_elt,const T tab[],string nom_enr); -4- >>>Dans l'énoncé du TP3, vous dites que l'on doit créer un classe abstraite Graphe ayant les trois fonctions: >>> Graphe(); >>> ~Graphe(); >>> void Dessine(); >>> J'imagine que l'on peut aussi créé nos propres fonction au besoin (En >>> private ou protected.) oui si c'est necessaire. Puisque il y a la notion d'heritage qui entre en jeu, essayes de voir si par exemple, il te faut introduire ces fonctions ds la classe de base, ou bien plutot dans les classes derivees. Mohamed Lokbani. ------------------------------------------------------------------------------