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

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

[ Hits: 5.873 ]

 


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

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

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

Como criar um diretório em C/C++

Instalador Skype automatizado - Zenity

Leitura recomendada

Busca por string dentro dos arquivos

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

Como remover parêntesis dos nomes de arquivos

Remover tags HTML com SED

Introdução ao awk

  

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