Fala MrBiTs,
Shell rb é cultura!!! ;) Qdo o nosso colega falou em Bhaskara, pensei que
ele estivesse fazendo algum trocadilho nerd com Bash, até que vc contrapôs:
"O hábito de dar nome de Bhaskara para a fórmula de resolução da equação de
2º grau se estabeleceu no Brasil por volta de 1960."
Aí eu entendi tudo! Apesar de ser engenheiro por formação, não conhecia esta
termo pq em 1960 a equação do 2o. grau já estava no meu dia a dia. Já lidava
com cálculo diferencial/integral. Valeu pelo incremento na minha cultura
matemática.
Na cultura "Bashistica" (de Johann Sebastian Bash ;), grande programador
alienígena que compôs o Bash), o correto seria proteger os asteriscos (que
odeiam ser chamados de asterísticos), para evitar a expansão de arquivos.
Assim, eu faria:
s1=$(bc <<< "scale=2;(-($B)+sqrt($delta))/2\*$A")
s2=$(bc <<< "scale=2;(-($B)-sqrt($delta))/2\*$A")
Aproveitei para tirar o pipe e alguns parênteses desnecessários.
OBS: meu 3o. parágrafo poderia ser chamado de "Ode ao Delírio". Que tal? ;)
Abraços,
Julio
Cursos de Shell e Zenity em 2 fins de semana?
- SP turma de Shell em 29/03 - ligue (11)2125-4747;
- Floripa turma Shell 12/04 http://www.seventreinamentos.com.br;
- DF turma de Shell em 17/04 - ligue (61) 3223-3000;
- Aracaju turma de Shell em 12/05 - ***@gmail.com;
- RJ turma de Shell em 14/06 - ligue (21)2210-6061;
- Turmas fechadas em outras cidades ligue (21) 8112-9988.
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Post by jhonatanrampinBom dia!
Desculpa a falta de atenção por nao ter explicado exatamente a minha
duvida.
Post by jhonatanrampinO valor de delta esta ok.
O problema estao em s1 e s2.
-b + raiz quadrada de delta / 2*A
s1=$(echo "scale=2;-$B+$(($delta**0,5))/(2*$A)" | bc)
E isso nao esta dando certo, como q eu faço a operação matematica -$B por
exemplo?
Acho que todos conhecemos Bhaskara. E tem mais.
O hábito de dar nome de Bhaskara para a fórmula de resolução da equação de
2º grau se estabeleceu no Brasil por volta de 1960. Esse
costume, aparentemente só brasileiro ( não se encontra o nome de Bhaskara
para essa fórmula na literatura internacional), não é
* Problemas que recaem numa equação de 2º grau já apareciam, há quase 4.000
anos atrás, em textos escritos pelos babilônicos. Nestes
textos o que se tinha era uma receita ( escrita em prosa, sem uso de
símbolos) que ensinava como proceder para determinar as raízes
em exemplos concretos com coeficiêntes numéricos
* Bhaskara Acharya, que nasceu na Índia em 1.114 e viveu até cerca de
1.185, foi um dos mais importantes matemáticos do século 12.
As duas coleções de seus trabalhos mais conhecidas são Lilavati ( "bela") e
Vijaganita ("extração de raízes"), que tratam de
aritmética e álgebra respectivamente, e contêm numerosos problemas sobre
equações de lineares e quadráticas ( resolvidas também com
receiras em prosa ) , prograssões aritméticas e geométricas, radicais,
tríadas pitagóricas e outros.
* Ela já era do conhecimento de, no mínimo, o matemático Sridara, que viveu
há mais de 100 anos antes de Bhaskara Acharya.
* Até o fim do século 16 não se usava uma fórmula para obter as raízes de
uma equação do 2º grau, simplesmente porque não se
representavam por letras os coeficientes de uma equação. Isso só começou a
ser feito a partir da François Viéte, matemático francês
que viveu de 1540 a 1603
Logo, embora não se deva negar a importância e a riqueza da obra de
Bhaskara, não é correto atribuir a ele a conhecida fórmula de
resolução da equação de 2º grau.
$ echo "scale=2;4**0.5" | bc
(standard_in) 1: syntax error
$ echo "scale=2;4**0,5" | bc
(standard_in) 1: syntax error
GNU bc tem uma função sqrt que você pode usar. Além disso, B pode ter um
valor negativo, e o bc não gosta da construção --4, por
exemplo. Lembre-se também que multiplicação e divisão tem precedência sobre
adição e subtração. Então você está gerando a raiz
quadrada do seu determinante (o delta) e dividindo-o por 2A e, só então,
s1=$(echo "scale=2;(-($B)+sqrt($delta))/(2*$A)" | bc)
s2=$(echo "scale=2;(-($B)-sqrt($delta))/(2*$A)" | bc)
- --
Um abraço
..0 GnuPG -
http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x6EC818FC2B3CA5AB
000 http://www.mrbits.com.br
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iQEcBAEBCAAGBQJLmOMhAAoJEG7IGPwrPKWrZa4H/07K5WOyMSMXRywhXDfm1h5v
xb1GJY8Oz5yPaJlNvTvGQ8k1TVV/jCPNQuzkEy67b5sBvk727RKfH8lAsEg8E3/J
wToGYwvOAY+kCrRu0MihkTHDH5QwK4MUi/K6jZh/A8jkqelzOEp6roQFFsKpqKBI
vfRRsPpKLmRLz4cI5IedY0rp38vlYdet2iPSP3JgD4qSIQLCrcYifRDFLVZSrTZW
wzJPiRlxDkUyHrWe4W9PfnBGAvLWimcRdun1bElAas7DbWuO64UzLwM06+3DifLl
zUSBTH831C3fW3quUxd3/UMBiJ3+VkKmORVKyHFLJ4xnfyx4pXRFdgLnhMkYYJ8=
=Vf30
-----END PGP SIGNATURE-----
[As partes desta mensagem que não continham texto foram removidas]
------------------------------------
---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: shell-script-***@yahoogrupos.com.br
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil