Вызов: Эффективная ЧСС

<>
var age = 5;
var pulseAtRest = 90;
var intensity = 75;

var pulseAtWorkout = Math.round(((220 - age) - pulseAtRest) * intensity / 100 + pulseAtRest);
</>

Просто множил на intensity, без (/ 100), и не мог понять в чем дело)

2 лайка

Пожалуйста, не забывайте форматировать код в сообщении с помощью кнопки </>.

Да уж… Это называется догадайтесь сами что нужно проценты поделить на 100. Спасибо автору поста за подсказку!

1 лайк

Видимо составители курсов решили, что будущие верстальщики, если не догадаются сами, то должны хотя бы уметь находить нужную информацию в интернете. В этих вызовах уже вторая деталь, о которой нужно догадаться или найти самим. Первое было в третьем вызове с командой Math.round().

Так можно дойти до того, что всю математику надо будет объяснять, начиная с младших классов.

Вообще да, видите незнакомый или не до конца понятный термин - ищите. Тем более там в последнем предложении непрозрачно и очень явно “намекнули”.

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

1 лайк

Ну лично я в математике таких команд как Math.round() ни разу не встречала, это уже не математическое и прежде чем в математике ставят задачи, там всё детально правила прописывают в теории.

Под второй вещью которая не ясна уже в этой теме вы разве не перевод процентов имели в виду? С Math.round и присваиванием вроде разобрались уже, надо двигаться дальше.

Я вас поддержу в том смысле, что объяснение Math.round и правда может запутать, оно не очень однозначное, но дело в том, что вызовы это уже следующий уровень и это именно самостоятельная работа, там даются общие подсказки, но они именно общие. Показали как работает метод, но надо еще не забыть присвоить значение переменной, а это как раз теория. Опираясь на предыдущие знания можно решить вызовы, там нет никакой проблемы, просто все это должно закрепиться. Может быть надо еще раз пройти теорию и тогда станет попроще.

забейте, я когда прототипирование изучил, мой мир жс перевернулся уже во второй раз. первый раз - когда узнал про ооп в жс. пока еще учу язык, мож еще раз перевернется =)
а так да - не хотите изучать по документации упрощающие методы - добро пожаловать в розовый мир разработки нативных функций самостоятельно =) напишите функцию округления XD

1 лайк

По сути всё правильно, только должно быть (intensity / 100) в скобках, иначе идёт первым делом умножение, я немного по другому сделал
var age = 5;
var pulseAtRest = 90;
var intensity = 75;
intensity = intensity / 100; <-- добавил такую строку

Очень прошу посмотрите, где я накосячил (вылезает Переменная pulseAtWorkout не определена. (String)):
var age = 5;
var pulseAtRest = 90;
var intensity = 75;

var max = (220 - age);

var pulseAtWorkOut = Math.round(
( max - pulseAtRest) * intensity/100 + pulseAtRest
);

Добрый день!
Выводить нужно строку: “ЧСС для тренировки 158”, а не просто число.


вывести в консоль? чет тоже не работает(

Прошу прощения. Ввела вас в заблуждение :face_with_hand_over_mouth:
Не нужно выводить строку. Требуемая переменная называется pulseAtWorkout, у вас в ней опечатка, большая “O” (pulseAtWorkOut). Проверка хочет прописную “o”.

1 лайк
let age = 5;
let pulseAtRest = 90;
let intensity = 75;

let pulseMax = 220 - age;
let intensityInPer = intensity / 100;

let pulseAtWorkout = 
    Math.round((pulseMax - pulseAtRest) * intensityInPer + pulseAtRest)