Классы

Очередная задачка на повторение классов. Реализовать свой тип и определить операции в соответствии с заданием, реализовать тесты. Делаем по аналогии с вот этим

1

Денежные единицы заданые в виде пары (значение, курс в рублях), реализовать

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух денежных единицы
  • вывод значения в другой валюте
2

Давление, заданное в виде пары (значение, тип), допустимые типы: паскаль, бар, миллиметр ртутного столба, атмосфера техническая;

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух давлений
  • вывод значения в любом типе
3

Температура, задаваемая в виде пары (значение, тип), допустимые типы: градус Цельсия, градус Фаренгейта, градус Ранкина, Кельвины

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух площадей
  • вывод значения в любом типе
4

Мера объема, задаваемая в виде пары (значение, тип), допустимые типы: \(м^3\), миллилитры, литры, баррель

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух объемов
  • вывод значения в любом типе
5

Площадь, задаваемая в виде пары (значение, тип), допустимые типы: \(м^2\), гектар, сотка, десятина

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух площадей
  • вывод значения в любом типе
6

Временые промежутки, заданные в виде (тип, значение), допустимые типы: часы, день, неделя, месяц (30 дней). Предусмотреть операции

  • сложение
  • вычитание
  • деление на число
  • сравнение
  • преобразование в другой тип
  • пребразование в дату (из рассчета что 0 для любого типа означает 1 января, и без учета високосного года)
7

Звуковой интервал, заданый в виде пары (значение, тип), допустимые типы: малая секунда, малая терция, увеличенная кварта, октава. Предусмотреть операции:

  • сложение
  • вычитание
  • умножение на число
  • сравнение двух интервалов
  • преобразование в другой интервал
  • преобразование в ноту с октавой (из учета что 0 любого интервала означает До первой октавы)
8

Вектор

  • сложение
  • вычитание векторов
  • вычисление скалярного произведения двух векторов
  • длина вектора
  • векторное произведение
9

Комплексное число

  • сложение
  • вычитание
  • умножение
  • деление двух комплексных чисел
  • сравнение
10

Множество целых чисел

  • объединение двух множеств (как сумма множеств),
  • пересечение двух множеств (как произведение множеств),
  • разность двух множеств,
  • добавление элемента к множеству (как сумма с числом),
  • удаление элемента из множества (как разность с числом)
11

Многочлен от одной переменной, задаваемый степенью многочлена и массивом коэффициентов. Предусмотреть операции

  • сложения
  • вычитания
  • умножения многочленов
  • вычисления значения многочлена для заданного аргумента
  • дифференцирования
12

Цвет заданный в пространстве HSV, а также под каждую характеристику отдельный тип. Реализовать операции:

  • Добавление/вычитание красного цвета
  • Добавление/вычитание синего цвета
  • Добавление/вычитание зеленого цвета
  • Добавление/вычитание насыщености
  • Добавление/вычитание яркости
  • Перевод в RGB
13

Разработать систему типов для манипуляцией состоянием идеального газа. Состояние определяется набором макропараметров: давлением, молярным объемом и абсолютной температурой. Для каждой характеристики создать свой тип. Реализовать операции для цепи:

  • Повышение/понижение давления в системе
  • Повышение/понижение молярного объема в системе
  • Повышение/понижение температуры в системе
  • Вывод текущего состояния системы