Existe uma sequência de Taylor que nos permite calcular o seno de um ângulo dado em radianos.
Implementei esse algoritmo em VBA no Excel, somente para conferir os valores da função SENO dada pelo Excel e, felizmente, o grande Bill Gates não nos enganou: o Excel funciona mesmo.
Eis o código em VBA abaixo que você poderá usar em suas planilhas Excel:
Public Function Seno(ByVal Angulo As Double, Optional Precisao As Long = 50) As Double
'A = A - (A^3/3!) + (A^5/5!) - (A^7/7!)
Dim i As Long, fat As Double, sinal As Long, rad As Double
fat = 1
sinal = 1
Seno = 0
rad = Angulo * WorksheetFunction.Pi / 180
For i = 1 To Precisao Step 2
fat = fat * i * IIf(i = 1, 1, i - 1)
Seno = Seno + (sinal * rad ^ i) / fat
sinal = -sinal
Next
End Function
Os parâmetros passados são apenas dois: ângulo em graus e, opcionalmente, a precisão que, por padrão, é 50, se bem que nos meus testes bastou uma precisão de 15.
Observe que a função converte a medida em graus do ângulo para radianos, deixando o valor na variável fat.
Oras, e quem não entende bulhufas de programação ou VB?
Para estes eu deixarei um algoritmo em PORTUGOL para calcularem seus senos na unha mas antes eu terei que explicar as instruções.
São poucas mas pode dar confusão.
Instrução Significado
----------- ------------------------------------------------------------------
Definir <nome> Numa folha de papel desenho um quadrinho com o nome <nome>.
Exemplo: Definir NomeFuncionario, Definir Salario.
Mover <valor> para <nome> Apagar o que está escrito no quadradinho de nome <nome> e
escrever dentro dele o valor <valor>.
Exemplo: Mover "João" para NomeFuncionario, Mover 10.000
para Salario.
Mover <nome1> para <nome2> Apagar o que está escrito no quadradinho de nome <nome2> e
escrever nele o que está escrito no quadradinho de <nome2>.
O que está escrito no quadradinho de <nome1> não será apagado.
Somar <valor> em <nome> Somar o valor <valor> ao valor escrito no quadradinho de
nome <nome>, apagando o seu conteúdo e escrevendo nele
o resultado da soma.
Exemplo: no quadradinho Salario tem o valor 10.000. A
instrução Somar 5.000 a Salario resultará em 15.000 e este valor
deverá escrito no quadradinho Salario, depois de apagado o valor
10.000 anterior.
Subtrair <valor> de <nome> em <nome>
Multiplicar <nome> por <valor> em <nome>
Dividir <nome> por <valor> em <nome>
Etc...
Como vê é simples. Vamos à prática tentar resolver o cálculo do seno em PORTUGOL.
1) INICIO
2) Definir i, fat, sinal, rad, seno, angulo, precisao, tmp
3) Entre com angulo (significa escrever qualquer valor no quadradinho chamado angulo)
4) Entre com precisao (significa escrever qualquer valor no quadradinho chamado precisao)
3) Mover 1 para fat, sinal, i
4) Mover 0 para seno
5) Mover angulo para rad
6) Multiplicar 3,141 em rad (o resultado fica no quadradinho rad)
7) Dividir rad por 180 em rad
8) Se i maior que precisão então vá para instrução 21
9) Multiplicar i por fat em fat
10) Se i diferente de 1 então vá para linha 11, senão vá para a linha14
11) Mover i para tmp
12) Subtrair 1 de tmp em tmp
13) Multiplicar tmp por fat em fat
14) Potenciar rad elevado a i em tmp
15) Multiplicar tmp por sinal em tmp
16) Dividir tmp por fat em tmp
17) Somar tmp a seno
18) Multiplicar i por -1 em i
19) Somar 2 em i.
20) Ir para instrução 8
21) FIM
Como você pode notar, essa série de instruções, seguidas à risca, produzirão os mesmo resultados que o programinha em VBA que postei acima, com menos precisão, é claro pois o número PI eu usei apenas as 3 primeiras casas decimais do mesmo e no computador, são utilizadas quase 20 casas decimais.
Para você não ter que executar muitas vezes o algoritmo entre com o valor 3 na instrução 4, quando pede para entrar a <precisao>.
No final da execução do algoritmo, você terá no quadradinho seno o valor do seno do ângulo que você entrou na instrução 3.
De posse do valor do seno todas as outras funções trigonométricas são calculáveis.
Para calcularmos o cosseno usamos Pitágoras: cosseno de X = raiz quadrada(1 - seno ^ 2 de X)
tangente de X = seno de X / cosseno de X
cotangente de X = cosseno de X / seno de X
secante de X = 1 / cosseno de X
cossecante de X = 1 / seno de X
Olá, João e Roger!!!!
ResponderExcluirBoa noite!!!!
Sejam bem-vindos ao cenário real do palco virtual que é a grande rede!!!!
O blog... Poder da Matemática dá os seus primeiros passos e já dá uma mostra do quanto serão preciosos e utilíssimos os artigos defendidos por vocês!!!! Este post aqui, por exemplo, é "uma mão na roda" para quem queria utilizar o VBA no Excel. Excelente!!!! Tenho vários amigos que usam o Excel, entre tantos temos: o Prof. Kleber Kilhian e o Edgley Alexandre e acredito que gostarão de saber disso aqui!!!! Muito bom e por favor, continuem!!!!
Tudo de bom, vida longa para vocês e o blog que será mais um blog "diferenciado", tenho a certeza!!!! Sucessos!!!!
Um abraço!!!!!