Supondo que você tenha o utilitário bc
(Calculadora básica) em seu sistema, você pode usar o seguinte comando e um pouco de boa matemática antiga para calcular π para 10.000 casas decimais:
echo "scale=10000; 4*a(1)" | bc -l
Isso provavelmente levará um bom tempo para ser concluído por 10.000 casas decimais.
Quebrando o comando ...
- scale = 10000 - especifica o número de casas decimais a serem usadas para o resultado
- 4 * a (1) - retorna o arco tangente de 1 [que é igual a 45 °: 45 x (π / 180) ou ¼π] e depois multiplica por 4 para obter π.
- bc -l - canaliza a string de função completa para o utilitário bc , -l especifica para carregar a biblioteca matemática padrão necessária para a função arctangent , a () .
Para envolver isso em um script conforme você especifica na sua pergunta, use seu editor favorito para escrever o seguinte e salvá-lo como generatepi.sh
:
#!/bin/bash
echo "scale=$1; 4*a(1)" | bc -l
Em seguida, em um terminal, use chmod +x generatepi.sh
da pasta em que você salvou o arquivo, o que fornecerá os direitos de execução do script. A sintaxe é então generatepi.sh [number of places]
. Observe que isso usa uma maneira muito básica de manipular parâmetros e não validar a entrada, portanto, certifique-se de passar apenas inteiros positivos como um parâmetro.
A maioria dos sistemas Linux deve ter bc
, mas você pode precisar instalá-lo em alguns casos (por exemplo, apt-get no Ubuntu, emerge no Gentoo, etc.). Há também uma porta de bc para Windows .