bc

bc: Calculadora Shell ou Linguagem?

De acordo com o arquivo README do GNU bc, em tradução livre, GNU bc é uma linguagem de processamento numérico de precisão arbitrária. Sua sintaxe é similar ao C, mas difere em muitas áreas substanciais. Ela suporta execução interativa de comandos. O bc é um utilitário incluído no padrão POSIX P1003.2/D11.

Até hoje eu conhecia o bc como "aquela ferramentazinha legal que quebra galho na hora de fazer contas simples". Por exemplo, quanto dá em bytes 3G? Claro, 3*1024*1024*1024! Mas como calcular isso dá trabalho, eu simplesmente chamava o bc pelo shell, escrevia essas contas simples, mas trabalhosas e ele mostrava prontamente o resultado: "3221225472" (3.221.225.472, pra quem, como eu, prefere ler números com pontos :-P).

Mas a novidade (ao menos para mim) é que o bc não é só uma "calculadora no shell", ele permite fazer muito mais coisas!

De posse dessas informações, escrevi para bc aquele velho algoritmo de achar raízes de equações de segundo grau. Fiz em 16 linhas sem me preocupar com nenhum possível recorde nem nada. O arquivo está em anexo para servir como exemplo para mais pessoas que não conheçam o bc.

É claro que o bc não vai resolver todos os problemas de programação. Mesmo sendo uma linguagem, é uma linguagem muito restrita, mas dá pra brincar, principalmente se você curte Matemática...

Special: 
Subscribe to RSS - bc

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/pdo_mysql.so: cannot open shared object file: No such file or directory in Unknown on line 0

Warning: PHP Startup: Unable to load dynamic library '/opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll' - /opt/php56/lib/php/extensions/no-debug-non-zts-20131226/php_pdo_odbc.dll: cannot open shared object file: No such file or directory in Unknown on line 0