В первый раз не обратила внимание. Сейчас второй раз повторяю, подсчитала и не поняла. Почему расход в экономном режиме для студентов стал больше чем в обычном? Должен вроде по 35 за страницу прибавлять, а прибавляет по 105.
Разве вместо += не должно быть -=? Если сделать вот так, тогда будет экономнее печать, а не более расходной:
if (economyMode && page > 3) {
consumptionTotal -= consumptionPerPage * 0.5;
}
consumptionTotal — это общий расход тонера, то есть сколько мы всего потратили, и нет смысла вычитать из него что-то, потому что больше краски у нас не станет в любом случае. В данном выражении consumptionTotal += consumptionPerPage * 0.5 в общий расход тонера прибавляется уменьшенное в два раза количество, то есть consumptionPerPage * 0.5.
consumptionTotal += consumptionPerPage;
рассчитывает для каждой страницы общий расход тонера, прибавляя к каждой странице расход краски записанный в переменной.
if (economyMode && page > 3) {
consumptionTotal -= consumptionPerPage * 0.5;
}
это правило уменьшает на каждой странице после трёх в половину того что записано в переменною, в итоге получается результат, так что минус ещё как уместен.
В сообщении выше вы написали другое условие:
if (economyMode && page > 3) {
consumptionTotal -= consumptionPerPage * 0.5;
}
Мои пояснения касались именно его. Сейчас вы поменяли решение.
Я исправила, чуть не то написала, сейчас исправила.
Посмотрите на результат, он подсчитывает верно, можете попробовать и убедиться.
А вот это ещё больше убедит вас, что ещё как кстати,
если убрать это правило из общего подсчёта, то есть 70+70+70…
consumptionTotal += consumptionPerPage; вот оно именно так и подсчитывает, 70+70+70… и так 6 страниц.
Если мы уберём это правило, мы увидим что это правило начнёт вычитать половину расхода краски с 3 страницы и поэтому получается верный результат.
А это третье подтверждение, если мы его никуда не будем перемещать как в следующем примере, оставим только его
for (var page = 1; page <= totalPages; page++) {
keks.print(page);
consumptionTotal += consumptionPerPage;
console.log(consumptionTotal);
}
и убедимся, что именно оно считает 70+70+70…
для все 6 страниц так считает, так как находиться не внутри других правил, а именно в самом правиле
for (var page = 1; page <= totalPages; page++) {
keks.print(page);
Меня не нужно ни в чём убеждать
Именно эта строчка прибавляет к общему значению, тут никто и не сомневается.
Я написала комментарий выше к конкретной строчке кода, и он по-прежнему актуален:
«consumptionTotal — это общий расход тонера, то есть сколько мы всего потратили, и нет смысла вычитать из него что-то, потому что больше краски у нас не станет в любом случае. В данном выражении consumptionTotal += consumptionPerPage * 0.5 в общий расход тонера прибавляется уменьшенное в два раза количество, то есть consumptionPerPage * 0.5.»
Даже если режим экономный, то к общему значению израсходованного тонера нужно прибавлять количество краски, а не отнимать.
это правило уменьшает на каждой странице после трёх в половину того что записано в переменною, в итоге получается результат, так что минус ещё как уместен.
Нет, не уместен. Вы уменьшаете общее количество краски таким образом, а должны уменьшать только расход краски на одну страницу. То есть прибавлять в общее количество не consumptionPerPage, а consumptionPerPage * 0,5. Вот и экономия краски.