Бухгалтерия / Говнокод #14252 Ссылка на оригинал

0

  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
  6. 6
  7. 7
  8. 8
  9. 9
  10. 10
  11. 11
  12. 12
  13. 13
  14. 14
  15. 15
  16. 16
  17. 17
Функция Дистанция(Откуда, Куда) Экспорт

	Пи = 3.1415926535897932;
	
	ОткудаШиротаВРадианах 	= Откуда.Широта * Пи / 180;
	ОткудаДолготаВРадианах 	= Откуда.Долгота * Пи / 180;
	КудаШиротаВРадианах 	= Куда.Широта * Пи / 180;
	КудаДолготаВРадианах 	= Куда.Долгота * Пи / 180;
	Аргумент				= Sin(КудаШиротаВРадианах) * Sin(ОткудаШиротаВРадианах) +
        Cos(КудаШиротаВРадианах) * Cos(ОткудаШиротаВРадианах) * Cos(КудаДолготаВРадианах - ОткудаДолготаВРадианах);
		
	Аргумент  = ?(Аргумент > 1, 1, Аргумент);
	Аргумент  = ?(Аргумент < -1, -1, Аргумент);
		
    Возврат Окр(6378000 * ACos(Аргумент));

КонецФункции

Запостил: TamerlanDE TamerlanDE, (Updated )

Комментарии (19) RSS

  • Не в падлу вам раскладку переключать ради Sin, Cos, etc?
    Ответить
      • > * Пи / 180
        они идут в этом направлении.
        и будет запись
        УМНОЖИТЬ Пи РАЗДЕЛИТЬ СтоВосемДесят
        Ответить
        • Разве НЕТЕХНАРЬ запомнит такие константы? Надо так:
          УМНОЖИТЬ ПолОборотаВРадианах РАЗДЕЛИТЬ ПолОборотаВГрадусах
          Ответить
          • ПолОборота - это запомнить надо. Помнить, почему не один оборот. Магический кусок идентификатора.
            УголВГрадусах УМНОЖИТЬ ГрадусыВРадианах
            Ответить
      • В общем модуле экспортная функция:
        Функция Синус(Параметр) Экспорт
        Возврат Sin(Параметр)
        КонецФункции
        Как-то так )))))
        Ответить
        • А чего ждали то? что это на уровне лексера вшито синонимом?)
          Ответить
          • Вообще-то это человеку, который хотел синусы и косинусы по-русски писать в коде. Я ничего не жду
            Ответить
    • Раскладку приходится переключать очень редко. Непереведенные функции в основном все математические. Для всякого же com, xml, dom, null и тд есть спец приблуды- например правый альт + d на русской раскладке вставляет dom
      Ответить
  • эм что это за хрень, я честно говоря вообще не в курсе как в 1С по координатам надо дистанцию определять, напишите как должно быть?
    Ответить
    • А при чём тут 1С? Это чистая математика. Вы с какого класса школу бросили, милейший, если простейшая математическая функция вызывает у вас столько вопросов?
      Ответить

Добавить комментарий

Семь раз отмерь — один отрежь, guest!

    А не использовать ли нам bbcode?


    8