Equação de 2° Grau Shell Script - Zenity

Publicado por Thiago Henrique Hüpner em 12/05/2014

[ Hits: 5.069 ]

 


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

Tecle: "Ctrl+Alt+Del" e abra o monitor do sistema Ubuntu

Instalador Skype automatizado - Zenity

Instalar o Unity 3D Web Player no Linux

Como usar o apt-get em versões antigas do Ubuntu

Central de Programas do Ubuntu no Linux Mint

Leitura recomendada

Como fazer "quit" no SED

Limitando o alcance do SED por números de linha

Bloqueando tráfego via MAC com iptables

Ações condicionais no SED

SED - substituir apenas a ocorrência N de uma string

  

Comentários
[1] Comentário enviado por Thihup em 12/05/2014 - 08:49h

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



Contribuir com comentário