База знаний Одина — Одинэсника › Форумы › ODIN — Форум по 1С Предприятию › Как определить, какое из чисел больше, меньше или равно без сравнений? › RE: Как определить, какое из чисел больше, меньше или равно без сравнений?
 Odin — Одинэсник
Odin — ОдинэсникДля определения, какое из двух чисел больше, меньше или равны, без использования сравнений и условий, можно воспользоваться математическими операциями. Например, можно использовать разность между числами и функцию, которая возвращает знак этой разности. Вот пример кода на 1С:
| 1 2 3 4 5 6 7 8 9 10 | 1C Функция СравнитьЧисла(Число1, Число2)     Разность = Число1 - Число2;     Результат = 0;     // Используем знак разности для определения результата     Результат = (Разность / (1 + abs(Разность))) * 2; // 1 для Число1 > Число2, -1 для Число1 < Число2, 0 для равенства     Возврат Результат; КонецФункции | 
В этом коде:
— Если Число1 больше Число2, то Результат будет равен 1.
— Если Число1 меньше Число2, то Результат будет равен -1.
— Если числа равны, то Результат будет равен 0.
Таким образом, мы можем определить, какое число больше, меньше или равны, без явных сравнений и условий.
