Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Curso de Inglês Online

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

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

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.57/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 2.6 /5 (956 votos)

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

Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Asterisk na Prática 2ª Edição