Калькулятор для одной упаковки: пять исходных параметров, промежуточные вычисления и понятная причина выбора итогового веса.
О проекте
Контекст
Коробка 60 × 40 × 40 см весит 8 кг, а расчёт по объёму даёт 19,2 кг. Если показать только итог, человек не поймёт, ошибся ли он при вводе или сработало другое правило. В этом прототипе я сделал основание расчёта видимым рядом с результатом.
Цель
Объяснить разницу между массой коробки и расчётным весом через изменяемые исходные данные.
Задача
Нужно показать, какое правило дало итог, и не смешать расчёт веса со стоимостью перевозки.
Решение
Разделил фактическую массу и объёмный вес и показал промежуточный объём в см³. В итог попадает большая из двух величин. Делитель оставил в форме: при тех же размерах изменение этого параметра должно быть видно и объяснимо. Формула выполняется в браузере при каждом корректном изменении поля.
Результат
Готовый прототип пересчитывает вес при изменении вводных, показывает ход расчёта и останавливается на некорректном поле. На одной коробке можно проверить оба исхода: 19,2 кг по объёму и 25 кг по фактической массе.
Что передано заказчику
- Форма с пересчётом веса и промежуточными вычислениями.
- Ошибки ввода, связанные с соответствующими полями.
- Пять контрольных примеров с порядком повторения.
Инструменты и подход
Навыки
Содержание 6
Калькулятор
Показал основание рядом с итогом
У формы пять полей: длина, ширина, высота, масса и делитель. Рядом с итогом видны объём коробки, объёмный вес и фактическая масса. Поэтому проверку можно начать с конкретного места: неверный объём — проверить размеры; другой объёмный вес — проверить делитель.
На исходных данных получается 60 × 40 × 40 = 96 000 см³, затем 96 000 / 5000 = 19,2 кг. Масса 8 кг участвует в сравнении, но оказывается меньше. Если изменить только массу на 25 кг, объёмный вес останется прежним, а итог станет 25 кг.
Оставил делитель в форме
Спрятать 5000 внутри формулы было бы проще, но тогда пользователь не увидел бы одно из условий расчёта. При делителе 4000 та же коробка даёт уже 24 кг. Поэтому коэффициент редактируется отдельно, с единицей см³/кг. Калькулятор применяет введённое правило; сам тариф он не подбирает.
Связал ошибку с конкретным полем
Размеры вводятся в сантиметрах, масса — в килограммах. Пустое поле, нулевой делитель или значение вне допустимого диапазона убирают итог и показывают причину ошибки. После исправления расчёт возвращается без повторного заполнения формы.
Размеры в этой версии задаются целыми сантиметрами. Ввод 0,6 вместо 60 отклоняется: переключения единиц здесь нет. Сообщение об ошибке связано с полем и доступно при чтении интерфейса экранной программой.
Что проверено на одной коробке
Габариты во всех пяти примерах — 60 × 40 × 40 см. Изменяется только масса или делитель.
| Что изменили | Объёмный вес | Итог модели |
|---|---|---|
| Исходные: 8 кг, делитель 5000 | 96 000 / 5000 = 19,2 кг | 19,2 кг — по объёму |
| Масса 25 кг; делитель прежний | 19,2 кг | 25 кг — фактическая масса больше |
| Масса 8 кг; делитель 4000 | 24 кг | 24 кг — по объёму |
| Масса 19,2 кг; делитель 5000 | 19,2 кг | 19,2 кг — величины равны |
| Делитель 0 | Не вычисляется | Ошибка, связанная с полем делителя |
Разбор и материалы
Вклад и команда
Спроектировал форму и разработал расчёт: пять связанных полей, промежуточные значения, явно заданные единицы и проверка допустимого ввода. Собрал контрольные примеры, в которых меняется основание результата.
Ссылки и материалы
- Калькулятор доставки: от массы коробки к расчётному весу — исходная таблица.csv
5 ситуаций для сравнения.
- Калькулятор доставки: от массы коробки к расчётному весу — проверка.txt
Критерии проверки этого решения.
- Калькулятор доставки: от массы коробки к расчётному весу — паспорт.json
Контекст, ограничения, решение и данные.
- Калькулятор доставки: от массы коробки к расчётному весу — инструкция.html
Как открыть и проверить рабочий разбор.
Загружаем комментарии…