# Funções matemáticas

## Função matemática

abs() | ceil() | customizable\_round\_multiply() | customizable\_round\_division() | exp() | fac() | floor() | int() | int\_to\_string() | is\_float() | is\_int() | log() | max() | md5() | min() | pow() | random() | round() | sha1() | sha256() | sqrt() | sin() | cos() | tan() | asin() | acos() | atan() | atan2()

<details>

<summary>Descrição</summary>

**abs(num)** - valor absoluto (converte um número para seu equivalente positivo).\
Exemplo: abs(-256) retorna 256

**ceil(num)** - arredonda um número para cima para o inteiro mais próximo.\
Exemplo: ceil(25.66) retorna 26

**customizable\_round\_division(a,b,count)** - divide dois números e arredonda o resultado para um número especificado de casas decimais (count), em que a é o dividendo e b é o divisor.

**customizable\_round\_multiply(a,b,count)** - multiplica dois números e arredonda o resultado para um número especificado de casas decimais (count), em que a e b são os fatores.

**exp(num)** - eleva o número de Euler&#x20;e à potência do parâmetro.\
Exemplo: exp(2) retorna aproximadamente 7.38905609893065

**fac(num)** - fatorial de um número (recebe um parâmetro).\
Exemplo: fac(5) retorna 120

**floor(num)** - retorna a parte inteira de um número (arredonda para baixo).\
Exemplo: floor(25.66) retorna 25

**int(num)** - converte um número de ponto flutuante em um inteiro truncando a parte decimal.\
Exemplo: int(1.8) retorna 1

**int\_to\_string(number, delimiter)** - converte um número em uma string com o delimitador especificado.&#x20;

**is\_float(txt)** - verifica se uma string é um número (incluindo decimais).

**is\_int(txt)** - verifica se uma string é um número. \
Exemplo: is\_int("5") retorna True, enquanto is\_int("text") retorna False

