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
Instalar o Unity 3D Web Player no Linux
Programe em Ada, C, C++, Java, JavaScript e outras sem instalar nada em seu computador
Tecle: "Ctrl+Alt+Del" e abra o monitor do sistema Ubuntu
Instalador Skype automatizado - Zenity
Central de Programas do Ubuntu no Linux Mint
Leitura recomendada
Listar comandos mais utilizados (via histórico de shell)
Introdução ao awk
Eliminando linhas de comentário ou linhas em branco no Linux
Baixando todos os arquivos de uma URL com o wget
Executando comandos em looping no shell
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