Pull to refresh

PL2 — подход 0.01. Единицы измерения

Reading time2 min
Views3K
Данная статья — для тех, кто ищет новый подход к программированию,
и понимает глобальный характер заблуждений современного программирования,
завязанного на архитектуру существующих вычислительных систем, а не на моделируемый мир.

В сообщении предлагаются основные классы, которые способны описать свойства, используемые в курсе средней школы.
Основы подхода описываются в статьях, перечисленных в habrahabr.ru/post/176249

Итак, идеология структуры классов в пространствах имен:


Математика:

root_ns.science.mathematics.Enumerator_class
перечислитель натуральный
от 0 до верхней границы используемого типа или до указанного значения
безразмерная величина
наследующие классы могут указывать и сравнивать единицы измерения
root_ns.science.mathematics.Counter_class
Общее количество счетных значений
Разрешает отрицательные числа
Ограничен физической реализацией числа
Безразмерная величина
Наследующие классы указывают единицу измерения

Физика

При операциях производится контроль единицы измерения с выдачей предупреждений
при отсутствии описанного преобразования
root_ns.science.mathematics.Scalar_class
Скалярная измеряемая величина с единицей измерения
root_ns.science.mathematics.Complex_class
Комплексное число
Может быть представлено в векторной или тригонометрической форме
root_ns.science.mathematics.Tensor_class
Тензорная величина

root_ns.science.physics.SI.One_class
класс единиц измерения СИ
перечисление единиц с указанием единиц по умолчанию
L — расстояние, м
M — масса, кг
T — время, с

root_ns.science.physics.SI.Multiply_class
Комплексная единица измерения СИ
включает перечень размерностей с степенью вхождения и единицы измерения по каждому измерению
При этом одинаковые размерности с разными единицами измерения могут входить несколько раз

root_ns.science.physics.Measure_class
класс для указания измеряемой скалярной величины

root_ns.science.physics.Measured_Template
Шаблон класса для операций с единицами измерения
Содержит указатель точности в количестве десятичных знаков
Содержит анализ точности и операцию округления



root_ns.science.logical.Base_class
Логические отношения
root_ns.science.structures.Listiner_template
Субъекты внимания
root_ns.science.structures.Self_template
root_ns.science.structures.tuples.Tuple_class
кортеж (реквизит с реквизитами, каждый из которых либо кортеж, либо одномерный реквизит)
UPD — Обсуждение похожих тем:
habrahabr.ru/post/144334 Type-rich Programming (С++11)
Tags:
Hubs:
Total votes 19: ↑3 and ↓16-13
Comments20

Articles