Calculadora em Shell Script
Publicado por Wagner Souza (última atualização em 23/02/2015)
[ Hits: 22.606 ]
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 ##############################################################
MACGEN V1.0 MAC Address Generator
Instalar as bibliotecas do Cisco para versões 64 bits do Ubuntu
Nenhum comentário foi encontrado.
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
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
Flatpak: remover runtimes não usados e pacotes
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como atualizar o Debian 8 para o 10 (10)
Dica sobre iptables ACCEPT e DROP (6)
NGNIX - Aplicar SNAT para evitar roteamento assimetrico (29)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta