# Математические функции

## Для работы с математическими функциями

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()

{% tabs %}
{% tab title="Описание" %}
**abs(num)** - абсолютное значение(приведение к положительному числу). \
Пример: abs(-256) вернет 256

**ceil(num)** - для округления числа к большему. \
Пример: ceil(25.66) вернет 26

**customizable\_round\_division(a,b,count)** - деление двух чисел и получение результата с округлением до заданной точности (количество знаков после запятой), где a и b - делимое и делитель, а count - количество знаков после запятой в частном

**customizable\_round\_multiply(a,b,count)** - умножение двух чисел и получение результата с округлением до заданной точности (количество знаков после запятой), где a и b - множители, а count - количество знаков после запятой в произведении

**exp(num)** - возведение е в степень параметра. \
Пример: exp(2) вернет 7.38905609893065

**fac(num)** - для получения факториала. На вход принимает 1 параметр: число. \
Пример: f = fac(5) вернет значение 120

**floor(num)** - для получения целой части от числа. \
Пример: floor(25.66) вернет 25

**int(num)** - для приведения чисел с дробной частью к целому числу. При этом дробная часть просто отсекается. \
Пример: int(1.8) вернет 1

**int\_to\_string(number, delimiter)** - перевод числа number в строку с разрядным делителем delimiter

**is\_float(txt)** - для проверки является ли строка числом(включая дробные)

**is\_int(txt)** - для проверки является ли строка числом. \
Пример: is\_int("5") вернет True, а is\_int("текст") будет False

**log(num, base)** - для получения значения логарифма. На вход принимает 2 параметра: число и база(по умолчанию e). \
Пример: f = log(E) вернет значение 1, а f = log(100, 10) вернет 2

**max(a, b, c)** - для поиска максимального числа из перечисления. На входе неограниченное количество параметров (каждый параметр число). \
Пример: max(4, 2, 9, 6) вернет 9

**md5(text)** - для получения хеша md5 от строки. \
Пример hash = md5("Hello world") вернет значение 3e25960a79dbc69b674cd4ec67a72c62

**min(a, b, c)** - для поиска минимального числа из перечисления. На входе неограниченное количество параметров (каждый параметр число). \
Пример: min(4, 2, 9, 6) вернет 2

**pow(num, st)** - для возведения числа в степень. На входе 2 параметра: число и степень. \
Пример: pow(5, 2) вернет 25

**pyt(a, b)** - квадратный корень из суммы квадратов двух параметров. На вход параметры a и b.\
Пример: pyt(5, 2) вернет 5,385164807134504

**random(low, high)** - для получения случайного числа. На вход функция принимает 2 параметра: нижняя граница и верхняя. \
Пример: random(-10,10)

**round(num)** - для математического округления числа. Пример: round(1.8). Можно округлить до определенного знака после запятой. \
Пример: round(1.8888888, 2) округлит до 1.89&#x20;

**sha1(text)** - для получения хеша sha1 от строки. \
Пример: hash = sha1("Hello world") вернет значение 7b502c3a1f48c8609ae212cdfb639dee39673f5e

**sha256(text)** - для получения хеша sha256 от строки. \
Пример: hash = sha256("Hello world") вернет значение 64ec88ca00b268e5ba1a35678a1b5316d212f4f366b2477232534a8aeca37f3c

**sqrt(num)** - для получения квадратного корня числа. На вход 1 параметр: число. Пример: sqrt(25) вернет 5

**sin() cos() tan() asin() acos() atan() atan2()** - тригонометрические функции (не забывайте об области определений функций)

{% hint style="success" %}
Математические функции вы можете производить не только в поле "Калькулятор", но и непосредственно в поле Сообщение, записывая выражение в следующем виде: #{2+2} , #{random (0,100)} и т.д.
{% endhint %}
{% endtab %}

{% tab title="Пример" %}
Здесь все предельно просто, как в математике - прописываем функцию, задаем ей параметры и получаем ответ:

<figure><img src="/files/2IamIyIQYyyf52zdmQpv" alt=""><figcaption></figcaption></figure>

Результат:

<figure><img src="/files/I25kMUcBdozZPPKkzJhV" alt=""><figcaption></figcaption></figure>

Пример использования int\_to\_string():

<figure><img src="/files/l3raITjTraGbTMSH9n5H" alt=""><figcaption></figcaption></figure>

<figure><img src="/files/jHRFn1ajT4ePBTh0ospV" alt=""><figcaption><p>Пример использования int_to_string()</p></figcaption></figure>
{% endtab %}

{% tab title="Пример кода для копирования" %}
Код для поля "Сообщение"

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

Код для поля Калькулятор:

```
/*зададим универсальные числа для вычислений*/
X=1.275
Y=5.822
A=-2.352
C=5
L=0.5
text="Hello, World!"
/*вычисление*/
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)
```

{% endtab %}
{% endtabs %}

## Для работы с координатами

{% tabs %}
{% tab title="Описание" %}
**distance(lat1, lon1, lat2, lon2)**- для подсчета расстояния между двумя координатами в километрах

**lat1, lat2** - широта начальной и конечной точки

**lon1, lon2** - долгота начальной и конечной точки
{% endtab %}

{% tab title="Примеры" %}
Пример: `distance(52.2296756, 21.0122287, 52.406374, 16.9251681)`

Результат: `278.5459739738798`
{% endtab %}
{% endtabs %}


---

# 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.salebot.pro/chatbots/peremennye-i-funkcii/kalkulyator/matematicheskie-funkcii.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.
