В общем мне дали тему курсовой работы. Мне нужно написать систему "Личный диетолог" - сброс веса.
Что должна делать программа: обычный калькулятор калорий. Его написать легко, поэтому я не заморачиваюсь.
Однако меня смущает эта часть задания: "в случае нарушения плана программа должна указывать на
продукты максимально влияющие на нарушение и предоставлять
рекомендации о их замене".
По какому алгоритму определять продукт, который нужно убрать/заменить? Получается, что нужно выбрать продукт, в котором больше всего калорий? Я поискал зарубежные программы, чтобы посмотреть как всё должно работать, но нигде не нашел, чтобы программа могла посоветовать какой продукт убрать/заменить.
диета не всегда предполагает сброс веса. иногда его надо набирать, иногда поддерживать, во многих случаях о весе вообще вопрос не стоит. так что в принципе вы собираетесь писать какую-то хрень. как именно её писать уже не важно
ну как бы я решал эту тупую задачу. 1) узнаем вес девочки. 2) считаем сколько она должна весить в недалеком будущем. 3) устанавливаем дневную калорийность каким-нибудь образом. 4) девочка вечером вводит съеденное и получает цифры + совет на будущее чего ей есть не следует. 5) совет основывается на выявленных предпочтениях девочки (а они у неё есть) и калорийности. надо её избавить от минимального количества привычек, чтобы она сильно не страдала.
Тут суть очень простая, вам нужно просто изучить предмет. К примеру есть различные методики похожения, к примеру без углеводная диета или другие (я не особо в деталях разбираюсь), эти программы предлагают свое колличество калорий из ряда продуктов, вам нужно иметь желаемый результат и сравнивать результат пользователя, если пользователь отстает, с учетом его программы (типа диеты) вы должны брать список продуктов, разбирать из по составу и формировать оптимальный.
Я бы сделал для начала трекер, которой позволит следить за пользователем, взять его вес и в течении месяца отслеживать питание и изменения. Каждый продукт разкладываете на состав и составляете статистику по углеводам \ белкам и т.д. В дальнейшем анализируете best practice и делаете предложения. Ну а если результат не удовлетворительный, то к примеру вы всегда можете определить продукт с наиболее большим содержанием к примеру быстрых углеводов и исключить его.
Никакого api или открытого кода вам не дадут, обычно методики авторские и приносят деньги, но вы вполне можете разложить продукт по составу, а каждому элементу выставить приоритет (что больше, а что меньше влияет), но вообще это может быть довольно сложная задача.
uaSaint: Я уже думал так, но в задании сказано другое, нигде нет упоминание диет. Написано просто, если вы употребили больше 1600 ккал, то нужно убрать продукт максимально влияющие на нарушение и предоставлять рекомендации о их замене.
Александр: значит вам не много упростили задачу, просто привяжите к каждому продукту колличество каллорий, когда результат не удовлетворителен согласно программе уменьшите каллории, просто просчитав рацион и исключив колличество, к примеру убрав хлеб или разрезав яблоко. Т.е. просто Продукт как класс, но вычисления выполняются по его свойствам.