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

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

[ Hits: 6.254 ]

 


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

Instalador Skype automatizado - Zenity

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

Matrix no terminal Linux

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

Central de Programas do Ubuntu no Linux Mint

Leitura recomendada

Eliminando linhas de comentário ou linhas em branco no Linux

Informações completas sobre os arquivos numa pasta

Múltiplas expressões no SED

Bloqueando tráfego via MAC com iptables

Limitando o alcance do SED por números de linha

  

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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts