Equação de 2° Grau Shell Script - Zenity
Está cansado de ter que fazer aquelas contas enormes para chegar ao resultado?
Se sim, esse dica é para você.
Você precisa ter o
Zenity instalado para funcionar.
No Ubuntu, digite no terminal:
sudo apt-get install zenity
Depois, salve o script e torne ele executável. Para isso, entre na pasta que o arquivo se encontra e digite:
chmod 777 Equação2Grau.sh
Pronto, o mais difícil já foi feito.
Agora, dê um clique duplo no arquivo onde foi salvo e clique em:
Executar
Pronto, agora é só digitar o valor de
a,
b e
c, e você terá o Delta, a raiz 1 e a raiz 2.
Caso contrário, se a conta não tiver raiz real (ou não for de 2 grau), irá aparecer um aviso. :D
Script
Segue script:
#!/bin/bash
clear
echo "###################################"
echo "######### Equação de #########"
echo "######### Segundo Grau #########"
echo "######### By Thihup #########"
echo "###################################"
a=`zenity --entry --text "Digite o Valor A" --entry-text "Valor" --title "Equação do 2° Grau"`
b=`zenity --entry --text "Digite o Valor B" --entry-text "Valor" --title "Equação do 2° Grau"`
c=`zenity --entry --text "Digite o Valor C" --entry-text "Valor" --title "Equação do 2° Grau"`
delta=`echo "scale=1;$(( $b**2 )) - (( 4 * $a * $c ))" | bc`
#Comente esta linha, caso esteja em uma distro que não utilize o APT
apt-get moo
if [ "$a" -eq "0" ] ; then
zenity --warning --text "Não é Equação do 2° Grau" --title "Equação do 2° Grau"
exit
fi
if [ "$delta" -ge "0" ] ; then
s1=$(echo "scale=1;(-($b)+sqrt($delta))/(2*$a)" | bc)
s2=$(echo "scale=1;(-($b)-sqrt($delta))/(2*$a)" | bc)
zenity --info --text "Delta : $delta \n Raiz 1 : $s1 \n Raiz 2 :$s2" --title "Equação do 2° Grau"
fi
if [ "$delta" -lt "0" ]; then
zenity --warning --text "Nenhuma Raiz Real !" --title "Equação do 2° Grau"
exit
fi
clear
Outras dicas deste autor
Programe em Ada, C, C++, Java, JavaScript e outras sem instalar nada em seu computador
Matrix no terminal Linux
Tecle: "Ctrl+Alt+Del" e abra o monitor do sistema Ubuntu
Como usar o apt-get em versões antigas do Ubuntu
Central de Programas do Ubuntu no Linux Mint
Leitura recomendada
Obtendo a cotação do Bitcoin com SED
Como renomear arquivos de letras maiúsculas para minúsculas
Ações condicionais no SED
Eliminando linhas de comentário ou linhas em branco no Linux
Testando se uma variável é número em shell script
Comentários
Galera, Eu Criei com um loop infinito e com 2 casas apos a virgula
#!/bin/bash
clear
echo " ###################################"
echo " ######### Equação de #########"
echo " ######### Segundo Grau #########"
echo " ######### By Thihup #########"
echo " ###################################"
valor () {
a=`zenity --entry --text "Digite o Valor A" --entry-text "Valor" --title "Equação do 2° Grau"`
b=`zenity --entry --text "Digite o Valor B" --entry-text "Valor" --title "Equação do 2° Grau"`
c=`zenity --entry --text "Digite o Valor C" --entry-text "Valor" --title "Equação do 2° Grau"`
delta=`echo "scale=2;$(( $b**2 )) - (( 4 * $a * $c ))" | bc`
if [ "$a" -eq "0" ] ; then
zenity --warning --text "Não é Equação do 2° Grau" --title "Equação do 2° Grau"
exit
fi
if [ "$delta" -ge "0" ] ; then
s1=$(echo "scale=2;(-($b)+sqrt($delta))/(2*$a)" | bc)
s2=$(echo "scale=2;(-($b)-sqrt($delta))/(2*$a)" | bc)
zenity --info --text "Delta : $delta \n Raiz 1 : $s1 \n Raiz 2 :$s2" --title "Equação do 2° Grau"
fi
if [ "$delta" -lt "0" ]; then
zenity --warning --text "Nenhuma Raiz Real !" --title "Equação do 2° Grau"
fi
}
clear
valor
clear
while true
do
zenity --question --text "Deseja Calcular Novamente ?"
if [ $? == 0 ] ; then
valor
else
clear
exit
fi
done