Теория. Работа с размерностями знач. в переменных программ

Общие вопросы программирования, алгоритмы и т.п.

Модератор: Модераторы

Re: Теория. Работа с размерностями знач. в переменных програ

Сообщение Wicked » 08.09.2016 13:36:43

В свое время для диплома делал много расчетов, реализовывал похожий механизм с целью вывода и проверки размерностей. Основная идея базируется на Пи-теореме https://ru.wikipedia.org/wiki/%D0%9F%D0%B8-%D1%82%D0%B5%D0%BE%D1%80%D0%B5%D0%BC%D0%B0. Любая физическая величина выражается через произведение 7-ми базовых физический величин в рациональных степенях. Реализация простая:
Код: Выделить всё
type
  TUnitValue = record
     Value: float;
     Unit: TBaseUnit;
  end;

  TBaseUnit = record // в системе СИ
     L: TRational;
     M: TRational;
     ....
    J: : TRational;
  end;

Следствие: сложение/умножение величин с размерностями возможны при по элементном равенстве "Unit". Умножение/Деление размерности производится поэлементно.
Реализуется перегрузка арифметический операций. Добавляются проводные величины из СИ или СГС (а также приставки(Мега, Кило и т.д.), при оформлении вывода значение Unit сравнивается со значением в базе и форматируется вывод.
Больше информации https://ru.wikipedia.org/wiki/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83%D0%BD%D0%B0%D1%80%D0%BE%D0%B4%D0%BD%D0%B0%D1%8F_%D1%81%D0%B8%D1%81%D1%82%D0%B5%D0%BC%D0%B0_%D0%B5%D0%B4%D0%B8%D0%BD%D0%B8%D1%86
А так же ГОСТ 8.147-2002 Государственная система обеспечения единства измерений. ЕДИНИЦЫ ВЕЛИЧИН
К сожалению мои исходники канули в бездну, но на сорсфордже можно найти много схожих реализаций и размерностей и рациональных чисел. Помниться, в JEDI есть что то подобное.
Wicked
незнакомец
 
Сообщения: 1
Зарегистрирован: 08.09.2016 13:15:29

Re: Теория. Работа с размерностями знач. в переменных програ

Сообщение Sharfik » 08.09.2016 20:40:00

Спасибо, посмотрю.
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 791
Зарегистрирован: 20.07.2013 01:04:30

Re: Теория. Работа с размерностями знач. в переменных програ

Сообщение azsx » 13.09.2016 11:24:02

оффтопик
Фатальные ошибки двоичной арифметики при работе с числами с плавающей точкой
https://habrahabr.ru/post/309812/
azsx
энтузиаст
 
Сообщения: 959
Зарегистрирован: 16.11.2015 06:38:32

Re: Теория. Работа с размерностями знач. в переменных програ

Сообщение Sharfik » 25.09.2016 15:42:46

В общем пока так получилось. Пока без функций авто пересчета, просто описание.
https://github.com/pichugin-m/lab_IMDataType
Аватара пользователя
Sharfik
энтузиаст
 
Сообщения: 791
Зарегистрирован: 20.07.2013 01:04:30

Re: Теория. Работа с размерностями знач. в переменных програ

Сообщение zub » 27.09.2016 13:10:13

Код: Выделить всё
   //Тип строения
   TBuildingType = (
       btUnknow,                    //- Неопределено
       btGround,                    //- Площадка географическая
       btBuilding,                  //- Здание/Строение
       btArea,                      //- Резервное значение
       btFloor,                     //- Этаж/Уровень/Площадка внутри здания
       btRoom,                      //- Комната/Помещение
       btLevel,                     //- Отметка
       btLogicalType,               //- Условный объект
       btSection                    //- Секция
   );

Код: Выделить всё
   //Стадия строительства
   TLookWorkType = (
       lwtNone,                     //- Неопределено
       lwtNew,                      //- Новое
       lwtReconstruction,           //- Реконструкция
       lwtExistent                  //- Сущетвующий
   );

Зачем такие вещи хардкодить? тут нужен какойто рантайм механизм чтоб можно было под свои задачи настроить
zub
долгожитель
 
Сообщения: 2886
Зарегистрирован: 14.11.2005 23:51:26

Пред.

Вернуться в Общее

Кто сейчас на конференции

Сейчас этот форум просматривают: slyubez, Yandex [Bot] и гости: 30

Рейтинг@Mail.ru