Calculadora em Shell Script
Publicado por Wagner Souza (última atualização em 23/02/2015)
[ Hits: 23.165 ]
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 ##############################################################
Instalação do sublime text 3 no Ubuntu 16.04
MACGEN V1.0 MAC Address Generator
Nenhum coment�rio foi encontrado.
Servidor de Backup com Ubuntu Server 24.04 LTS, RAID e Duplicati (Dell PowerEdge T420)
Visualizar câmeras IP ONVIF no Linux sem necessidade de instalar aplicativos
Atualizar Debian Online de uma Versão para outra
Instalar driver Nvidia no Debian 13
Redimensionando, espelhando, convertendo e rotacionando imagens com script
Debian 13 Trixie para Iniciantes
Convertendo pacotes DEB que usam ZSTD (Padrão Novo) para XZ (Padrão Antigo)
Debian 13 "trixie&... lançado! (44)
Rust é o "C da nossa geração"? (3)
Gerenciador de arquivos é finalizado ao abrir pasta específica (2)