Páginas filhas
  • Cos

Calcula o valor do cosseno de um ângulo (em radianos).

Sintaxe

Cos( < nAngle > )

Parâmetros

Nome

Tipo

Descrição

Obrigatório

Referência

nAngle

numérico

Indica o valor do ângulo em radianos.

X

 

Retorno

Nome

Tipo

Descrição

nRet

numérico

Retorna o valor do cosseno de acordo com o ângulo informado.

Observações

  • Atenção ao utilizar como parâmetro valores maiores que 2^63 ou menores que -2^63, pois ocorrerá uma perda significante na chamada da função.

    Entrada

    SEH Exception

    Matherr Exception

    ±∞

    INVALID

    Sem domínio

    ±QNAN,IND

    None

    Sem domínio

    x ≥ 7.104760e+002

    INEXACT+OVERFLOW

    OVERFLOW

  • Os resultados "-0" são retornados devido à precisão de retorno das funções trigonométricas trabalhando em cima de PI com 8 casas decimais. Caso o resultado da função seja um valor negativo muito próximo de zero, porém algo menor que 0.00000001, a função retornará "-0", e a comparação com 0 irá retornar .T..

Exemplos

Exemplo 1
#DEFINE CRLF Chr(13)+Chr(10)
#DEFINE PI 3.14159265 // ACos(-1)
User Function cos1()
  Local cMensagem := ""
  
  //+----------------------------------------------------------------------------+
  //|Exemplifica o uso da função Cos                                             |
  //+----------------------------------------------------------------------------+
  
  cMensagem += "Cos(  0) = " + cValToChar(Cos(0))           + CRLF
  cMensagem += "Cos( 30) = " + cValToChar(Cos(PI / 6))      + CRLF
  cMensagem += "Cos( 45) = " + cValToChar(Cos(PI / 4))      + CRLF
  cMensagem += "Cos( 60) = " + cValToChar(Cos(PI / 3))      + CRLF
  cMensagem += "Cos( 90) = " + cValToChar(Cos(PI / 2))      + CRLF
  cMensagem += "Cos(120) = " + cValToChar(Cos(2 * PI / 3))  + CRLF
  cMensagem += "Cos(135) = " + cValToChar(Cos(3 * PI / 4))  + CRLF
  cMensagem += "Cos(150) = " + cValToChar(Cos(5 * PI / 6))  + CRLF
  cMensagem += "Cos(180) = " + cValToChar(Cos(PI))          + CRLF
  cMensagem += "Cos(210) = " + cValToChar(Cos(7 * PI / 6))  + CRLF
  cMensagem += "Cos(225) = " + cValToChar(Cos(5 * PI / 4))  + CRLF
  cMensagem += "Cos(240) = " + cValToChar(Cos(4 * PI / 3))  + CRLF
  cMensagem += "Cos(270) = " + cValToChar(Cos(3 * PI / 2))  + CRLF
  cMensagem += "Cos(300) = " + cValToChar(Cos(5 * PI / 3))  + CRLF
  cMensagem += "Cos(315) = " + cValToChar(Cos(7 * PI / 4))  + CRLF
  cMensagem += "Cos(330) = " + cValToChar(Cos(11 * PI / 6)) + CRLF
  cMensagem += "Cos(360) = " + cValToChar(Cos(2 * PI))
  
  //+----------------------------------------------------------------------------+
  //|Apresenta uma mensagem com os resultados obtidos                            |
  //+----------------------------------------------------------------------------+
Return MsgInfo(cMensagem, "Exemplo do Cos")

Resultado do Exemplo

Abrangência

Microsiga Protheus 8.11, Protheus 10

Veja também

  • Sem rótulos