bce dcsão as 2 calculadoras que usarei frequentemente quando precisar de acesso a partir de um terminal.
Exemplos
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
Então você pode digitar suas perguntas:
2
2
5+5
10
Quando terminar, você pode sair com um Ctrl+ C.
Passeio de teste
Essas calculadoras são bastante ricas em recursos.
escala
scale=5
193 * 1/3
64.33333
equações
principal=100
ir = 0.05
years = 5
futurevalue = principal * (1 + ir)^years
futurevalue
127.62800
seus exemplos
8*6-4
44
8*(6-4)
16
calc
Se você quer algo um pouco mais interativo, existe calc.
Exemplo
$ calc
C-style arbitrary precision calculator (version 2.12.4.4)
Calc is open software. For license details type: help copyright
[Type "exit" to exit, or "help" for help.]
; 10+10
20
; 8*6-4
44
; 8*(6-4)
16
;
Você pode usar as setas para cima / para baixo para passar por comandos anteriores e também possui ajuda interativa.
; help
Dá-lhe isso:
For more information while running calc, type help followed by one of the
following topics:
topic description
----- -----------
intro introduction to calc
overview overview of calc
help this file
assoc using associations
builtin builtin functions
command top level commands
config configuration parameters
custom information about the custom builtin interface
define how to define functions
environment how environment variables effect calc
errorcodes calc generated error codes
expression expression sequences
file using files
history command history
interrupt how interrupts are handled
list using lists
mat using matrices
...
Como essa não é uma pergunta específica do Ubuntu, talvez faça um link para o calc upstream em vez de para o pacote Ubuntu?
mattdm
@mattdm - obrigado acrescentou esse link, deixei o outro link simplesmente porque eu estava ligando para uma página de manual no calc, não necessariamente o pacote ubuntu.
slm
6
Há muitas respostas para sua pergunta ...
Os mais simples que você pode fazer no shell.
$ echo $((8*(6-4)))
16
Como um programa dedicado existe bc.
$ echo "8*(6-4)" | bc
16
Funções personalizadas via script? Bem, scripts de shell e bc os possuem, de certa forma. Depende de quão longe você deseja levá-lo.
Por que não Python? É fácil de aprender.
$ python
>>> from math import atan
>>> 8*(6-4)+atan(0)
16.0
Ultimamente, tenho usado o Python para isso, mas é por isso que quero outra coisa. Fica irritante ter que importar algo para todas as funções. Eu esperava mais por algo independente, como o Speedcrunch ( i.imgur.com/Cn6GejG.png ), mas a linha de comando obviamente.
Lucas Phillips
1
Você pode resolver o problema de importação definindo a variável de ambiente PYTHONSTARTUP e pré-importando itens no arquivo apontado pela variável.
Mkc
5
Em zsh:
$ autoload zcalc # best in ~/.zshrc
$ zcalc
1> 8*(6-4)
16
2> $1*2
32
Aqui está um pequeno hack do bash que permitirá que você faça aritmética simples diretamente na linha de comando.
alias calc='set -o noglob; docalc'
function docalc { perl -e "print STDOUT $*, \"\\n\""; set +o noglob; }
Então você pode fazer, por exemplo,
calc 3 * 15 + 5
Infelizmente, ele não funciona bem com parênteses. (Se bem me lembro, você pode fazer com que o tcsh os aceite também, mas não consegui convencer o bash a fazê-lo.)
PS. Você pode confiar no bash para a aritmética, substituindo a perlchamada por echo $(( $* )); mas isso lhe dará uma divisão inteira para 5/6, etc. A aritmética de Perl é mais útil.
Alternativa: se você precisa apenas de carne com python import math, o seguinte é seu amigo:
% alias calc='python -i -c "from math import *"'
% calc
>>> 5 * atan(0.25)
Uma outra maneira é usar um intérprete como o Python 3:
$ python3
> from math import *
> 213/53*exp(0.8)/asin(3)
9.645423462356044
Tenha a vantagem de cmathpoder criar um script de tudo, já existem muitas funções (você também pode importar se precisar de números complexos), não precisa definir nenhuma precisão para a maioria dos casos e o python já está instalado na maioria das instalações do Linux.
O Python 3.x é melhor para uma calculadora genérica que o Python 2.x, porque o Python 3.x faz divisões de ponto flutuante se o resultado não for int.
$ python3
> 3/2
1.5
$ python2
> 3/2
1
A principal desvantagem, pelo menos para mim, é que os carros alegóricos não são impressos na notação científica se não forem muito grandes ou pequenos, sem uma string de formato:
Há muitas respostas para sua pergunta ...
Os mais simples que você pode fazer no shell.
Como um programa dedicado existe
bc
.Funções personalizadas via script? Bem, scripts de shell e bc os possuem, de certa forma. Depende de quão longe você deseja levá-lo.
Por que não Python? É fácil de aprender.
fonte
Em
zsh
:fonte
O insect tem versões baseadas na web e em terminais:
fonte
Maxima CAS :
HTH
fonte
Aqui está um pequeno hack do bash que permitirá que você faça aritmética simples diretamente na linha de comando.
Então você pode fazer, por exemplo,
Infelizmente, ele não funciona bem com parênteses. (Se bem me lembro, você pode fazer com que o tcsh os aceite também, mas não consegui convencer o bash a fazê-lo.)
PS. Você pode confiar no bash para a aritmética, substituindo a
perl
chamada porecho $(( $* ))
; mas isso lhe dará uma divisão inteira para5/6
, etc. A aritmética de Perl é mais útil.Alternativa: se você precisa apenas de carne com python
import math
, o seguinte é seu amigo:fonte
Uma outra maneira é usar um intérprete como o Python 3:
Tenha a vantagem de
cmath
poder criar um script de tudo, já existem muitas funções (você também pode importar se precisar de números complexos), não precisa definir nenhuma precisão para a maioria dos casos e o python já está instalado na maioria das instalações do Linux.O Python 3.x é melhor para uma calculadora genérica que o Python 2.x, porque o Python 3.x faz divisões de ponto flutuante se o resultado não for int.
A principal desvantagem, pelo menos para mim, é que os carros alegóricos não são impressos na notação científica se não forem muito grandes ou pequenos, sem uma string de formato:
fonte