Задача: двохтарифний електролічильник

Задача: скласти програму для розрахунку вартості електроенергії за показаннями двотарифного електролічильника. Є двохтарифний електролічильник. Показання знімаються в кінці місяця. Дані для розрахунку – різниця між показаннями за попередній місяць і за поточний (денного і нічного тарифу.) Початкові дані:

  • денний тариф (з 7-00 ранку до 23-00);
  • Нічний тариф (з 23-00 до 7-00 ранку );
  • Перша тарифна зона – до 100 кВт*час: 0.456 грн
  • Друга тарифна зона – от 100 до 600 кВт*час: 0.789 грн
  • Третя тарифна зона – понад 600 кВт*час: 1.479 грн
  • Нічний тариф – 50% від вартості кожної денний тарифної зони

Нові уроки з програмування:

Задача: двохтарифний електролічильник
5 (100%) 3 голосів

10 думки про "Задача: двохтарифний електролічильник

  1. Доброго дня. Хочу показати вам мій варіант рішення. Мені здається, він кілька простіше, запропонованого вище.

    1. І ще питання до творця завдання: навіщо в умови вказано час коли вважаються денні, а коли нічні кВт * год. думала, куди це можна всунути, в for чи щоб від початкового значення до кінцевого вважати добу і ділити свідчення на день і ніч. Але вирішила не мудрувати. І в підсумку в вашому рішенні не побачила застосування цих даних. Так ось і питання – навіщо? Мабуть, щоб порадувати мозок новою інформацією та змусити трохи задуматися про суть даних :)

  2. Спасибо большое за завдання.
    мені здається що моя програма трохи легше, але ніби як вважає також, якщо я не права, поправте будь ласка.

  3. Nevnimatelynиy, перепрошую, то що вище можна видалити )
    Плюшки на кшталт тексту з інформацією і цикл while для повтору, можна допив самостійно, Рішення:

  4. Ріже половину тексту… (
    якщо прокотить, то ось сама функція підрахунку:
    double summ(подвійне значення)
    {
    подвійний результат = 0;
    подвійна do100 = 0.456;
    подвійна do600 = 0.789;
    подвійний ot600 = 1.479;

    if (значення > 600)
    {
    Результат + = ((значення – 599) * ot600);
    = значення – (значення – 599);
    }
    if (значення > 100)
    {
    Результат + = ((значення – 99) * do600);
    = значення – (значення – 99);
    }
    Результат + = (значення * до 100);

    return result;
    }

    нічний і денний тариф вважаються, однаково, при виведенні ділимо нічний на 2 і підсумовуємо результати…

    1. Не пишіть в коментарі свій код!
      Він нікому тут не потрібний, коментарі робилися зовсім не для цього.

      1. А навіщо потрібні коментарі? Хіба не для того, щоб ділитися своїми рішеннями?
        І для тих, хто не помітив: невірно написано рішення прикладу з точки зору здорової математики. Навіщо підсумувати денний і нічний тарифи в кВт? Правильно порахувати кількість денних * на тариф цієї зони + кол-во нічних * на тариф відповідної зони.
        В умови ж сказано “Нічний тариф - 50% від вартості КОЖНІЙ денний тарифної зони”.

      2. поля коментарів – для того, щоб мати можливість запитати щось по тонким питань синтаксису, за складом бібліотек, використання конструкцій, плюси і мінуси тих чи інших конструкцій … і багато. MH. ще про що щодо мови C ++.

        Але, по перше, движок сайту не дозволяє нормально вписати сюди код (він його спотворює!).

        А по-друге (і це головне!), кому цікаві тут пИполюванняЕрскіе вишукування початківців? І на що вони розраховують? – що хтось буде оцінювати і давати рецензію цим спробам?

Залишити коментар до Катерина Скасувати відповідь

Ваша електронна адреса не буде опублікований. Обов'язкові поля позначені * *