Cálculo de raiz quadrada
Publicado por Elgio Schlemer 07/03/2009
[ Hits: 17.914 ]
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
Cadastro Regras de Controle de Banda - CBQ
File Browser: Crie sua Nuvem Pessoal Privada
A produção de áudio e vídeo no Linux e as distribuições dedicadas a esse fim
Criptografando sua Home com Gocryptfs para tristeza do meliante
A Involução do Linux e as Lambanças Desnecessárias desde o seu Lançamento
O Journal no Linux para a guarda e consulta de logs do sistema
Gerenciamento de Vídeo Híbrido (Intel/NVIDIA) via nvidia-prime no Ubuntu e derivados
Assistindo IPTV no Linux com Fred TV e Lista Free TV
Impressora Tomate MDK-007 no Ubuntu (ou qualquer distro Linux)
Acelerando a compilação de pacotes no Arch Linux (AUR) usando todos os núcleos do processador
Entendendo o Maven com JavaFX (0)
Tive um problema ao abrir minha partição Btrfs. Como posso resolver is... (1)
Enquete: qual bloco de código C++ é mais legível? (4)
Warsaw não é reconhecido no Google Chrome 147.0.7727.55 [RESOLVIDO] (11)









