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
Central de Programas do Ubuntu no Linux Mint
Programe em Ada, C, C++, Java, JavaScript e outras sem instalar nada em seu computador
Como criar um diretório em C/C++
Matrix no terminal Linux
Tecle: "Ctrl+Alt+Del" e abra o monitor do sistema Ubuntu
Leitura recomendada
Leitor de arquivos ePub
Eliminando linhas de comentário ou linhas em branco no Linux
Remover tags HTML com SED
Como renomear arquivos de letras maiúsculas para minúsculas
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