**log(num, base)** - calcula o logaritmo de um número, recebendo dois parâmetros: o número e a base (o padrão é&#x20;e).\
Exemplo: log(E) retorna 1 (onde E é o número de Euler), log(100, 10) retorna 2

**max(a, b, c)** - encontra o maior número entre os valores listados, aceitando uma quantidade ilimitada de parâmetros (cada um deve ser um número).\
Exemplo: max(4, 2, 9, 6) retorna 9

**md5(text)** - gera um hash MD5 a partir de uma string.\
Exemplo: hash = md5("Hello world") retorna 3e25960a79dbc69b674cd4ec67a72c62

**min(a, b, c)** - encontra o menor número entre os valores listados, aceitando uma quantidade ilimitada de parâmetros (cada um deve ser um número).\
Exemplo: min(4, 2, 9, 6) retorna 2

**pow(num, st)** - eleva um número a uma potência, recebendo dois parâmetros: o número base e o expoente.\
Exemplo: pow(5, 2) retorna 25

**pyt(a, b)** - calcula a raiz quadrada da soma dos quadrados de dois valores, aceitando dois parâmetros: a e b.\
Exemplo: pyt(5, 2) retorna 5.385164807134504

**random(low, high)** - gera um número aleatório. A função recebe dois parâmetros: o limite inferior e o limite superior.\
Exemplo: random(-10, 10)

**round(num)** - realiza o arredondamento matemático de um número.&#x20;Exemplo: round(1.8).

Você também pode arredondar para um número específico de casas decimais.\
Exemplo: round(1.8888888, 2) retorna 1.89.&#x20;

**sha1(text)** - gera um hash SHA-1 a partir de uma string.\
Exemplo: hash = sha1("Hello world") retorna 7b502c3a1f48c8609ae212cdfb639dee39673f5e

**sha256(text)** - gera um hash SHA-256 a partir de uma string.\
Exemplo: hash = sha256("Hello world") retorna 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c

**sqrt(num)** - calcula a raiz quadrada de um número, recebendo um parâmetro: o número.\
Exemplo: sqrt(25) retorna 5

**sin() cos() tan() asin() acos() atan() atan2()** - funções trigonométricas (lembre-se de considerar seus domínios).

{% hint style="success" %}
As funções matemáticas podem ser executadas não apenas no campo "Calculadora", mas também diretamente no campo "Mensagem", escrevendo expressões no seguinte formato: **#{2+2}, #{random(0,100)}**, e assim por diante.
{% endhint %}

</details>

<details>

<summary>Exemplo</summary>

Vamos experimentar esta função! É muito simples: basta digitá-la, especificar os parâmetros e obter o resultado — como na matemática!

<div data-with-frame="true"><figure><img src="/files/c167c43ae27805848476867e938b5ae05b919505" alt=""><figcaption></figcaption></figure></div>

Aqui está o resultado:

<div data-with-frame="true"><figure><img src="/files/873851d8a92ee32f638613b836a8836b514fda0b" alt="" width="375"><figcaption></figcaption></figure></div>

Exemplo de uso de **int\_to\_string()**:

<div data-with-frame="true"><figure><img src="/files/3e0d2225364597628b1e4b96b1bf1671dae95bef" alt="" width="375"><figcaption></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/5d4abdf1cc1084c0920fd81d7002e847c97af99f" alt="" width="375"><figcaption></figcaption></figure></div>

</details>

<details>

<summary>Exemplo de código para copiar</summary>

Código para o campo "Mensagem":

```
abs(#{A}) = #{a1} 
ceil(#{X}) = #{b1} 
customizable_round_multiply(#{X}, #{Y}, 2) = #{c1}
customizable_round_division(#{X}, #{Y}, 3) = #{d1} 
exp(4) = #{e1}
fac(#{C}) = #{f1}
floor(#{X}) = #{g1}        
floor(#{Y}) = #{floor(#{Y})}
int(#{X}) = #{h1}            
int(#{Y}) = #{int(#{Y})}
is_float("#{text}") = #{i1}      
is_float("#{X}") = #{is_float("#{X}")}    
is_int("#{text}") = #{j1}         
is_int("#{C}") = #{is_int("#{C}")}
is_int("#{X}") = #{is_int("#{X}")}
log(#{C}) = #{k1}
max(#{X}, #{Y}, #{C}) = #{l1} 
md5("#{text}") = #{m1} 
min(#{X}, #{Y}, #{C}) = #{n1}
pow(#{C},#{C}) = #{o1} 
pyt(5,2) = #{o2}
random(0, #{C}) = #{p1} 
round(#{Y}) = #{r1}
sha1("#{text}") = #{s1}
sha256("#{text}") = #{t1}
sqrt(#{C}) = #{u1} 
sin(#{X}) = #{v1}
cos(#{X}) = #{w1}
tan(#{X}) = #{x1} 
asin(#{L}) = #{y1} 
acos(#{L}) = #{a2} 
atan(#{X}) = #{b2} 
atan2(#{X},#{Y}) = #{c2}
```

Código para o campo "Calculadora":

```
/*definindo números universais para cálculos*/
X=1.275
Y=5.822
A=-2.352
C=5
L=0.5
text="Hello, World!"
/*cálculo*/
a1=abs(A) 
b1=ceil(X) 
c1=customizable_round_multiply(X,Y,2) 
d1=customizable_round_division(X,Y,3) 
e1=exp(4) 
f1=fac(C) 
g1=floor(X) 
h1=int(X) 
i1=is_float(text) 
j1=is_int(text) 
k1=log(C) 
l1=max(X,Y,C) 
m1=md5(text) 
n1=min(X,Y,C) 
o1=pow(C,C) 
o2=pyt(5,2)
p1=random(0,C) 
r1=round(Y) 
s1=sha1(text) 
t1=sha256(text) 
u1=sqrt(C) 
v1=sin(X) 
w1=cos(X) 
x1=tan(X) 
y1=asin(L) 
a2=acos(L) 
b2=atan(X) 
c2=atan2(X,Y)
```

</details>

## Trabalhando com coordenadas

**distance()**

<details>

<summary>Descrição</summary>

**distance(lat1, lon1, lat2, lon2)**- calcula a distância entre duas coordenadas em quilômetros

**lat1, lat2** - latitude dos pontos inicial e final

**lon1, lon2** - longitude dos pontos inicial e final

</details>

<details>

<summary>Exemplos</summary>

Exemplo: `distance(52.2296756, 21.0122287, 52.406374, 16.9251681)`

Resultado: `278.5459739738798`

</details>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/pt/chatbot/functions/calculadora/math.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
