shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Calculando equação do 2 grau


From: claudiocaldas
Subject: Re: Calculando equação do 2 grau
Date: 31 May 2014 15:39:02 -0700

Olá Julio!
Eu intuí que fosse esse o raciocínio...
Tentei colocar em prática a sua sugestão mas não funcionou...
Veja o código e, por gentileza, diga onde estou errando.

#!/bin/bash

echo "##############################################"
echo "######### Cálculo de uma equação #############"
echo "############ do segundo grau #################"
echo "##############################################"

echo "A equação do 2º grau é da forma ax2 + bx + c." 
read -p "Informe o valor de a: " a
read -p "Informe b: " b
read -p "Informe c: " c

let Delta=b**2-4*a*c

((Delta < 0)) && {
    echo "##############################################"
echo "Delta vale: $Delta "
echo "Valores inválidos." 
echo "Não posso extrair raiz quadrada de número negativo." >&2
echo "##############################################"
    exit 1
    }


x=$(bc <<< "scale=2; (($b*-1)/(2*$a)")
x1=$(bc <<< "scale=2; ($b*-1+sqrt($Delta))/(2*$a)")
x2=$(bc <<< "scale=2; ($b*-1-sqrt($Delta))/(2*$a)")

((Delta == 0)) && {
echo "##############################################"
echo "Delta vale: $Delta "
echo "As raízes são iguais"
echo -e "x=$x"
echo "V={$x;$x}"
echo "##############################################"
      exit 1
     }
x1=$(bc <<< "scale=2; ($b*-1+sqrt($Delta))/(2*$a)")
x2=$(bc <<< "scale=2; ($b*-1-sqrt($Delta))/(2*$a)")
echo "##############################################"
echo "Delta vale: $Delta "
echo -e "x1=$x1\nx2=$x2"
echo "V={$x1;$x2}"
echo "##############################################"

Veja a saída.

##############################################
######### Cálculo de uma equação #############
############ do segundo grau #################
##############################################
A equação do 2º grau é da forma ax2 + bx + c.
Informe o valor de a: 1
Informe b: 4
Informe c: 4
(standard_in) 2: syntax error
##############################################
Delta vale: 0 
As raízes são iguais
x=
V={;}
############################################## 
 
Mais uma vez, agradeço a sua atenção.

reply via email to

[Prev in Thread] Current Thread [Next in Thread]