Amina AIMEUR
Anfel TLILANI
Devoir du module ASD Groupe : 03
1) Développer un algorithme Complexe-abstrait, composé de procédures et fonctions :
Algorithme Complexe_Abstrait
Déclarations
R, M : real
Z1, Z2 : complexe
Fonction constC (r1, r2: real): complexe
debut ... fin
Fonction rl ( Z :complexe): real
debut ... fin
Fonction im (Z :complexe): real
debut ... fin
Fonction addC (Z1, Z2: complexe): complexe
Début
Retourner (constC (rl(z1)+rl(z2), im(z1)+im(z2)))
Fin
Fonction soustC (Z1, Z2: complexe): complexe
Début
Retourner (constC (rl(z1)-rl(z2), im(z1)-im(z2)))
Fin
Fonction module (z: complexe): real
Début
Retourner (sqrt (rl(z)*rl(z) + im (z)*im (z)))
Fin
Début
//Construction de 2 nombres complexes
Ecrire (« faites entrer deux valeurs slvp : » )
Lire ( R,M)
Z1 ← constC( R , M )
Ecrire (« votre premier nombre complexe est : », rl(Z1), « + » , im(Z1), « i » )
Ecrire (« faites entrer deux autres valeurs slvp : » )
Lire ( R,M)
Z2 ← constC( R , M )
Ecrire (« votre deuxième nombre complexe est : », rl(Z1), « + » , im(Z1), « i » )
//Afficher leur somme et soustraction
Ecrire ( « la somme des deux nombres complexes est : S= », addC(Z1,Z2) )
Ecrire ( « la difference entre les deux nombres complexes est : D= », sousC(Z1,Z2) )
//Donner le nombre complexe, dont le module est le plus grand
Si (module (Z1) > module(Z2)) alors
Ecrire (« le nombre complexe avec le plus grand module est Z1 »)
Sinon
Ecrire (« le nombre complexe avec le plus grand module est Z2 »)
FinSi
Fin
2) Si on opte pour une R.I (Representation Interne) des nombres complexes à l’aide d’un tableau
Complexe de 2 réels, on doit adapter les fonctions suivantes à cette representation :
Fonction constC
Fonction rl
Fonction im
3) Développer un algorithme Complexe-tableau, composé de procédures et fonctions :
Algorithme Complexe-tableau
Déclarations
Type
complexe : tableau de 2 real
Variables
comp1, comp2 : complexe
R, M : real
//implementation des fonctions
Fonction constC (r1, r2: real) : complexe
Debut
Z : complexe
Z [1] ← r1
Z [1] ← r1
Retourner (Z)
Fin
Fonction rl ( Z :complexe): real
Debut
Retourner Z[1]
Fin
Fonction im (Z :complexe): real
Debut
Retourner Z [2]
Fin
Fonction addC (Z1, Z2: complexe): complexe
Début
Retourner (constC (rl(Z1)+rl(Z2), im(Z1)+im(Z2)))
Fin
Fonction soustC (Z1, Z2: complexe): complexe
Début
Retourner (constC (rl(Z1)-rl(Z2), im(Z1)-im(Z2)))
Fin
Fonction module (Z: complexe): real
Début
Retourner (sqrt (rl(Z)*rl(Z) + im (Z)*im (Z)))
Fin
Début
//Construction de 2 nombres complexes
Ecrire (« faites entrer deux valeurs slvp : » )
Lire ( R,M)
comp1 ← constC( R , M )
Ecrire (« votre premier nombre complexe est : », rl(Z1), « + » , im(Z1), « i » )
Ecrire (« faites entrer deux autres valeurs slvp : » )
Lire ( R,M)
comp2 ← constC( R , M )
Ecrire (« votre deuxième nombre complexe est : », rl(comp1), « + » , im(comp1), « i » )
//Afficher leurs sommes et soustractions
Ecrire ( « la somme des deux nombres complexes est : S= », addC(comp1,comp2) )
Ecrire ( « la difference entre les deux nombres complexes est : D= », sousC(comp1,comp2) )
//Donner le nombre complexe, dont le module est le plus grand
Si (module (comp1) > module(comp2)) alors
Ecrire (« le nombre complexe avec le plus grand module est comp1 »)
Sinon
Ecrire (« le nombre complexe avec le plus grand module est comp2 »)
FinSi
Fin