Cálculo de raiz quadrada
Publicado por Elgio Schlemer 07/03/2009
[ Hits: 17.592 ]
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
Disponibilidade de impressoras de rede
Relatório minuto a minuto de todas as conexões do servidor
Claro 3g Sony Ericsson md300 script conexao - Revisado
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
É normal não gostar de KDE? (6)
Impressora epson l6270 não funciona em Linux mint (0)
esqueci a senha do boot do notebook dell vostro 3300 (3)