shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Re: Equação Segundo Grau - Shell Script


From: MrBiTs
Subject: Re: [shell-script] Re: Equação Segundo Grau - Shell Script
Date: Thu, 11 Mar 2010 09:33:38 -0300
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9pre) Gecko/20100217 Lightning/1.0b1 Shredder/3.0.3pre

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

> Bom dia!
> Desculpa a falta de atenção por nao ter explicado exatamente a minha duvida.
> O valor de delta esta ok.
> O problema estao em s1 e s2.
> A formula baskara é a seguinte:
> -b + raiz quadrada de delta / 2*A
> O meu codigo esta assim:
> 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 é
adquado pois :

* 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.

Isto posto, vamos ao seu problema:

Seu erro está nesse $delta**0,5. Veja o que acontece:

$ 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, 
somando-o a B. Então eu mudaria a expressão para algo assim:

s1=$(echo "scale=2;(-($B)+sqrt($delta))/(2*$A)" | bc)
s2=$(echo "scale=2;(-($B)-sqrt($delta))/(2*$A)" | bc)


- -- 

Um abraço

.0. MrBiTs - address@hidden
..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-----


reply via email to

[Prev in Thread] Current Thread [Next in Thread]