# Fonctions mathématiques

## Fonction mathématique

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>Description</summary>

**abs(num)** - valeur absolue (convertit un nombre en son équivalent positif).\
Exemple : abs(-256) renvoie 256

**ceil(num)** - arrondit un nombre à l’entier supérieur le plus proche.\
Exemple : ceil(25.66) renvoie 26

**customizable\_round\_division(a,b,count)** - divise deux nombres et arrondit le résultat à un nombre spécifié de décimales (count), où a est le dividende et b le diviseur.

**customizable\_round\_multiply(a,b,count)** - multiplie deux nombres et arrondit le résultat à un nombre spécifié de décimales (count), où a et b sont les facteurs.

**exp(num)** - élève le nombre d’Euler&#x20;e à la puissance du paramètre.\
Exemple : exp(2) renvoie environ 7.38905609893065

**fac(num)** - factorielle d’un nombre (prend un paramètre).\
Exemple : fac(5) renvoie 120

**floor(num)** - renvoie la partie entière d’un nombre (arrondit à l’inférieur).\
Exemple : floor(25.66) renvoie 25

**int(num)** - convertit un nombre à virgule flottante en entier en tronquant la partie décimale.\
Exemple : int(1.8) renvoie 1

**int\_to\_string(number, delimiter)** - convertit un nombre en chaîne avec le délimiteur spécifié.&#x20;

**is\_float(txt)** - vérifie si une chaîne est un nombre (y compris les décimales).

**is\_int(txt)** - vérifie si une chaîne est un nombre. \
Exemple : is\_int("5") renvoie True, tandis que is\_int("text") renvoie False

**log(num, base)** - calcule le logarithme d’un nombre en prenant deux paramètres : le nombre et la base (la valeur par défaut est&#x20;e).\
Exemple : log(E) renvoie 1 (où E est le nombre d’Euler), log(100, 10) renvoie 2

**max(a, b, c)** - trouve le nombre maximal parmi les valeurs listées en acceptant un nombre illimité de paramètres (chacun doit être un nombre).\
Exemple : max(4, 2, 9, 6) renvoie 9

**md5(text)** - génère un hachage MD5 à partir d’une chaîne.\
Exemple : hash = md5("Hello world") renvoie 3e25960a79dbc69b674cd4ec67a72c62

**min(a, b, c)** - trouve le nombre minimal parmi les valeurs listées en acceptant un nombre illimité de paramètres (chacun doit être un nombre).\
Exemple : min(4, 2, 9, 6) renvoie 2

**pow(num, st)** - élève un nombre à une puissance en prenant deux paramètres : la base et l’exposant.\
Exemple : pow(5, 2) renvoie 25

**pyt(a, b)** - calcule la racine carrée de la somme des carrés de deux valeurs en prenant deux paramètres : a et b.\
Exemple : pyt(5, 2) renvoie 5.385164807134504

**random(low, high)** - génère un nombre aléatoire. La fonction prend deux paramètres : la borne inférieure et la borne supérieure.\
Exemple : random(-10, 10)

**round(num)** - effectue un arrondi mathématique d’un nombre.&#x20;Exemple : round(1.8).

Vous pouvez également arrondir à un nombre spécifique de décimales.\
Exemple : round(1.8888888, 2) renvoie 1.89.&#x20;

**sha1(text)** - génère un hachage SHA-1 à partir d’une chaîne.\
Exemple : hash = sha1("Hello world") renvoie 7b502c3a1f48c8609ae212cdfb639dee39673f5e

**sha256(text)** - génère un hachage SHA-256 à partir d’une chaîne.\
Exemple : hash = sha256("Hello world") renvoie 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c

**sqrt(num)** - calcule la racine carrée d’un nombre en prenant un paramètre : le nombre.\
Exemple : sqrt(25) renvoie 5

**sin() cos() tan() asin() acos() atan() atan2()** - fonctions trigonométriques (n’oubliez pas de prendre en compte leurs domaines).

{% hint style="success" %}
Les fonctions mathématiques peuvent être exécutées non seulement dans le champ « Calculatrice », mais aussi directement dans le champ « Message » en écrivant des expressions au format suivant : **#{2+2}, #{random(0,100)}**, etc.
{% endhint %}

</details>

<details>

<summary>Exemple</summary>

Essayons cette fonction ! C’est vraiment simple : entrez-la, spécifiez les paramètres et obtenez le résultat — tout comme en mathématiques !

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

Voici le résultat :

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

Exemple d’utilisation de **int\_to\_string()**:

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

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

</details>

<details>

<summary>Exemple de code à copier</summary>

Code pour le champ « Message » :

```
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}
```

Code pour le champ « Calculatrice » :

```
/*définition de nombres universels pour les calculs*/
X=1.275
Y=5.822
A=-2.352
C=5
L=0.5
text="Hello, World!"
/*calcul*/
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>

## Travail avec les coordonnées

**distance()**

<details>

<summary>Description</summary>

**distance(lat1, lon1, lat2, lon2)**- calcule la distance entre deux coordonnées en kilomètres

**lat1, lat2** - latitude des points de départ et d’arrivée

**lon1, lon2** - longitude des points de départ et d’arrivée

</details>

<details>

<summary>Exemples</summary>

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

Résultat : `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/fr/chatbot/functions/calculatrice/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.
