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

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

Re: [shell-script] Re: Calculando equação do 2 grau


From: Julio C. Neves
Subject: Re: [shell-script] Re: Calculando equação do 2 grau
Date: Sun, 1 Jun 2014 01:43:39 -0300

Dando uma enxugada rápida, sem testar, fiz assim:
===========================================
#!/bin/bash
clear
echo "
##############################################
######### Cálculo de uma equação #############
############ do segundo grau #################
##############################################"

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
}

x1=$(bc <<< "scale=2; ($b*-1+sqrt($Delta))/(2*$a)")
x2=$(bc <<< "scale=2; ($b*-1-sqrt($Delta))/(2*$a)")
((Delta == 0)) && echo "As raízes são iguais"

echo "##############################################"
echo "Delta vale: $Delta "
echo -e "x1=$x1\nx2=$x2"
echo "V={$x1;$x2}"
echo "##############################################"
===========================================
Eu já mateium pouco desse echo, echo, echo, ... isso é coisa de marreco! ;) Se quiser melhorar, veja como funciona o printf no Papo de Botequim autentico.

Abcs,
Julio
@juliobash
Próximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 02 a 06/06
São Paulo 4Linux 21 a 25/07
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.



Em 31 de maio de 2014 19:39, address@hidden [shell-script] <address@hidden> escreveu:
 

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]