você está aqui: Home  → Arquivo de Mensagens

Sequência numérica e cálculos no terminal

Colaboração: Lucas Villela Canôas

Data de Publicação: 22 de julho de 2011

Muitas vezes temos que realizar cálculos em nossos programas, e podemos realizá-los pelo terminal, podendo fazer programas para calcular coisas mais complexas, neste artigo vamos aprender a utilizar os comandos:

  • bc
  • seq
  • echo

Sequências numéricas

É algo importante no mundo da programação (e também para aquele seu amigo que te manda contar até 100 no comunicador instantâne o =D ), ele basicamente cria uma lista de números de um início e fim determinados por você.

Exemplo:

  $ seq 0 100

Note que a lista sairá na horizontal!

A opção -s define um separador entre os números. Caracteres especiais do shell devem ser definidos utilizando uma contr a barra.

Exemplos:

  $ seq -s a 1 10
  $ seq -s \* 7
  $ seq -s \? 13

Exibir horizontalmente:

  $ seq -s " " 30

A opção -w deixa as colunas igualadas com a adição de zeros à esquerda.

Realizando cálculos com bc

Realizar cálculos pelo terminal, pode ser algo útil para pequenos cálculos, mas para grandes pode se tornar trabalhoso, e com c erteza é mais indicado um script que faça isso. Vejamos alguns exemplos:

OPERANDOS

+ soma
- subtração
* multiplicação
/ divisão
^ elevar um número à potência de...

VARIÁVEIS

Temos também alguns tipos de variáveis úteis que podemos utilizar:

scale: Determina quantas casas decimais serão utilizadas na conta, deixa o cálculo mais preciso!

FUNÇÕES MATEMÁTICAS

Também temos cálculos voltados para matemática ativados quando utilizamos a opção -l no bc:

s(x) Calcula o seno de X em radianos
c(x) Calcula o cosseno de X em radianos
l(x) Calcula o logaritmo natural de X
e(x) Calcula a função exponencial de X

EXEMPLOS

Agora que já vimos uma (pequena) parte do bc, vamos ver alguns exemplos de utilização

Soma, subtração, multiplicação e divisão (somente inteiros sem scale)

  $ echo 5+30/10-3*5 | bc

Fazendo contas com números irracionais:

  $ echo "scale=20; 2/3" | bc

Realizando contas matemáticas:

  $ echo "scale=10; e(5)+l(20)+s(0.5)+c(0.9)" | bc -l

CALCULAR FATORIAL

Neste caso, temos o jeito mais fácil, e o jeito mais difícil (que é escrever um shell script, sendo que há milhares na internet ), podemos utilizar o bc e o seq juntos. O comando seq tem a opção -s que separa os números por determinado caractere.

  $ seq -s \* 7 | bc

Deste modo o bc irá calcular o fatorial de 7

USANDO O COMANDO ECHO PARA CALCULAR

O comando echo, além de servir para exibir mensagens na tela, podemos fazer cálculos de números inteiros com ele! Por incrí vel que pareça isso também pode ser útil, e lembre-se, no GNU/Linux há milhares de maneiras de fazer as mesmas coisas, logo, vo cê faz do jeito que pensa ser melhor.

  $ echo $((2+5))

OBS: Os operadores que podem ser utilizados são +(soma), - (subtração), *(multiplicação) e /(divisão).

No caso, o comando echo entende que o que irá exibir é uma variável (símbolo da variável é $), e então realiza o cálculo.

Lucas Villela Canôas (www.zonebin.com) tem 17 anos (nascido em 1993), tem um site onde publica seus artigos, está cursando o 3° ano do médio e pretende fazer Ciência da Computação.


Veja a relação completa dos artigos de Lucas Villela Canôas

 

 

Opinião dos Leitores

Marcelo
25 Jul 2011, 09:00
Legais as dicas.
Só senti falta do comando "expr", que calcula operações no Shell.
Márcio C. M. Rezende
22 Jul 2011, 11:26
Gostei muito, principalmente da seq. vertical.
Mas cabe notar que devemos digtar uma aspa " #numa linha
" # em outra.
Sim, deixando uma quebra de linha para ser replicada.

Thx pela dica.
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script