# Математика, адреса данных

Лучше поздно, чем никогда - сказал кто-то когда-то. Собственно к теме.

### Математика.

Для основных математических действий в С++ используются всем привычные с школы знаки (`+`,`-`,`*`,`/`). Два последних — это умножение и деление. Это так, для людей без полета мысли :3.

Переменным можно присваивать результат от математической операции над другими переменными:

```cpp
int Suma, first = 7, second = 4;
Suma = first + second;
```

Переменная `Suma` будет равна 11. Для особых математических действий есть специальные функции:

|  abs(x)  |  `\|x\|` |
| :------: | :------: |
|  cos(x)  | `cos(x)` |
|  tan(x)  |  `tg(x)` |
|  log(x)  |  `ln(x)` |
| pow(x,y) |    xʸ    |
|  sqrt(x) |   `√x`   |
|  exp(x)  |   `e˟`   |
| pow10(x) |   `10˟`  |
| log10(x) |  `lg(x)` |

Пример:

```cpp
int x = -2, x1, a =3;
float pi = 3.1415926, m = 16, kut, k;
x1 = abs(x); a=pow10(a);
kut = cos(2pi);
k = pow(m, 1./4);
m = sqrt(m);
```

Тогда этим переменным будут присвоены следующие значения:

```
x1 = abs(x) = |-2| = 2;
a=pow10(3) = 102 = 1000;
kut = cos(2* 3.1415926)=1;
k = pow(16, 1./4) = 161\4 = 2;
m = sqrt(16) =√16 = 4;
```

Инициализировать переменные может и пользователь. Для считывания данных из клавиатуры в С++ есть стандартная конструкция "cin" (СиИн):

```cpp
int first;
cin>>cfirst;
cout<<first;
```

### Адрес данных.

Довольно часто нужно знать не только значение переменной, но и её адрес в оперативной памяти. Для этого в c++ есть специальная операция:

```cpp
&<название данного>
```

Например:

```cpp
int a =25;
cout<<"Value a is "<<a<<"\n";
cout<<"Offset a is "<<&a;
```

Получаем:

```
Value a is 25
Offset a is 0xaf72254
```

На этом пока-что всё. Экспериментируйте, носите шапку и не захватывайте ОДА :3. Удачи!

Автор: **SHooZ**


---

# 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://lessons.sannybuilder.com/00300/00200/000200.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.
