Calculadora em Shell Script
Publicado por Wagner Souza (última atualização em 23/02/2015)
[ Hits: 22.735 ]
Homepage: https://medium.com/@souzaw
Criação de uma calculadora simples para quem está iniciando os seus estudos em Shell Script. Contém as principais funções básicas de aritmética e cálculo da raiz quadrada.
#!/bin/bash #Autor: k666 #Data: 16/02/2015 #Algoritmo que calcula: soma, subtração, multiplicação, #divisão, a raiz quadrada de números exatos como 4, 16, 121... #e conversão de bases decimal e hexadecimal menu () { clear echo " _____________________________________" echo echo " CALCULADORA CONTA FÁCIL" echo " Versão 0.1" echo " Desenvolvido por K666" echo " _____________________________________" echo echo echo "< 1 > Somar " echo "< 2 > Subtração " echo "< 3 > Multiplicação " echo "< 4 > Divisão " echo "< 5 > Raiz quadrada " echo "< 0 > Sair " echo echo "Escolha uma das opções acima: " read opcao case $opcao in 1) soma ;; 2) subtracao ;; 3) multiplicacao ;; 4) divisao ;; 5) raizquad ;; 0) exit ;; esac } soma () { clear echo "Digite um número: " read num1 echo "Digite um número: " read num2 soma=$(($num1 + $num2 )) echo "Resultado da soma: $soma" echo echo "--------------------------------" echo echo "O que deseja fazer agora?" echo "< c > Continuar" echo "< m > Menu Principal" echo "< s > Sair" echo "Escolha uma opção" read op if [ "$op" = "c" ] then soma elif [ "$op" = "m" ] then menu elif [ "$op" = "s" ] then clear exit else echo " Opção Inválida! " fi } subtracao () { clear echo "Digite um número: " read num1 echo "Digite um número: " read num2 sub=$(($num1 - $num2 )) echo "Resultado da soma: $sub" echo echo "--------------------------------" echo echo "O que deseja fazer agora?" echo "< c > Continuar" echo "< m > Menu Principal" echo "< s > Sair" echo "Escolha uma opção" read op if [ "$op" = "c" ] then subtracao elif [ "$op" = "m" ] then menu elif [ "$op" = "s" ] then clear exit else echo " Opção Inválida! " fi } multiplicacao () { clear echo "Digite um número: " read num1 echo "Digite um número: " read num2 mult=$(($num1 * $num2 )) echo "Resultado da soma: $mult" echo echo "--------------------------------" echo echo "O que deseja fazer agora?" echo "< c > Continuar" echo "< m > Menu Principal" echo "< s > Sair" echo "Escolha uma opção" read op if [ "$op" = "c" ] then multiplicacao elif [ "$op" = "m" ] then menu elif [ "$op" = "s" ] then clear exit else echo " Opção Inválida! " fi } divisao () { clear echo "Digite um número: " read num1 echo "Digite um número: " read num2 div=$(($num1 / $num2 )) echo "Resultado da soma: $div" echo echo "--------------------------------" echo echo "O que deseja fazer agora?" echo "< c > Continuar" echo "< m > Menu Principal" echo "< s > Sair" echo "Escolha uma opção" read op if [ "$op" = "c" ] then divisao elif [ "$op" = "m" ] then menu elif [ "$op" = "s" ] then clear exit else echo " Opção Inválida! " fi } raizquad () { clear echo "Digite um número: " read num #Iniciando o contandor com 1 pois não existe divisão por zero i=1 while [ $i -lt $num ] do #Variável calc significa cálculo e calc2, cálculo2 #A variável calc fará a divisão do número passado pelo #usuário e o contador. Em seguida este valor será multiplicado #por ele mesmo na variável calc2. calc=$(($num / $i)) calc2=$(($calc * $calc )) #Aqui é realizado o teste que caso seja verdadeiro a #condição $calc2 for igual a $num, haverá uma interrupção #no loop (com o comando bread) e será mostrado o comando #echo logo abaixo if [ $calc2 -eq $num ] then break fi i=$(($i + 1)) done echo "A raiz quadrada de $num é: $calc" echo echo "--------------------------------" echo echo "O que deseja fazer agora?" echo "< c > Continuar" echo "< m > Menu Principal" echo "< s > Sair" echo "Escolha uma opção" read op if [ "$op" = "c" ] then divisao elif [ "$op" = "m" ] then menu elif [ "$op" = "s" ] then clear exit else echo " Opção Inválida! " fi } ################### CHAMAR O MENU PRINCIPAL ################### menu ##############################################################
Agenda "completa" com interface do zenity
Nenhum comentário foi encontrado.
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Tem como instalar o gerenciador AMD Adrenalin no Ubuntu 24.04? (15)
Tenho dois Link's ( IP VÁLIDOS ), estou tentando fazer o failover... (0)
Pendrive não formata de jeito nenhum (4)