# <H1 align="center">Модуль «Вычисления»</h1>

<p> Модуль «Вычисления» является связующим модулем или модулем пред- и постобработки данных из других модулей. Данный модуль необходим для создания, вычисления и изменения значений переменных.</p> 

## Интерфейс модуля
<p> Окно модуля очень простое и состоит всего лишь из поля для ввода и кнопок «Сохранить» и «Отмена».
<H1 align="center">![Screenshot](img/calculation_1.png)</h1> 
<p> Поле «Выражение». В поле построчно вводятся операции, которые необходимо провести с переменными. Это может быть сложение, вычитание, умножение или вычисление функции. 
<p> Поддерживаемые операции
<p> •	+ (сложение);
<p> •	- (вычитание);
<p> •	* (умножение);
<p> •	/ (деление);
<p> •	% (остаток от деления);
<p> •	\ (целое от деления);
<p> •	^ (возведение в степень).
<p> Все строки должны быть вида «Переменная = Операция;», операция в свою очередь может состоять как из одиночного числа или строки, так и из нескольких операндов, связанных вышеуказанными операторами, либо быть функцией.
<p> Каждая строка должна быть отделена от следующей символом «;».
## Пример работы с модулем
<p> Предположим, необходимо получить последний день предыдущего месяца. Сделаем это с помощью ввода следующего кода:
<H1 align="center">![Screenshot](img/calculation_2.png)</h1> 
<H1 align="center">![Screenshot](img/calculation_3.png)</h1> 
<p> Что делает написанный выше код? А вот что – получаем сегодняшний день, например, сегодня 25 марта, вычитаем из полученной даты на один день больше, чем на самом деле есть, то есть 26 дней и оказываемся в последнем дне предыдущего месяца – 29 февраля (если год високосный). Более подробно:
<p> 1 строка – использование функции GetDate, которая возвращает сегодняшнюю дату, и сохранение её результата в переменную @now (@now = 25.03.2020);
<p> 2 строка – использование функции GetDay, которая принимает один параметр – дату, и возвращает из поданной в неё даты только день. Подадим в функцию в качестве параметра сегодняшнюю дату, которая лежит в переменной @now. После этого запишем результат работы функции в переменную @day (@day = 25);
<p> 3 строка – увеличиваем переменную @day на единицу (@day = 26);
<p> 4 строка – использование функции DateAdd. Функция принимает три параметра: 1) day, month или year – компонент даты, с которым работаем, 2) – количество, которое прибавляется к выбранному компоненту даты, 3) – дата, с которой проводятся манипуляции. Вычтем из сегодняшней даты 26 дней – используем DateAdd с параметрами: 
<p> 1.	day – вычитаем дни;
<p> 2.	–@day – так как функция по умолчанию складывает, добавим знак минус;
<p> 3.	@now – сегодняшняя дата.
<p> В итоге получается, что мы вычитаем из 25.03.2020 26 дней и оказываемся в 29.02.2020.


