BC: A sua calculadora programável no Linux

Você já pensou em automatizar operações de cálculo? Em fazer um script onde você possa definir funções, constantes e outros? O bc pode ser a solução. Nesse tutorial, veremos como escrever programas simples com ele.

[ Hits: 130.509 ]

Por: Renan Birck Pinheiro em 21/05/2006 | Blog: http://renanbirck.rocks


Conhecendo o bc (modo interativo)



Para chamar o bc, basta digitar numa janela de terminal, 'bc'. Para fazer um cálculo, basta digitar a expressão e dar ENTER.

Operações definidas:
  • Adição, subtração, multiplicação, divisão.
  • % (resto da divisão)
  • ^ (potenciação)
  • sqrt(x) (raiz quadrada de x)
  • last (último resultado)

Para sair, basta dar 'quit'.

$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
300*500
150000
last + 500
150500
last - 1600
148900
last / 20
7445
last^4
3072265955400625
sqrt(last)
55428025
2/3
0
quit

Você pode estar pensando, depois desse último resultado (2/3 = 0?), "Epa! Alguma coisa está errada!".

Calma, não se desespere. Você precisa carregar o bc com o parâmetro '-l', que ativa uma biblioteca de operações matemáticas.

$ bc -l
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
2/3
.66666666666666666666
3/5
.60000000000000000000
33/4589259837593
.00000000000719070202
3125886/2592375832
.00120579969980216973

Agora, como podemos ver, temos o resultado em decimais. Porém, o cálculo com decimais é impreciso depois de algumas casas.

Pequena curiosidade: o comando 'quit' é executado assim que ele é encontrado. Portanto, algo como:

if (0==1) quit

mesmo 0==1 sendo impossível, vai fazer o 'bc' sair.

Tome cuidado com isso.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Conhecendo o bc (modo interativo)
   3. Conhecendo os comandos matemáticos do bc
   4. Construindo funções
   5. Curiosidade: números grandes
   6. O bc como uma linguagem de programação
   7. Conceitos para a criação de pequenos programas com o bc
   8. Alguns exemplos
   9. bc e shell scripts
Outros artigos deste autor

SIMH: Recriando um pouco da história

A tecla mágica SysRQ

MySQL + Amarok: dupla poderosa

Utilizando o X-Deep32 para rodar programas Linux em máquina Windows

Leitura recomendada

Fãs do pinguim, vamos à luta!

CentOS como terminal server autenticando em Windows Server 2003 Active Directory com montagem automática de compartilhamentos de rede

Diferentes áreas de trabalho com diferentes wallpapers

Análise do Syllable, mais um interresante sistema operacional livre

Servidor NIS+NFS: Aprenda a montar o seu

  
Comentários
[1] Comentário enviado por fernandoiury em 21/05/2006 - 08:23h

Excelente, meus parabéns cara.. o artigo ficou ótimo!!
Nem imaginava que o bc era isso tudo!

abração, parabens mais uma vez e obrigado pela contribuição!

[2] Comentário enviado por leonardoamorim em 21/05/2006 - 12:29h

Parabéns, muito bom esse artigo.

[3] Comentário enviado por hlegius em 21/05/2006 - 12:31h

Ótimo! Artigo nota 10, cara!
Linguagenzinha poderosa hein ?! Excelente para aplicações matemáticas!

Obrigado pelo artigo, realmente ficou excelente!
Abraços!

[4] Comentário enviado por allanhc em 21/05/2006 - 12:45h

Muito bom artigo mesmo viu. Muito bem explicado. E o assunto realmente muito util.

Conhecia por alto mas nunca usava, agora vou criar um define.bc ao meu gosto e vou até usar-lo.

Parabéns
Abraços

[5] Comentário enviado por PCMasterPB em 21/05/2006 - 13:57h

Parabéns, o artigo mostra muitas curiosidades do bc. Vai ser bom como referência. Té mais. ;D

[6] Comentário enviado por Century_Child em 21/05/2006 - 19:33h

Uma coisinha que ficou de fora do artigo: vocês podem colocar, no .bashrc, uma linha tipo 'alias bc=~/defines.bc', para facilitar a vida de vocês.

[7] Comentário enviado por tenchi em 02/04/2007 - 10:01h

Kra, muito bom esse artigo.
Muito poderosa essa ferramenta. Eu já usava ela para coisas mais simples, inclusive coisas aprendidas neste artigo, mas só agora estou comentando.
Quanto à deficiencia da linguagem pela falta do goto, eh uma benção que a linguagem não tenha esse comando ...... ;-)

Excelente artigo, já está em favoritos.

[8] Comentário enviado por kabalido em 15/04/2008 - 12:52h

Ótimo artigo. Muito bom mesmo.
Valeu!

[9] Comentário enviado por Lael em 18/06/2008 - 17:39h

hasusausuahsu

[10] Comentário enviado por crimelordz em 30/10/2011 - 00:37h

Não posso definir este artigo de outra forma que não seja: MARAVILHOSO.

[11] Comentário enviado por removido em 27/12/2014 - 22:44h

Legal!Nem sabia que existia isso no ubuntu!

[12] Comentário enviado por karson em 14/06/2017 - 06:23h

Nossa, deu pra entender de uma vez , agora meu shell passou a ser mais útil


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts