User Tools

Site Tools


in204:tds:sujets:td5:part1

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:td5:part1 [2019/11/12 19:29]
bmonsuez [Question n°3.2]
in204:tds:sujets:td5:part1 [2022/11/18 10:48] (current)
Line 30: Line 30:
  
 <hidden Correction>​ <hidden Correction>​
 +<nodisp 2>
 Pour convertir un nombre en virgule flottante en un nombre complexe, il faut définir de [[in204:​cpp:​syntax:​class:​constructor|nouveaux constructeurs]] qui vont prendre un seul argument qui aura pour type le type d'un nombre à virgule flottante. ​ Pour convertir un nombre en virgule flottante en un nombre complexe, il faut définir de [[in204:​cpp:​syntax:​class:​constructor|nouveaux constructeurs]] qui vont prendre un seul argument qui aura pour type le type d'un nombre à virgule flottante. ​
  
Line 63: Line 64:
 }; };
 </​code>​ </​code>​
- 
 </​hidden>​ </​hidden>​
 ==== Question n°1.2===== ==== Question n°1.2=====
Line 94: Line 94:
 };    ​ };    ​
 </​code>​ </​code>​
- 
 </​hidden>​ </​hidden>​
 ==== Question n°1.3===== ==== Question n°1.3=====
Line 187: Line 186:
     Complex complexB(Polar(),​ 1.0, 0,52);     Complex complexB(Polar(),​ 1.0, 0,52);
 </​code>​ </​code>​
- 
  
 </​hidden>​ </​hidden>​
Line 268: Line 266:
  
 </​code>​ </​code>​
- 
 </​hidden>​ </​hidden>​
  
Line 317: Line 314:
 } }
 </​code>​ </​code>​
- 
  
 </​hidden>​ </​hidden>​
Line 352: Line 348:
         }         }
 </​code>​ </​code>​
- 
 </​hidden>​ </​hidden>​
 ==== Question n°2.2==== ==== Question n°2.2====
Line 366: Line 361:
  
 <hidden Correction>​ <hidden Correction>​
- 
 <code cpp> <code cpp>
 class Complex class Complex
Line 423: Line 417:
  
 </​code>​ </​code>​
 +
 </​hidden>​ </​hidden>​
  
Line 432: Line 427:
  Complex complexValue = 3.3 + 5 * I;  Complex complexValue = 3.3 + 5 * I;
 </​code>​ </​code>​
 +
 +<hidden Correction>​
 +Nous pouvons désormais définir des types complexes et effectué des calculs sur ces types complexes.
 +
 +Ainsi il sera possible de définir :
 +
 +<code cpp>
 +Complex I(0, 1);
 +
 +Complex complexValue = 3.3 + I;
 +
 +</​code>​
 +
 +Cependant, le code suivant est ambiguë :
 +
 +<code cpp>
 + Complex complexValue = 3.3 + 5 * I;
 +</​code>​
 +En effet, il faudrait être mesure de faire une multiplication entre un nombre entier ou un nombre à virgule flottante et un nombre complexe. Nous verrons comment faire pour effectuer ce type conversion à la fin de l'​exercice.
 +
 +</​hidden>​
 +
  
 ==== Question n°2.4 ====  ==== Question n°2.4 ==== 
Line 459: Line 476:
    
 <hidden Correction>​ <hidden Correction>​
 +<code cpp>
  Complex operator * (const Complex&​ aRightValue) const  Complex operator * (const Complex&​ aRightValue) const
         {         {
Line 474: Line 491:
                     - aRightValue.mImaginaryPart / squareNorm);​                     - aRightValue.mImaginaryPart / squareNorm);​
         }         }
 +
 +</​code>​
 </​hidden>​ </​hidden>​
 +
 ==== Question n°3.3 (optionnel) ==== ==== Question n°3.3 (optionnel) ====
  
-Proposer une surcharge des opérations ​et . Implanter ces dernières et tester.+Proposer une surcharge des opérations ​'​*=' ​et '/​='​. Implanter ces dernières et tester.
  
 <code cpp> <code cpp>
in204/tds/sujets/td5/part1.1573586969.txt.gz · Last modified: 2019/11/12 19:29 by bmonsuez