User Tools

Site Tools


in204:tds:sujets:td1:part4

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:tds:sujets:td1:part4 [2019/09/23 14:54]
bmonsuez [Question n° 3]
in204:tds:sujets:td1:part4 [2022/11/18 10:49] (current)
Line 198: Line 198:
  
 Ajouter à toutes ces classes des méthodes d’affichage pour le déboguage que l’on appellera ''​print''​. Ajouter à toutes ces classes des méthodes d’affichage pour le déboguage que l’on appellera ''​print''​.
 +
 +<hidden Correction>​
 +
 +<code cpp>
 +class Point
 +{
 +    // Ajouter la méthode suivante après les autres
 +    // méthodes.
 +public:
 +    void print() const
 +    {
 +        std::cout << "​("​ << m_x << ", " << m_y << "​)"; ​
 +    }
 +};
 +
 +class Segment
 +{
 +    // Ajouter la méthode suivante après les autres
 +    // méthodes.
 +public:
 +    void print() const
 +    {
 +        std::cout << "​[";​
 +        m_start.print();​
 +        std::cout << "​-";​
 +        m_end.print();​
 +        std::cout << "​]"; ​
 +    }
 +};
 +
 +class Droite
 +{
 +    // Ajouter la méthode suivante après les autres
 +    // méthodes.
 +public:
 +    void print() const
 +    {
 +        std::cout << "<";​
 +        m_point.print();​
 +        std::cout << ", " m_angle << ">"; ​
 +    }
 +};
 +
 +</​code>​
 +
 +</​hidden>​
 +
 +
 +==== Question n° 3 ====
 +
 +A la classe ''​Droite''​
 +  * Ajouter une méthode rotate90() effectuant une rotation de 90 degrés à une droite.
 +  * Ajouter une méthode move(int x, int y) effectuant une translation à une droite.
  
  
Line 213: Line 266:
 class Droite class Droite
 { {
-    ... +    ​// Code précédent de la classe. 
-    Droite ​Turn(double anAngle) const+    ​...      
 +     
 +public: 
 +    Droite ​rotate(double anAngle) const
     {     {
         return Droite(m_Point,​ m_angle + anAngle);         return Droite(m_Point,​ m_angle + anAngle);
     }     }
-    Droite ​Turn90(double anAngle) const+    Droite ​rotate90(double anAngle) const
     {     {
-        return ​Turn(m_Point, m_angle + 3.14/4);+        return ​rotate(m_Point, m_angle + 3.14/4);
     }     }
-    Droite ​Move(int x, int y) const+    Droite ​move(int x, int y) const
     {     {
         return Droite(         return Droite(
Line 230: Line 286:
     }     }
     ...     ...
 +};
 </​code>​ </​code>​
  
Line 243: Line 300:
 class Droite class Droite
 { {
-    ... +    ... // Code précédent de la classe. 
-    Droite& ​Turn(double anAngle)+     
 +     
 +public: 
 +    Droite& ​rotate(double anAngle)
     {     {
         m_angle += anAngle;         m_angle += anAngle;
         return *this;         return *this;
     }     }
-    Droite& ​Turn90(double anAngle)+    Droite& ​rotate90(double anAngle)
     {     {
         return Turn(m_Point,​ m_angle + pi/4);         return Turn(m_Point,​ m_angle + pi/4);
     }     }
-    Droite& ​Move(int x, int y)+    Droite& ​move(int x, int y)
     {     {
         mPoint =         mPoint =
Line 260: Line 320:
         return *this;         return *this;
     }     }
-    ...+};
 </​code>​ </​code>​
  
Line 268: Line 328:
     Droite droite(Point(0,​0),​ pi/8);     Droite droite(Point(0,​0),​ pi/8);
     ​     ​
-    droite.Move(2,​3).Turn(-pi/8);+    droite.Move(2,​3).rotate(-pi/8);
         // Nous effectuons une droite et puis nous effectuons ​         // Nous effectuons une droite et puis nous effectuons ​
         // une rotation.         // une rotation.
Line 275: Line 335:
 </​hidden>​ </​hidden>​
  
-==== Question n° 3 ==== 
- 
-A la classe ''​Droite''​ 
-  * Ajouter une méthode rotate90() effectuant une rotation de 90 degrés à une droite. 
-  * Ajouter une méthode move(int x, int y) effectuant une translation à une droite. 
- 
-<hidden Correction>​ 
-</​hidden>​ 
 ==== Question n° 4 ==== ==== Question n° 4 ====
  
Line 304: Line 356:
 } }
 </​code>​ </​code>​
 +
 +<hidden correction>​
 +
 +Il suffit d'​exécuter le code pour les classes réalisées et vérifier que les résultas sont conformes aux résultats attendus.
 +
 +</​hidden>​
 +
  
  
in204/tds/sujets/td1/part4.1569250454.txt.gz · Last modified: 2019/09/23 14:54 by bmonsuez