PERL
36
journeau Complexe
Guest on 17th May 2022 01:26:27 AM
#!/usr/local/bin/perl
# Florian JOURNEAU
# ----------------------
use strict;
use Math::Complex;
print("Equation de type a * X^2 + b * X + C = 0\n");
print("\nDonnez la valeur de la partie reelle de a : ");
my $aRE = <STDIN>;
print("Donnez la valeur dans la partie imaginaire de a : ");
my $aIM = <STDIN>;
print("\nDonnez la valeur de la partie reelle de b : ");
my $bRE = <STDIN>;
print("Donnez la valeur dans la partie imaginaire de b : ");
my $bIM = <STDIN>;
print("\nDonnez la valeur de la partie reelle de c : ");
my $cRE = <STDIN>;
print("Donnez la valeur dans la partie imaginaire de c : ");
my $cIM = <STDIN>;
my $a = cplx($aRE, $aIM);
my $b = cplx($bRE, $bIM);
my $c = cplx($cRE, $cIM);
# Discriminant
my $d = $b**2 - 4*$a*$c;
print("\nDiscriminant = $d \n");
my($r1, $r2);
if ($d > 0){
$r1 = (-$b + sqrt($d))/(2*$a);
$r2 = (-$b - sqrt($d))/(2*$a);
print("Discriminant positif, racine reelles");
}elsif ($d==0){
$r1 = -$b/(2*$a);
$r2 = $r1;
print("Discriminant nul, racines relles confondues");
}else{
$r1 = (-$b + (root($d, 2))[0])/(2*$a);
$r2 = (-$b - (root($d, 2))[0])/(2*$a);
print("Discriminant negatif, racines complexes");
}
print("\n\nRacines de l'equation : $r1 et $r2 \n");
$r1 = (-$b + (root($d, 2))[0])/(2*$a);