Cours:TdComplexe : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
(Page créée avec « =={{Bleu|Td 9}} Travail sur les complexes en C++ avec eclipse== On cherche à écrire un programme permettant le calul arithmétique de base sur les... »)
 
({{Bleu|Td 9}} Travail sur les complexes en C++ avec eclipse)
Ligne 1 : Ligne 1 :
 
==[[Cours:tdComplexe|{{Bleu|Td 9}} Travail sur les complexes en C++ avec eclipse]]==
 
==[[Cours:tdComplexe|{{Bleu|Td 9}} Travail sur les complexes en C++ avec eclipse]]==
  
On cherche à écrire un programme permettant le calul arithmétique de base sur les nombres complexes
+
On cherche à écrire un programme permettant le calcul arithmétique de base sur les nombres complexes
 +
 
 +
Or, on ne peut stocker un complexe dans une variable car il
 +
n’existe pas en langage C de type '''complexe'''. En définissant une
 +
structure représentant les complexes, on peut alors créer un "nouveau"
 +
type de variable pour y stocker des complexes.
 +
 
 +
Utilisons, par exemple, la représentation cartésienne d’un complexe:
 +
partie réelle et partie imaginaire. Le code suivant décrit la structure
 +
'''complexe''' et déclare trois variables: ''z1'', ''z2'', et ''r''.
 +
 
 +
    struct complexe {
 +
          double pr;
 +
          double pi;
 +
          } z1, z2, r;
 +
 
 +
Cette structure est donc constituée de deux champs: le champs '''pr'''
 +
(resp. '''pi'''), de type '''double''' et qui peut contenir la ''partie réelle''
 +
(resp. ''partie imaginaire'') d’un nombre complexe.
 +
 
 +
L’utilisation de cette structure est simple: si l’on veut stocker '''3+4i'''
 +
dans ''z1'', il suffit d’écrire:
 +
 
 +
    z1.pr=3;
 +
    z1.pi=4;
 +
 
 +
=== Exercice===
 +
 
 +
 
 +
Ecrire le gestionnaire de menu permettant d’afficher et de gérer l’écran
 +
suivant:
 +
 
 +
        A R I T H M E T I Q U E  C O M P L E X E
 +
        -------------------------------------------
 +
    1 ... Entrée du 1er nb complexe    2 ... Entrée du 2ième nb complexe
 +
    A ... Affichage du résultat        + ... Somme
 +
    - ... Soustraction                * ... Multiplication
 +
    C ... Carré                        U ... Cube
 +
 
 +
Ce gestionnaire de menu aiguillera le traitement suivant le choix désiré
 +
de la façon représentée sur le tableau suivant.
 +
 
 +
  Choix  Fonction appelée  Rôle
 +
  ------- ------------------ ----------------------------------
 +
    1        entree1()      entre un complexe dans z1
 +
    2        entree2()      entre un complexe dans z2
 +
    A      affichage()    affiche r
 +
    +        somme()      calcule z1+z2, range dans r
 +
    -          diff()      calcule z1-z2, range dans r
 +
    *          mult()      calcule z1*z2, range dans r
 +
    C        carre()      calcule z1*z1, range dans r
 +
    U          cube()      calcule z1 au cube, range dans r
 +
 
 +
On notera que pour simplifier, on déclarera ''z1'', ''z2'', et ''r'' en variables globales ( cad connues par
 +
toutes les fonctions). Ecrire les différentes fonctions référencées dans
 +
le tableau ci-dessus.

Version du 20 novembre 2015 à 16:36

Td 9 Travail sur les complexes en C++ avec eclipse

On cherche à écrire un programme permettant le calcul arithmétique de base sur les nombres complexes

Or, on ne peut stocker un complexe dans une variable car il n’existe pas en langage C de type complexe. En définissant une structure représentant les complexes, on peut alors créer un "nouveau" type de variable pour y stocker des complexes.

Utilisons, par exemple, la représentation cartésienne d’un complexe: partie réelle et partie imaginaire. Le code suivant décrit la structure complexe et déclare trois variables: z1, z2, et r.

   struct complexe {
          double pr;
          double pi;
          } z1, z2, r;

Cette structure est donc constituée de deux champs: le champs pr (resp. pi), de type double et qui peut contenir la partie réelle (resp. partie imaginaire) d’un nombre complexe.

L’utilisation de cette structure est simple: si l’on veut stocker 3+4i dans z1, il suffit d’écrire:

   z1.pr=3;
   z1.pi=4;

Exercice

Ecrire le gestionnaire de menu permettant d’afficher et de gérer l’écran suivant:

       A R I T H M E T I Q U E  C O M P L E X E
       -------------------------------------------
   1 ... Entrée du 1er nb complexe    2 ... Entrée du 2ième nb complexe
   A ... Affichage du résultat        + ... Somme
   - ... Soustraction                 * ... Multiplication
   C ... Carré                        U ... Cube

Ce gestionnaire de menu aiguillera le traitement suivant le choix désiré de la façon représentée sur le tableau suivant.

  Choix   Fonction appelée  Rôle
 ------- ------------------ ----------------------------------
    1        entree1()      entre un complexe dans z1
    2        entree2()      entre un complexe dans z2
    A       affichage()     affiche r
    +         somme()       calcule z1+z2, range dans r
    -          diff()       calcule z1-z2, range dans r
    *          mult()       calcule z1*z2, range dans r
    C         carre()       calcule z1*z1, range dans r
    U          cube()       calcule z1 au cube, range dans r

On notera que pour simplifier, on déclarera z1, z2, et r en variables globales ( cad connues par toutes les fonctions). Ecrire les différentes fonctions référencées dans le tableau ci-dessus.