nabbla (nabbla1) wrote,
nabbla
nabbla1

Category:

Проблемы локализации СИ и чувствительность к регистру

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

Гс может означать как гауссы, так и гигасекунды, гс - граммы силы или гектосекунды. Тл может означать индукцию в теслах или тералитр, ат - техническую атмосферу либо аттотонны. Если же еще игнорировать регистр физической величины, учитывая только регистр приставки (м-милли, М-мега), начинается сущий кошмар. Гн может означать как индуктивность в генри, так и гиганьютоны, пк может означать пикакельвин или парсек, Па - паскаль или петаампер.

Кстати, самые великие ученые - это ученые с маленькой буквы! Когда мы называем физическую величину полностью, она по правилам пишется строчными буквами - вольты, амперы, ньютоны. Но если сокращаем до 1-2 букв, то с заглавной: В, А, Н.


В английском языке тоже не все гладко, особенно при попытке ввести наиболее употребительные имперские величины - дюймы и футы. min может означать как минуту, так и миллидюйм, ft - фут или фемтотонну.

В системе СИ по крайней мере нет неоднозначностей, но регистр должен соблюдаться строго - S - это сименс, а s - секунда, g - грамм, G - гаусс, а если еще ввести двоичные приставки, становится совсем весело. Min - либо мибиньютон (2^20 ньютона), либо мегадюйм, либо минута!

Возникает вопрос - как со всем этим бороться? Многих проблем можно избежать, если наконец-то потребовать вводить все величины в правильном регистре, но неоднозначности останутся.

Далее, можно запретить использование приставок в некоторых проблемных величинах - тоннах, дюймах, футах и килограммах силы (кгс можно, гс-нельзя!), хотя мощность ядреных бомб в килотоннах и мегатоннах еще как считают, да и миллидюймы встречаются.

С гауссами и гигасекундами совсем все грустно, и то и другое - единицы, построенные в полном соответствии с правилами. Чтобы не нарушать логику программы, остается разве что отказаться от гауссов в стандартном написании и придумать что-нибудь свое, например просто Г, как в английском, неаккуратненько как-то...

Другой вариант - в случае неоднозначности (что, к счастью, будет происходить очень редко) появится какое-нибудь выпадающее меню, "вы имели в виду магнитную индукцию, гауссы, или время, гигасекунды?", чтобы пользователь выбрал то, что ему надо.

Наконец, можно попытаться угадывать правильную величину по контексту, т.е пробовать посчитать выражение со всеми возможными вариантами, при этом скорее всего большинство окажется ошибочным (мы попытаемся сложить две разнородные величины, или пользователь укажет размерность ответа, а у нас она не сойдется, и пр.), мы их отбросим и покажем только верный ответ, но еще на всякий случай уточним - здесь вот Гс - это ж гаусс, правда? Может так случиться, что контекст ничего не скажет, тогда придется либо выдать несколько ответов ("вы имели в виду гаусс - получится вот так. А если гигасекунда - то вот так), либо просто развести руками: "Мои возможности ограничены. Правильно формулируйте вопрос".


Poll #2010265 Как бороться с неоднозначной интерпретацией физических величин (Гс - и гаусс, и гигасекунда и пр.)

Как бороться с неоднозначной интерпретацией физических величин (Гс - и гаусс, и гигасекунда и пр.)

переименовать/исключить часть величин, запретить приставки для других
2(10.0%)
выпадающее меню в случае неоднозначности
12(60.0%)
попытаться определить по контексту
6(30.0%)
Tags: physunitcalc, математика, программки
Subscribe

Featured Posts from This Journal

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 23 comments

Featured Posts from This Journal