Ola povo, trago para vcs agora um programa que calcula um equação de 2 grau, vai ajudar MUITO quem ta aprendendo sobre REGEX e tmb quem não tem muita ideia de como fazer alguns calculos:
Código:
#!/usr/bin/perl -w print "\t Equacao de 2 Grau\n\n"; print "Escreva a equacao na forma ax2+-bx+-c:\n"; chomp($e = <STDIN>); $e =~ s/\Ax/1x/g && $e =~ s/[-]x/-1x/g; $e =~ s/[+]x/+1x/g; print $e; @arr = split(/x2|x|\+/, $e); foreach $w(@arr){ if($w =~ /\d/){ push @num, $w; } } $del = $num[1]**2-4*$num[0]*$num[2]; if ($del < 0){ die "Nao existem raizes reais para essa equacao!\n"; } $x1 = (-$num[1]+ sqrt($del))/2*$num[0]; $x2 = (-$num[1]- sqrt($del))/2*$num[0]; $str = "As raizes da equação $e sao $x1 e $x2\n"; print $str;