Pular para o conteúdo

Calcular raízes de equações de segundo grau

Sou novo aqui, esse é meu primeiro script mais complexo. Simplesmente calcula as raízes de uma equação de segundo grau desmembrando e utilizando a fórmula de Bhaskara. Críticas são bem-vindas. :)
Raphael Henrique Raphael_Henrique
Hits: 7.826 Categoria: Shell Script Subcategoria: Introdução
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Sou novo aqui, esse é meu primeiro script mais complexo. Simplesmente calcula as raízes de uma equação de segundo grau desmembrando e utilizando a fórmula de Bhaskara. Críticas são bem-vindas. :)
Download EquacaoSegundoGrau.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash
#
#Script:  Calcular raízes de equação de segundo grau
#


echo
echo -n "Valor de a: "
read a
echo -n "Valor de b: "
read b
echo -n "Valor de c: "
read c

# verificar se todos os parâmetros estão preenchidos
if [ -z $a ] || [ -z $b ] || [ -z $c ]; then
    echo
    echo "==========================="
    echo " ERRO: Faltando parâmetros"
    echo "==========================="
    echo
    exit

# verificar se a = 0
elif [ $a -eq 0 ]; then
    echo
    echo "==========================="
    echo " ERRO: Impossível calcular"
    echo "==========================="
    echo
    exit
fi

delta=`bc << EOF
    scale=3
    a=($b * $b) # b^2
    b=(4 * $a * $c) # 4ac
    a - b #b^2 - 4ac
EOF
`
echo
echo "Delta = $delta"
# verificar se delta < 0
if [ $delta -lt 0 ]; then
    echo
    echo "========================"
    echo " Não possui raízes reais"
    echo "========================"
    echo
    exit
fi

x1=`bc << EOF
    scale=3
    n=(((-1)*$b)+sqrt($delta)) # -b+raiz(delta)/2a
    n/(2*$a)
EOF
`
# se delta = 0,  então só há uma raiz real
if [ $delta -eq 0 ]; then
    echo
    echo "==================="
    echo " x = $x1"
    echo "==================="
    echo
    exit
fi

x2=`bc << EOF
    scale=3
    n=(((-1)*$b)-sqrt($delta)) # -b+raiz(delta)
    n/(2*$a) #  dividir por 2a
EOF
`
echo
echo "==================="
echo " x1 = $x1"
echo " x2 = $x2"
echo "==================="
echo
exit

Instalação Zabbix-agent Debian7

Jukebox com dialog para PCs antigos

Transformando arquivos TXT em arquivos PDF

Instalação de programas no Ubuntu Linux

Personalizar teclado, alterar função de uma tecla

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.