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

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

[ Hits: 4.959 ]

 


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

Entrando em sites bloqueados

Instalar o Unity 3D Web Player no Linux

Matrix no terminal Linux

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

Programe em Ada, C, C++, Java, JavaScript e outras sem instalar nada em seu computador

Leitura recomendada

Limitando o alcance do SED por números de linha

Como fazer "quit" no SED

Bloqueando tráfego via MAC com iptables

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

Baixando todos os arquivos de uma URL com o wget

  

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
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts