Precisa fazer um cálculo rápido sem ter que abrir nenhuma aplicação gráfica como, por exemplo, uma planilha de cálculo? O terminal de comandos do Linux é ideal para esses casos.
Para cálculos com ponto flutuante usando somente o terminal de comandos temos diversas opções como o comando bc, por exemplo.
O comando bc (basic calculator) é utilizado para cálculos com precisão arbitrária e possui a vantagem de já vir instalado em qualquer distribuição Linux, portanto, sem a necessidade de instalar nada!
Além do bc, as linguagens de programação de modo geral são ricas em recursos matemáticos e algumas podem ser executadas interativamente no terminal.
Neste artigo mostraremos exemplos de cálculos usando o bc, gnuplot, Python, Scilab, R, Julia, bash e zsh .
Operadores matemáticos
Para realizarmos os cálculos, precisamos saber a sintaxe básica e que símbolos são usados para representar os operadores matemáticos.
- Soma, subtração, multiplicação e divisão
- +, -, *, /
- resto da divisão
- %, usado pelo bc, Python, gnuplot, Julia, bash, zsh (além do C, etc.).
- %%, usado pelo R
- modulo(x,y), usado pelo Scilab.
- exponenciação
- **, usado pelo bc, Python, gnuplot, R, bash, zsh (além de Fortran, etc.)
- ^, usado pelo Scilab, R, Julia.
- Obs.: O R aceita as duas notações, '**' e '^'.
Esses operadores acima estão presentes em praticamente todas as linguagens e softwares com recursos matemáticos, mas outros operadores podem ser definidos conforme a linguagem ou software.
A calculadora bc
Antes de demonstrarmos o uso do bc, seguem algumas dicas:
- A palavra "scale" define o número de casas decimais
- Se bc for chamado com a opção -l (letra L minúscula), a biblioteca "math" é pré-carregada e o "scale" padrão é definido como 20.
-
A biblioteca "math" possui as seguintes funções:
s (x): seno, x em radianos.
c (x): cosseno, x is in radians.
a (x): arco tangente, returna radianos.
l (x): logaritmo natural.
e (x): função exponencial de base "e" (número de Euler).
j (n,x): função de Bessel de ordem inteira "n".
Vamos usar a interface do bc para realizar as seguintes operações:
- Calcular o valor de pi com 10 casas decimais;
- Calcular cos(pi/4);
- Calcular ln(10);
-
Definir recursivamente a função fat(x) para cálculo do fatorial.
Note que cos(pi/4) deu um pouco diferente de cos(atan(1)). Tente explicar o motivo! Para sair da interface do bc, digite quit<ENTER>.
gnuplot
O gnuplot pode ser facilmente instalado na família Ubuntu ou Debian com:
$ sudo apt install gnuplot-x11
No comando de instalação, poderíamos ter omitido "-x11" mas, nesse caso, o terminal padrão instalado seria o "qt". Para executar o gnuplot, basta digitar gnuplot <ENTER> e para encerrar, digite quit<ENTER>.
Vamos usar o gnuplot para calcular cos(π/4), ln(10) e o fatorial de 4:
Python
O Python geralmente já vem instalado no Linux, mas se o seu sistema só tiver o Python, versão 2 instalado, é recomendável instalar a versão 3, bastando digitar no terminal:
$ sudo apt install python3
Para entrar na interface de comandos do Python, basta digitar python3 <ENTER>. Depois, é só importar a biblioteca de funções matemáticas para usar as funções matemáticas. Quando tiver terminado, digite quit() <ENTER>.
A imagem a seguir ilustra o uso do Python para realizar cálculos matemáticos.
Scilab
O Scilab é um software para computação numérica com linguagem semelhante ao Matlab. Além da interface gráfica normal, O Scilab possui uma interface de linha de comando que pode ser rodada diretamente no terminal de comandos do Linux.
Vimos que o caractere de percentual (%) é usado por outras linguagens para indicar o resto da divisão de dois números. O "%" também é usado por algumas linguagens como indicativo de comentário (caso do LaTeX e do Matlab). No Scilab, o "%" é um caractere especial usado para definir algumas constantes, por exemplo, %pi, %i (unidade imaginária) e %e (número de Euler, base dos logaritmos naturais).
Para instalar o Scilab no Ubuntu, basta digitar o seguinte comando no terminal:
$ sudo apt install scilab
Para executar o Scilab diretamente no Terminal, digite scilab-cli <ENTER> e para encerrar digite quit <ENTER>.
A imagem a seguir ilustra o uso do Scilab para realizar cálculos matemáticos.
R
R é um sistema para computação estatística e visualização gráfica de dados. Para instalá-lo no Ubuntu e derivados basta digitar no terminal:
$ sudo apt install r-basePara executá-lo diretamente no terminal de comandos, tecle R <Enter> e para encerrá-lo, tecle q() <ENTER>.
A imagem a seguir ilustra o uso do R para realizar cálculos matemáticos.
Julia
Julia é uma linguagem de tipagem dinâmica, apropriada para computação científica e numérica, com desempenho comparável às linguagens tradicionais de tipagem estática.
Para instalação, basta seguir as instruções disponíveis na área de downloads do site do Julia. A instalação é simples, bastando baixar a pasta compactada contendo todos os arquivos necessários. Até o momento da edição final desse texto, a última versão estável era a versão 1.5.2, lançada em 23 de setembro de 2020 e foi baixada com o comando a seguir:
$ wget https://julialang-s3.julialang.org/bin/linux/x64/1.5/julia-1.5.2-linux-x86_64.tar.gz
Para descompactar o arquivo, estando no mesmo diretório em que o arquivo compactado foi baixado, digite:
$ tar xvzf julia-1.5.2-linux-x86_64.tar.gz
Será criada a pasta julia-1.5.2 (se você tiver baixado a versão 1.5.2) e o arquivo executável encontra-se, como de costume, na subpasta bin e chama-se, como era de se esperar, julia.
Para iniciar a interface de comandos do Julia, basta digitar julia <ENTER> e para encerrar, digite exit() <ENTER> ou <CTRL> d.
A imagem a seguir ilustra o uso do Julia para realizar cálculos matemáticos.
bash
O bash, o interpretador de comandos padrão na maioria das distribuições Linux, não possui nativamente suporte a cálculos com números de ponto flutuante mas está apto a fazer cálculos com números inteiros.
Os cálculos usando o bash podem ser realizados diretamente no terminal de comandos ou em arquivos de script (chamados de shell script ou bash script) utilizando-se, frequentemente, dos elementos seguintes:
- o comando echo
- a expansão aritmética (( ... ))
- os operadores aritméticos: -, +, *, /, %, **, etc
Vejamos alguns exemplos:
Lembramos que, na linguagem bash, o operador '%' retorna o resto de uma divisão entre números inteiros, '**' significa a exponenciação, ou seja, x**2 é o mesmo que elevar x ao quadrado. O operador '+=' retorna a soma e atualiza o valor da variável precedente.
Apesar do bash não ter suporte nativo a ponto flutuante, se você tiver um programa com recursos matemáticos melhores e que aceite receber dados de entrada via pipe, '|', o bash pode encaminhar os cálculos para serem processados por tal programa. Esse é o caso do bc e do gnuplot.
A imagem a seguir demonstra o bash solicitando ao bc para fazer os cálculos
A imagem seguinte ilustra o bash solicitando ao gnuplot para fazer os cálculos.
zsh
Além do bash, há vários outros interpretadores de comandos que podem ser instalados, entre eles, o zsh.
O zsh possui uma série de aprimoramentos com a finalidade de aumentar a usabilidade do terminal de comandos e inclusive a capacidade de realizar cálculos de ponto flutuante.
A imagem seguinte ilustra esses recursos.
Note, que na última linha, elevamos a 0.5 para obter a raiz quadrada.Por enquanto é só!
Comentários
Postar um comentário