Académique Documents
Professionnel Documents
Culture Documents
Atelier de Programmation 2
Dans ce TP, nous désirons implémenter un nouveau type complexe t pour représen-
ter l’ensemble C. Dans cette implémentation, nous définissons un ensemble d’opérations
arithmétiques pour manipuler les nombres complexes. Enfin, nous implémentons une ré-
solution d’une équation de second degré dans tous les cas (dans l’ensemble R ou dans
l’ensemble C).
1 #i f n d e f COMPLEXE H
2 #define COMPLEXE H
3
4 typedef struct complexe
5 {
6 f l o a t R ee l ;
7 float Imaginaire ;
8 } complexe t ;
9
10 c o m p l e x e t S a i s i e C o m p l e x e ( ) ;
11 void A f f i c h e C o m p l e x e ( c o m p l e x e t C) ;
12
13 #endif
Fichier d’entête complexe.h
1 c o m p l e x e t Add Complexe ( c o m p l e x e t C1 , c o m p l e x e t C2) ;
2 c o m p l e x e t Mult Complexe ( c o m p l e x e t C1 , c o m p l e x e t C2) ;
3 c o m p l e x e t M u l t s c a l C o m p l e x e ( f l o a t K, c o m p l e x e t C) ;
4 f l o a t Module Complexe ( c o m p l e x e t c ) ;
Partie 2 de complexe.h
1. (•◦◦◦) Dans le fichier d’entête complexe.h, ajouter la définition des quatre fonctions
précédentes.
2. Dans le fichier source complexe.c, implémenter les quatre fonction suivantes :
2.1. (•◦◦◦) La fonction Add Complexe permet de renvoyer un nombre complexe qui
correspond à la somme de deux nombres complexes c1 et c2 donnés en paramètre.
2.2. (• ◦ ◦◦) La fonction Mult scal Complexe permet de renvoyer le résultat de la
multiplication d’un complexe par un scalaire (float). Cette fonction prend comme
paramètre un nombre scalaire (float) et nombre complexe.
2.3. (• • ◦◦) La fonction Module Complexe permet de calculer le module (kzk)
d’un complexe donné en paramètre et de renvoyer le résultat.
2.4. (• • •◦) La fonction Mult Complexe permet de renvoyer un nombre complexe
correspondant à la multiplication de deux nombres complexes donnésen para-
mètres.
3. (• • ◦◦) Écrire un programme principal qui permet de :
3.1. Saisir deux nombres complexes et un nombre réel.
3.2. Calculer et afficher la somme des deux complexes saisies.
3.3. Calculer et afficher le produit d’un nombre complexe et le réel saisie.
3.4. Calculer et afficher les modules des deux complexes saisies.
3.5. Calculer et afficher le produit des deux complexes saisies.
Exemple de sortie du programme principal
————————————————–
Calcul et affichage de la somme :
————————————————–
2.00 -3.00 i -9.00 + 2.00 i = -7.00 - i
————————————————–
Calcul et affichage du produit :
————————————————–
2.00 -3.00 i * -9.00 + 2.00 i = -12.00 + 31.00 i
————————————————–
Dans cette partie nous désirons implémenter des fonctions permettant la résolution
d’une équation de second degré avec deux fichiers ”equation2d.h” et ”equation2d.c”. Le
fichier ”equation2d.h” contient les déclarations du type equation2d t représentant une
equation de second degré ainsi que les fonctions relatif au procédé de résolution.
1 #i f n d e f EQUATION2D H
2 #define EQUATION2D H
3 #include ”complexe . h ”
4
5 // Definition de type equation2d_t
6 typedef struct e q u a t i o n 2 d t
7 {
8 float a , b , c ;
9 } equation2d t ;
10
11 equation2d t Saisie Equation () ;
12 void A f f i c h e E q u a t i o n ( e q u a t i o n 2 d t E) ;
13 f l o a t C a l c u l D e l t a ( e q u a t i o n 2 d t E) ;
14 f l o a t S o l u t i o n U ( e q u a t i o n 2 d t E) ;
15 f l o a t S o l u t i o n 1 R ( e q u a t i o n 2 d t E) ;
16 f l o a t S o l u t i o n 2 R ( e q u a t i o n 2 d t E) ;
17 c o m p l e x e t S o l u t i o n 1 C ( e q u a t i o n 2 d t E) ;
18 c o m p l e x e t S o l u t i o n 2 C ( e q u a t i o n 2 d t E) ;
19 void Resoudre ( e q u a t i o n 2 d t E) ;
20
21 #endif
Fichier d’entête equation2d.h