Помогите решить лабу по информатике. Поблема состоит в том, что программа всё время выдаёт одинаковые результаты, никаким образом не реагируя на переменную a. Вот условие:
Так она и не зависит от а. Посмотри внимательно на условие - результат (у) зависит от вводимой переменной а только в одной точке (х=1.3) Кстати, не используй для вычисления куба эту конструкцию. Пиши х*х*х - в данном случае это уместнее. Функция возведения в степень - очень емкая, её оптимизация - классическая задача. А решение через экспонента(логарифма()) - самый неэффективный по скорости алгоритм.
Я с тобой полностью согласен, но если я подставляю разные значения a, то одно значение y должно измениться, а оно не меняется!!! В чём причина?? Привожу скриншот:
ZoRG Все правильно получается у тебя. Просто х НИКОГДА (ну или почти никогда ) на будет равен 1.3 Это типичное заблуждение начинающих программистов думать, что 1.2 + 0.1 = 1.3. Так не бывает. Вещественные числа нельзя проверять на равно. Они не будут равны в общем случае, из за неточностей представления чисел с плавающей запятой. ты думаешь, что 1.2 + 0.1 = 1.3, а на самом деле может быть так: 1.2 + 0.1 = 1.3000000000000000000000000000000000000000000000000001 При вычислениях этого не заметно, но проверка на равенство не сработает. В данном случае не совсем корректно задание. Но эту проверку можно обойти.