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.833 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

Cálculo da raiz quadrada

Script para ejetar o seu cdrom numa determinada hora

BKP

Cadastro fictício

Instalar temas do Windowmaker

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.