Математика в 1С — полезные приёмы
В реальной работе программисту постоянно приходится что-то считать:
округлять цены, сравнивать числа, находить минимум или максимум, генерировать случайные значения.
В 1С всё это можно делать встроенными функциями — разберём самые полезные.
Округление чисел
Цена = 100.384;
Округленная = Окр(Цена, 1); // 100.4
Функция Окр принимает число и количество знаков после запятой.
Правило стандартное: если следующая цифра ≥ 5, прибавляем единицу.
Особый случай: если цифра равна 5
, можно задать режим округления:
Сообщить(Окр(100.350, 1, РежимОкругления.Окр15как10)); // 100.3
Сообщить(Окр(100.350, 1, РежимОкругления.Окр15как20)); // 100.4
Целая часть
Целая = Цел(Цена); // 100
Функция Цел просто отбрасывает дробь.
Степени и корни
Куб = Pow(10, 3); // 1000
Корень = Sqrt(25); // 5
Pow — возведение в степень, Sqrt — квадратный корень.
Минимум и максимум
МаксЗначение = Макс(10, 20, 30); // 30
МинЗначение = Мин(10, 20, 30); // 10
Функции Макс и Мин принимают любое количество чисел.
Генерация случайных чисел
ГСЧ = Новый ГенераторСлучайныхЧисел();
Сообщить(ГСЧ.СлучайноеЧисло(0, 2)); // от 0 до 2
Можно зафиксировать последовательность:
ГСЧ = Новый ГенераторСлучайныхЧисел(2014);
Это удобно для тестов: вы всегда получите одинаковый результат.
💡 Практика: мини-задачи
- Случайное число от 1 до 100, округлённое до целого.
- Вывести максимум из пяти случайных чисел.
- Проверить: если число больше 1000, вывести его квадратный корень, иначе — его куб.
- Написать функцию, которая принимает список чисел и возвращает сумму их округлённых значений.
🏠 Домашнее задание
Создать программу:
- Генерируем 3 случайных числа (1…1000),
- возводим каждое в 5-ю степень,
- извлекаем квадратный корень,
- делим на 3,
- округляем до двух знаков (режим
Окр15как10
), - умножаем на 0.25,
- отбрасываем дробную часть,
- суммируем результаты.
В зависимости от версии 1С результат будет разным (изменился алгоритм ГСЧ),
но сама логика должна совпадать.
Добавить комментарий