Cálculo de raiz quadrada
Publicado por Elgio Schlemer 07/03/2009
[ Hits: 17.305 ]
Homepage: https://profelgio.duckdns.org/~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
Levantamento de hardware e software no Mandriva 2006
Find em arquivos compactados (grep em arquivos tgz)
Script de Backup para FITA DAT usando "tar"
Enviar mensagem ao usuário trabalhando com as opções do php.ini
Meu Fork do Plugin de Integração do CVS para o KDevelop
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Compartilhamento de Rede com samba em modo Público/Anônimo de forma simples, rápido e fácil
Cups: Mapear/listar todas as impressoras de outro Servidor CUPS de forma rápida e fácil
Criando uma VPC na AWS via CLI
Dificuldade para renderizar vídeo no kdenlive (6)
xubuntu sem sons de eventos (3)
Erro ao iniciar serviço samba4 como novo dc em um ambiente com ad [RES... (9)