Neste artigo vou abordar alguns cálculos
que utilizamos na matemática pura e aplicada. Esses cálculo
são
essenciais para a criação de sistema na área
da engenharia. A idéia é transformar os cálculos
mais conhecidos, em cálculos voltados para o VB6.
Acho
que todo mundo lembra um pouco das famosas fórmulas da
trigonométrica que quebrava nossas cabeças no ensino
médio e no superior para quem precisou.
Como já abordei
em outros artigos a respeito das funções
internas do VB6, hoje não vai ser diferente! Teremos que
aprender outros tipos de funções, que vão
ser as funções matemáticas do VB6. Vamos
ver algumas delas agora:
Sin
Finalidade: Calcula o seno de um número.
Sintaxe: Sin(Número)
Obs.: Número – Qualquer expressão numérica
válida que expresse um ângulo em radianos.
Exemplo:
Msgbox Sin(1.25) ‘Teste = 0.948984619355586
Msgbox Sin(.79) ‘Teste = 0.710353272417608
Cos
Finalidade: Calcula o cosseno de um ângulo.
Sintaxe: Cos(Número)
Obs.: Número – Pode ser qualquer expressão numérica
válida que expresse um ângulo em radianos.
Exemplo:
Const PI = 3.14159265
Msgbox Cos(PI) ‘Teste = -1
Msgbox Cos(PI/2) ‘Teste = 1.79489651491878E-09
Atn
Finalidade: Calcula o Arco Tangente de um número.
Sintaxe: Atn(Número)
Obs.: A função Atn retorna
o número de radianos referentes ao arco tangente do ângulo
Exemplo:
Msgbox Atn(30) ‘Teste = 1.53747533091665
Msgbox Atn(45) ‘Teste = 1.54857776146818
Tan
Finalidade: Calcula a tangente de um número.
Sintaxe: Tan(Número)
Obs.: Número – Qualquer expressão numérica
válida que expresse um ângulo em radianos note que
utilizamos um ponto antes do numero para expressar esse valor
que simboliza 0.79
Exemplo:
Msgbox Tan(.79) ‘Teste = 1.00924628838275
Exp
Finalidade: Retorna o valor de e (base de um logaritmo natural)
elevado a uma potência qualquer.
Sintaxe: Exp(Número)
Obs.: Número – Qualquer expressão numérica
válida.
Exemplo:
Msgbox Exp(1) ‘Teste = 2.71828182845905
Msgbox Exp(2) ‘Teste = 7.38905609893065
Msgbox Exp(-2) ‘Teste = 0.13533528323661
O valor é aproximadamente 2,718282. Se o valor do número
for superior a 709,782712893, ocorrerá um erro de overflow.
Log
Finalidade: Calcula o logaritmo natural de um número.
Sintaxe: Log(Número)
Obs.: Número – Qualquer expressão numérica
válida maior que zero.
Exemplo:
Msgbox Log(0) ‘Teste = 1
Msgbox Log(5) ‘Teste = 1.6094379124341
Sqr
Finalidade: Calcula a raiz quadrada de um número.
Sintaxe: Sqr(Número)
Obs.: Qualquer
expressão numérica válida
maior ou igual a zero.
Exemplo:
Msgbox Sqr(16) ‘Teste = 4
Fix
Finalidade: Retorna a parte inteira de um número.
Sintaxe: Fix(Número)
Obs.: Número – Qualquer expressão numérica
válida. Se número contém Null, o valor de
retorno será Null também.
Exemplo:
Msgbox Fix(12.556) ‘Teste = 12
Msgbox Fix(-12.556) ‘Teste = -12
Msgbox Fix(1.6) ‘Teste = 1
Int
Finalidade: Retorna a parte inteira de um número.
Sintaxe: Int(Número)
Obs.: Número – Qualquer expressão numérica
válida. Se número contém Null, o valor de
retorno será Null também.
Exemplo:
Esta função opera de forma idêntica à função
Fix.
Rnd
Finalidade: Retorna um número aleatório (randômico).
Sintaxe: Rnd[(Número)]
Obs.: Número – Qualquer expressão numérica
válida.
Esta função retorna um valor menor que 1 e maior
ou igual a zero.
Exemplo:
Msgbox Rnd
Sgn
Finalidade: Retorna um inteiro conforme o sinal do número.
Sintaxe: Sgn(Número)
Obs.: Número – Qualquer expressão numérica
válida.
Ajustes:
Se Número: Sgn Retorna:
Maior que zero 1
Igual a zero 0
menor que zero -1
Exemplo:
Msgbox Sgn(12) ‘ Teste = 1
Msgbox Sgn(-2.4) ‘ Teste = -1
Msgbox Sgn(0) ‘ Teste = 0
Agora com essas funções que acabamos de aprender,
iremos criar para o VB6 as fórmulas matemáticas
em questão. Vamos começar?
Secante
Sintaxe: Sec(X) = 1 / Cos(X)
Fórmula:
Dim X, Sec
X = 45
Sec = 1 / Cos(X)
MsgBox Sec ‘1,9035….
Cosecante
Sintaxe: Cosec(X) = 1 / Sin(X)
Fórmula:
Dim X, Cosec
X = 45
Cosec = 1 / sin(X)
MsgBox Cosec ‘1,1752….
Cotangente
Sintaxe: Cotan(X) = 1 / Tan(X)
Fórmula:
Dim X, Cotan
X = 45
Cotan = 1 / Tan(X)
MsgBox Cotan ‘1,6173….
Arcoseno
Sintaxe: Arcsin(X) = Atn(X / Sqr(-X * X + 1))
Fórmula:
Dim X, Arcsin
X = 0.45
Arcsin = Atn(X / Sqr(-X * X + 1))
MsgBox Arcsin ‘0,4667…
Arcocoseno
Sintaxe: Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
Fórmula:
Dim X, Arccos
X = 0.35
Arccos = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)
MsgBox Arccos ‘1,21….
Não se assustem, mas as fórmulas estão
aumentando mesmo!
Arcosecante
Sintaxe: Arcsec(X) = Atn(X / Sqr(X * X – 1)) + Sgn((X)
-1) * (2 * Atn(1))
Fórmula:
Dim X, Arcsec
X = 90
Arcsec = Atn(X / Sqr(X * X – 1)) + Sgn((X) – 1) * (2 * Atn(1))
MsgBox Arcsec ‘2,35…
Arcocosecante
Sintaxe: Arccosec(X) = Atn(X / Sqr(X * X – 1)) + (Sgn(X) – 1)
* (2 * Atn(1))
Fórmula:
Dim X, Arccosec
X = 60
Arccosec = Atn(X / Sqr(X * X – 1)) + (Sgn(X) – 1) * (2 * Atn(1))
MsgBox Arccosec ‘0,7854…
Arcocotangente
Sintaxe: Arccotan(X) = Atn(X) + 2 * Atn(1)
Fórmula:
Dim X, Arccotan
X = 36
Arccotan = Atn(X) + 2 * Atn(1)
MsgBox Arccotan ‘3,11…
Seno Hiperbólico
Sintaxe: HSin(X) = (Exp(X) – Exp(-X)) / 2
Fórmula:
Dim X, HSin
X = 75
HSin = (Exp(X) – Exp(-X)) / 2
MsgBox HSin ‘1,86…
Coseno Hiperbólico
Sintaxe: Hcos(X) = (Exp(X) + Exp(-X)) / 2
Fórmula:
Dim X, Hcos
X = 45
Hcos = (Exp(X) – Exp(-X)) / 2
MsgBox Hcos ‘1,74…
Tangente Hiperbólica
Sintaxe: Htan(X) = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))
Fórmula:
Dim X, Htan
X = 45
Htan = (Exp(X) – Exp(-X)) / (Exp(X) + Exp(-X))
MsgBox Htan ‘1
Secante Hiperbólica
Sintaxe: HSec(X) = 2 / (Exp(X) + Exp(-X))
Fórmula:
Dim X, HSec
X = 45
HSec = 2 / (Exp(X) + Exp(-X))
MsgBox HSec ‘5,72…
Cosecante Hiperbólica
Sintaxe: Hcosec(X) = 2 / (Exp(X) – Exp(-X))
Fórmula:
Dim X, Hcosec
X = 75
Hcosec = 2 / (Exp(X) – Exp(-X))
MsgBox Hcosec ‘5,35…
Cotangente Hiperbólica
Sintaxe: Hcotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X))
Fórmula:
Dim X, Hcotan
X = 0.9
Hcotan = (Exp(X) + Exp(-X)) / (Exp(X) – Exp(-X))
MsgBox Hcotan ‘1,39…
Arcoseno Hiperbólico
Sintaxe: Harcsin(X) = Log(X + Sqr(X * X + 1))
Fórmula:
Dim X, Harcsin
X = 10
Harcsin = Log(X + Sqr(X * X + 1))
MsgBox Harcsin ‘2,99…
Arcocoseno Hiperbólico
Sintaxe: Harccos(X) = Log(X + Sqr(X * X – 1))
Fórmula:
Dim X, Harccos
X = 20
Harccos = Log(X + Sqr(X * X – 1))
MsgBox Harccos ‘3,68…
Arcotangente Hiperbólica
Sintaxe: Harctan(X) = Log((1 + X) / (1 – X)) / 2
Fórmula:
Dim X, Harctan
X = 0.35
Harctan = Log((1 + X) / (1 – X)) / 2
MsgBox Harctan ‘0,36…
Arcosecante Hiperbólica
Sintaxe: Harcsec(X) = Log((Sqr(-X * X + 1) + 1) / X)
Fórmula:
Dim X, Harcsec
X = 0.75
Harcsec = Log((Sqr(-X * X + 1) + 1) / X)
MsgBox Harcsec ‘0,79…
Arcocosecante Hiperbólica
Sintaxe: Harccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X)
Fórmula:
Dim X, Harccosec
X = 1
Harccosec = Log((Sgn(X) * Sqr(X * X + 1) + 1) / X)
MsgBox Harccosec ‘0,88…
Arcocotangente Hiperbólica
Sintaxe: Harccotan(X) = Log((X + 1) / (X – 1)) / 2
Fórmula:
Dim X, Harccotan
X = 45
Harccotan = Log((X + 1) / (X – 1)) / 2
MsgBox Harccotan ‘0,22…
Logaritmo em base N
Sintaxe: LogN(X) = Log(X) / Log(N)
Fórmula:
Dim X, N, LogN
X = 1
N = 10
LogN = Log(X) / Log(N)
MsgBox LogN ‘0
Então é isso! Essas fórmula foram todas
testadas, mas caso fique alguma dúvida, por favor entre
em contato. Espero que essas fórmulas sejam bem-vindas
para quem está precisando programar cálculos matemático
no VB6. O VB6 é FASCINANTE.
Até a próxima com certeza!