Calculadora em Shell Script
Publicado por Wagner Souza (última atualização em 23/02/2015)
[ Hits: 23.023 ]
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 ##############################################################
Script para Controlar Conexao Speedy
Limpando pacotes desnecessários com apt-get
Exibir configurações de REDE de maneira amigavel.
Criar senha para abrir determinado programa
Nenhum comentário foi encontrado.
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Restaurando Fontes de Download do Hydra no Linux
Atualizando "na marra" o YT-DLP quando começa a dar erro de downloads
Como instalar o WPS com interface e corretor ortográfico em PT-BR no Arch Linux
Java é uma linguagem de brinquedo? (1)
Linux não desliga a tela da TV nunca (4)
Mudar ícone do favorito "encerrar sessão" do Debian 12.10, c... (2)