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.