Перейти к контенту
Как это работает

От чего берётся процент в программе

От чего берётся процент в программе и откуда это число вообще появляется.

Автор: Kiptly ·

На этой странице

Процентов два, и это не одно и то же

Процент — это всегда процент от чего-то, и в приложении таких «чего-то» два. Какой из них перед вами, зависит от того, откуда взялась строка, и на экране это сейчас никак не написано — в этом и состоит большая часть причины, по которой существует эта страница.

В готовой программе подходы основного движения хранятся как номер недели, номер подхода, процент, целевое число повторений и отметка AMRAP. Процент здесь — доля от вашего тренировочного максимума: числа, которое вы один раз ввели сами, когда начали программу.

В обычном шаблоне — вашем собственном или составленном тренером — у упражнения вместо целевого веса может стоять целевой процент. Этот процент — доля от вашего расчётного одноповторного максимума, посчитанного по вашим же записанным подходам формулой Эпли, о которой рассказывает страница про рекорды.

Тренировочный максимум — это число, которое вы вводите

Его ничто не выводит, ничто не обновляет и ничто не сверяет с тем, что вы реально поднимаете. Он хранится отдельно для каждого упражнения той программы, которую вы проходите, и сервер принимает любое значение от нуля до потолка из таблицы ниже. Упражнения, которых в этой программе нет, он не отвергает, а молча отбрасывает: в ответе вернутся сохранённые максимумы, а остальных там просто не будет.

На экране настройки есть необязательный помощник: введите одноповторный максимум — и он подставит девять десятых от него, то самое соглашение, вокруг которого обычно и написаны процентные программы. Он срабатывает только по вашей просьбе, на телефоне, и округляет до десятой доли килограмма. Дальше подставленное значение — обычное число в поле, ровно как если бы вы ввели его руками.

Существенно здесь то, что тренировочный максимум намеренно не равен вашему лучшему результату. Программы, написанные в процентах, рассчитаны на рабочее число, которое вы возьмёте и в плохой день, — отсюда и соглашение, и то, что помощник подставляет значение ниже вашего максимума, а не равное ему.

Что приложение с ним делает

Тренировочный максимум умножается на процент, делится на сто и округляется до ближайших 2,5 кг. Это весь расчёт, он происходит на сервере, а процент едет вместе с подходом — так что видно и то и другое.

Четырёхнедельный цикл хранится строками. В том, что едет вместе с приложением: первая неделя — 65, 75 и 85 процентов по пять повторений; вторая — 70, 80 и 90 по три; третья — 75, 85 и 95 на пять, три и одно. Последний подход каждой из этих недель несёт отметку AMRAP — столько повторений, сколько получится, а не фиксированное число, — и отметка хранится у каждого подхода, а не выводится.

Четвёртая неделя — 40, 50 и 60 процентов по пять, без AMRAP: лёгкая неделя, записанная в данных самой программы. Получается, что это третья вещь, которую продукт называет разгрузкой, и единственная, которую он не вычисляет и не предлагает, — просто следующая неделя цикла. Двум остальным посвящена отдельная страница.

Если тренировочный максимум для упражнения не задан, подходы всё равно придут: процент и целевые повторения на месте, а вес просто отсутствует. Так сделано намеренно. Придумать вес из оценки, вокруг которой программа не писалась, значило бы выдать догадку за предписание.

Числа и где они лежат

Числа обоих путей, выписанные из API и из приложения при сборке сайта. Делитель Эпли здесь потому, что второй вид процента считается от формулы, а не от введённого вами числа, — это та же самая тридцатка, что публикует страница про рекорды.

Что этоЗначениеОткуда взято
Вес в программе округляется до БЛИЖАЙШЕГО кратного этому числу, а не вниз.2.5apps/api/src/template/program.service.ts
Что подставляет необязательный помощник: такую долю от введённого вами максимума.0.9apps/flutter/lib/features/programs/presentation/training_max_setup_screen.dart
Наибольший тренировочный максимум, который сервер сохранит для одного упражнения.1000apps/api/src/template/dto/set-training-maxes.dto.ts
Тридцатка в формуле Эпли: e1RM = вес × (1 + повторения ÷ 30).30apps/api/src/smart/workout-plan.service.tsapps/api/src/workout/workout.service.ts
Наименьший шаг в метрической сетке — пара блинов по 1,25 кг.2.5apps/api/src/smart/workout-plan.rules.tsapps/flutter/lib/features/workout/presentation/workout_provider.dart

Второй путь: процент от оценки

Упражнение в шаблоне выбирает вес по строгому порядку, и побеждает первое, что дало ответ: явно заданный целевой вес, затем процент, умноженный на ваш расчётный одноповторный максимум, затем — для упражнений с типом «собственный вес» — ваша масса тела, а затем ничего.

Этот расчёт происходит на телефоне, в момент сборки тренировки, и округляется до целого килограмма. Он берёт лучшую оценку из вашей истории по этому упражнению, поэтому двигается вместе с вашими результатами — в отличие от тренировочного максимума, который стоит на месте, пока вы его не поменяете.

А если по этому упражнению у вас ничего не записано, то и оценки нет, а значит нет и веса. Подход всё равно есть — со своими повторениями и процентом, и ждёт, что число впишете вы.

Кто может её проходить

Запуск готовой программы входит в платный тариф, как и чтение готового плана из библиотеки. Программу, которую вы написали сами, читать можно бесплатно.

С тренировочными максимумами немного шире: их может задать платящий пользователь, а также клиент, которому программу назначил его тренер. Второй случай — не лазейка, а именно то, что позволяет клиенту проходить программу своего тренера, ничего не покупая.

Источники

У каждого источника указано, насколько глубоко мы с ним работали. Список ссылок показывает, что работа существует, а не то, что её кто-то открывал, — поэтому здесь стоят пометки.

  1. Код, который это считает

    apps/api/src/template/program.service.ts, apps/api/prisma/schema.prisma и apps/flutter/lib/features/workout/domain/template_seeding.dart. Все числа выше выписаны из этих файлов при сборке сайта, а шесть участков кода, которые объясняет текст, хешируются.

    Прочитано полностью

  2. Само соглашение о тренировочном максимуме

    Работа от доли числа, которое ниже вашего настоящего максимума, — соглашение из процентного программирования, а не вывод, на который можно сослаться; приложение относится к нему как к значению по умолчанию в одном необязательном помощнике, а не как к правилу.

    Не прочитано

Общая информация о тренировках, не медицинская рекомендация.