Cálculo de raiz quadrada
Publicado por Elgio Schlemer 07/03/2009
[ Hits: 17.731 ]
Homepage: https://elgio.prof.nom.br/~elgio
Como calcular raiz quadrada em bash? Algumas linguagens tem o sqrt, mas o bash como poderia ser.
#!/bin/bash # Comentarios: muitas linguagens tem o operador de raiz quadrada ou uma funcao # implementada que a realiza. Normalmente esta funcao recebe o nome de sqrt # pyton e pearl tem este operador # Em linux pode-se usar as calculadoras dc para ter o mesmo efeito: # # echo "144 v p"|dc # # mas digamos que isto nao tem graca, pois se usou um comando externo, o dc, # que foi feito em C. Legal mesmo eh o calculo em bash puro # Para isto teria-se que usar a calculadora interna do bash, invocada por # $(( ... )) # # a funcao matematica que se segue eh muito usada e pode ser refinada. Quanto # mais passos, mas se aproxima-se do valor # # Para usar, chame ./raiz.sh N # onde N eh o numero da raiz quadrada (podem passar varios valores, como # ./raiz 144 445 56 67 # MAX=50 # Numero maximo de iteracoes que se faz. for N in $* do I=0 R=$(( $N / 2)) while (( $I < $MAX )) do I=$(( $I + 1)) ANT=$R R=$(( ($N/$R + $R) / 2 )) if [ $ANT == $R ] then break fi done echo Raiz quadrada de $N eh $R done # este codigo retorna apenas a parte INTEIRA da raiz quadrada pois a # calculadora do bash nao trabalha com pontos flutuantes. Para ter # casas decimais teria que usar o bc ou dc, e ai perderia a graca
Criando usuário com poderes de root
Biblioteca de funções de manipulação de arquivos CSV para shell script
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)
Instalar Linux em notebook Sony Vaio VPCEG13EB (13)









