Cours:TdComplexe : Différence entre versions
(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 | + | 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.