А58б. Нахождение значения функции

Задача. Дано действительное число [latex]a[/latex]. Для функций [latex]f\left( x \right)[/latex], графики которых представлены на рис. 1,а-1,г, вычислить [latex]f\left( a \right) [/latex].

%d0%b058%d0%b1

Тесты.

[latex]a[/latex] [latex]y[/latex]
-1 1
0 0
2 4
-2 0.25
1.6 2.56
7 4

Код программы (C++).

Код программы (Java).

Решение.
На графике функции указано, чему равна [latex]f\left( x \right)[/latex] на каждом участке. В данной программе мы по очереди проверяем, какому из них принадлежит [latex]f\left( a \right)[/latex] и выбираем соответствующую формулу для расчёта [latex]y[/latex]. Поскольку участков всего три, достаточно проверить, принадлежит ли точка к двум из них. Ели нет, то она, очевидно, лежит на третьем.

Ссылка на код на ideone.com: здесь (C++) и здесь (Java).

2 thoughts on “А58б. Нахождение значения функции

  1. — Поправьте отступы после условного оператора. Лучше писать единственную команду в той же строке. что if, либо использовать фигурные скобки так, как вы делаете после else.
    — Поскольку у Вас три случая, то достаточно два вложенных условных оператора. Третий лишний 🙂
    — Для постоянных ссылок лучше не использовать символы кириллицы. Придумайте что-нибудь из латинских букв и цифр. Например транслитерируйте название задачи.

Добавить комментарий