Uma pesquisa no google mostra algumas calculadoras de linha de comando.
Este é escrito em C #
Este também faz gráficos. link
Teve um ano atrás (no Win 3.1 ou '95, não tenho certeza). De qualquer forma, foi um programa muito simples. Parou em algum lugar no PATH e permitiu que você fizesse algo de um tipo
calc 5 + 28.3*sqrt(12)
e cuspiu o resultado.
Alguém sabe de algum desses dias? Não precisa fazer nada extravagante ... talvez seria legal se tivesse suporte para exponenciais, mas é isso.
Alguém?
p.s. Não estou interessado em soluções completas como Python ou MATLAB.
Você pode usar algum sabor do awk para fazer isso - o link sugere criar uma função como calc(){ awk "BEGIN{ print $* }" ;}' and then using the new function with
calc "equação aqui" '- você pode obter uma cópia do awk de unxutils ou usar busybox . Qualquer um deles deve ser facilmente abaixo de 1 mb
Para adição / subtração / multiplicação e divisão básicas ... experimente o comando set /a
- mais detalhes aqui e usando a opção de ajuda
O próprio Google realizará esses cálculos na caixa de pesquisa ou aqui . Não tenho certeza quais as limitações que tem. Depende do que você quer usar isso.
Isso começou como um comentário, mas ficou muito longo, então eu postei isso como uma resposta.
Você diz que não quer Python, mas o Python seria rápido e completo, e comparar Python e MATLAB em "full-blown" -ity é bastante severo. Acredito que também se sairia bem em termos de velocidade comparado às sugestões de C # e Perl entre os comentários e respostas.
Eu uso o one-liner:
python -ic "from __future__ import division; from math import *;"
que eu vinculei a um atalho de teclado que abre um terminal com esse comando, o que me fornece uma calculadora competente extremamente rápida com exp()
, sqrt()
, sin()
, log()
, pi
, e
, etc.
Se você quiser apenas uma variante " calc 5+7
", a variete * nix seria:
python -c "from __future__ import division; from math import *; print $*"
e no Windows você provavelmente só precisa substituir $*
por %*
.
from __future__ import division
faz a divisão usar ponto flutuante em vez de divisão inteira como padrão, o que é esperado de uma calculadora. Isso não é necessário se alguém usar o Python 3 (que é o que a __future__
part significa).
from math import *
importa todas as funções matemáticas para o namespace principal, portanto você pode fazer sin(2*pi)
em vez de math.sin(2*pi)
.
Como encore: para ter um script que possa ser iniciado no modo interativo ou direto:
#!/bin/sh
if [ ${#} = 0 ]; then
python -ic "from __future__ import division; from math import *;"
else
python -c "from __future__ import division; from math import *; print ${*};"
fi
(provavelmente mais convertido para o Windows).