A task: two-tariff electricity meter

A task: составить программу для расчета стоимости электроэнергии по показаниям двухтарифного электросчетчика. There is a two-tariff electricity meter. Readings are taken at the end of the month. Data for calculating – разница между показаниями за предыдущий месяц и за текущий (day and night tariff.) Initial data:

  • daily rate (with 7-00 am to 23-00);
  • night charge (with 23-00 to 7-00 morning );
  • The first tariff zone – to 100 kWh time: 0.456 UAH
  • The second tariff zone – from 100 to 600 kWh time: 0.789 UAH
  • A third tariff zone – over 600 kWh time: 1.479 UAH
  • night charge – 50% от стоимости каждой дневной тарифной зоны

Newsletter of programming:

A task: two-tariff electricity meter
5 (100%) 3 votes

10 thoughts on “A task: two-tariff electricity meter

  1. good afternoon. Хочу показать вам мой вариант решения. I think, он несколько попроще, предложенного выше.

    1. И еще вопрос к создателю задачи: зачем в условии указано время когда считаются дневные, а когда ночные кВт*ч. Думала, куда это можно всунуть, в for что ли чтобы от начального значения до конечного считать сутки и делить показания на день и ночь. Но решила не мудрить. И в итоге в вашем решении не увидела применения этих данных. Так вот и вопрос – what for? Probably, чтобы порадовать мозг новой информацией и заставить немного задуматься о сути данных :)

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

  3. Невнимательный, sorry, то что выше можно удалить )
    Плюшки вроде текста с информацией и цикл while для повтора, можно допилить самостоятельно, decision:

  4. Эммчет как-то кривовато работает ваш тег предформатированного текста

  5. Режет половину текста… (
    Если прокатит, то вот сама функция подсчета:
    double summ(double value)
    {
    double result = 0;
    double do100 = 0.456;
    double do600 = 0.789;
    double ot600 = 1.479;

    if (value > 600)
    {
    result += ((value – 599) * ot600);
    value = value – (value – 599);
    }
    if (value > 100)
    {
    result += ((value – 99) * do600);
    value = value – (value – 99);
    }
    result += (value * do100);

    return result;
    }

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

    1. Do not write your comments in the code!
      He does not want here, комментарии делались вовсе не для этого.

      1. А зачем нужны комментарии? Разве не для того, чтобы делиться своими решениями?
        И для тех, кто не заметил: неверно написано решение примера с точки зрения здоровой математики. Зачем суммировать дневной и ночной тарифы в кВт? Правильно посчитать кол-во дневных * на тариф этой зоны + кол-во ночных*на тариф соответствующей зоны.
        В условии же сказаноНочной тариф – 50% от стоимости КАЖДОЙ дневной тарифной зоны”.

      2. Поля комментариев – for, чтобы иметь возможность спросить что-то по тонким вопросам синтаксиса, по составу библиотек, использованию конструкций, плюсах и минусах тех или иных конструкций … and many. мн. ещё о чём относительно языка C++.

        But, во-первых, движок сайта does not allow нормально вписать сюда код (он его искажает!).

        А во-вторых (и это главное!), кому интересны здесь пЫанЭрские изыски начинающих? И на что они рассчитывают? – что кто-то будет оценивать и давать рецензию этим попыткам?

Leave a Reply to Kate Cancel reply

Your email address will not be published. Required fields are marked *