SmartCalc v1.0

Part 1. Реализация SmartCalc v1.0

Необходимо реализовать программу SmartCalc v1.0:

- **Арифметические операторы**:

    | Название оператора | Инфиксная нотация <br /> (Классическая) | Префиксная нотация <br /> (Польская нотация) |  Постфиксная нотация <br /> (Обратная польская нотация) |
    | ------ | ------ | ------ | ------ |
    | Скобки | (a + b) | (+ a b) | a b + |
    | Сложение | a + b | + a b | a b + |
    | Вычитание | a - b | - a b | a b - |
    | Умножение | a * b | * a b | a b * |
    | Деление | a / b | / a b | a b \ |
    | Возведение в степень | a ^ b | ^ a b | a b ^ |
    | Остаток от деления | a mod b | mod a b | a b mod |
    | Унарный плюс | +a | +a | a+ |
    | Унарный минус | -a | -a | a- |

    >Обратите внимание, что оператор умножения содержит обязательный знак `*`. Обработка выражения с опущенным знаком `*` является необязательной и остается на усмотрение разработчика

- **Функции**:

    | Описание функции | Функция |   
    | ---------------- | ------- |  
    | Вычисляет косинус | cos(x) |   
    | Вычисляет синус | sin(x) |  
    | Вычисляет тангенс | tan(x) |  
    | Вычисляет арккосинус | acos(x) | 
    | Вычисляет арксинус | asin(x) | 
    | Вычисляет арктангенс | atan(x) |
    | Вычисляет квадратный корень | sqrt(x) |
    | Вычисляет натуральный логарифм | ln(x) | 
    | Вычисляет десятичный логарифм | log(x) |

Part 2. Дополнительно. Кредитный калькулятор

Предусмотреть специальный режим "кредитный калькулятор" (за образец можно взять сайты banki.ru и calcus.ru):

  • Вход: общая сумма кредита, срок, процентная ставка, тип (аннуитетный, дифференцированный)
  • Выход: ежемесячный платеж, переплата по кредиту, общая выплата