Очередная несуразность в единицах измерения

Oct 15, 2021 02:07

Когда-то я написал программу PhysUnitCalc - калькулятор, умеющий работать с размерностями. Мне казалось, что я наступил уже на все грабли, которые там были разбросаны:

- офигенное решение сделать КИЛОграмм БАЗОВОЙ величиной в системе СИ,
- температуры, начинающиеся с разных нулей, так что 20 °С = 293,15 К, но при этом РАЗНИЦА в 20 °С равна разнице в 20 К,
- децибелы, действие которых зависит от контекста - если речь идёт об амплитуде, то 20 дБ = 10 раз, но если о мощности, то 10 дБ = 10 раз. Если к децибелам прибавлена единица (всевозможные дБВ - децибелвольты, дБА - децибелы звукового давления по кривой "А" и пр.) - то всё хорошо. Но безразмерных децибелов пришось ввести 2 разные величины: дБампл и дБмощ, очень уж мне хотелось получить инвариантность к смене единиц измерения.
- конфликтующие названия единиц. Гс - это может быть гаусс, а может быть гигасекунда. Тл - это может быть тесла, а может - тералитр. Прибавить сюда имперские величины - появляются также ft - фут либо фемтотонна (абсурд, но формально такая величина может существовать), и куда более вероятный min - минута либо миллидюйм. А ещё град - кому-то может показаться, что это градусы, другим - что это грады (странная угловая величина, 1 оборот = 400 град, не особо прижилась), а ещё это гекторадианы.

Долгое время моя программа могла принять любые величины, которые мне попадались, и корректно провести вычисления. Разве что дБпТл удивил, ну и хрен с ним.

И вот, сегодня я встретил ещё одну размерность. Немного мифическую, но вполне себе используемую, и при этом начисто нарушающую правила системы СИ!


Это человеко-часы, человеко-дни, человеко-месяцы и человеко-годы!

Мне не нужно было "в явном виде" вводить кВт*ч, его программа "выводила" на общих основаниях, как производную единицу, и на этих же основаниях могла корректно преобразовать его в Дж, или в МДж, а если вдруг захочется - и в кВт*день или кВт*год, при этом 1 кВт*день = 24 кВт*ч, поскольку в сутках 24 часа.

Но человеко-часы так не работают! 1 человеко-день - это всего ВОСЕМЬ человеко-часов, а 1 человеко-месяц - вроде бы 173 человеко-часа, но это не точно. Понятно, с чем это связано - люди существа малоэффективные, работают лишь треть суток, а остальное время простаивают, а потом из 7 дней простаивают 2 дня, а там ещё и праздники появляются.

Как говорит Брукс (и с ним трудно не согласиться), это не единственная проблема данных величин. Почему-то 1 человек, работающий в течение года, может сделать работу, а если набрать 365 человек и припахать их на один день - вряд ли что-то получится.

Тут я бы вообще встал в позу и заявил: знак "умножить" посередине недопустим, в данном конкретном случае между человеком и часами/месяцами/годами должен стоять ДЕФИС, и никак иначе! То есть, человеко-час не должен разделяться на человека и на час, это должны быть "ручками" введёные единицы измерения, с проставленными соотношениями между ними: 8, 173 и т.д. Не уверен, что мой PhysUnitCalc правильно отреагирует на дефис, наверняка спутает его с минусом и громко выругается. Тогда, на первое время, можно и дефис убрать, писать слитно. А ещё проще положить на эту единицу измерения болт - кому она нужна...

PS.

image Click to view



PPS. Чего-то музыкой навеяло. Объясняет, почему кино было немым. Осторожно, нецензурная лексика.

image Click to view

странные девайсы, математика, бред, программки, physunitcalc, работа

Previous post Next post
Up