Написать программу, которая по введенному значению аргумента вычисляет значение функции, заданной в виде графика.
Приложения:

Ответы на вопрос
Ответил Аноним
0
В таких задачах главное - это правильно составить функцию, а программная реализация проста.
Функция кусочная, состоит из пяти интервалов. Как видно из рисунка, она определена для любого х, поэтому условимся, что левые границы интервалов будут открытыми, а правые, за исключением последнего интервала, закрытыми.
![1. y=-3; x in (-infty;-4] \ 2. frac{y-y_1}{y_2-y_1}= frac{x-x_1}{x_2-x_1}; \ frac{y-(-2)}{0-(-2)}= frac{x-(-4)}{-3-(-4)}; frac{y+2}{2}=x+4 to y=2x+8; x in (-4;-3] \ 3. x^2+y^2=9 to y= sqrt{9-x^2}; x in (-3;3] \ 4. frac{y-0}{3-0}= frac{x-3}{8-3}; frac{y}{3}= frac{x-3}{5} to y=0.6(x-3); x in (3;8] \ 5. y=3; x in (8; +infty) 1. y=-3; x in (-infty;-4] \ 2. frac{y-y_1}{y_2-y_1}= frac{x-x_1}{x_2-x_1}; \ frac{y-(-2)}{0-(-2)}= frac{x-(-4)}{-3-(-4)}; frac{y+2}{2}=x+4 to y=2x+8; x in (-4;-3] \ 3. x^2+y^2=9 to y= sqrt{9-x^2}; x in (-3;3] \ 4. frac{y-0}{3-0}= frac{x-3}{8-3}; frac{y}{3}= frac{x-3}{5} to y=0.6(x-3); x in (3;8] \ 5. y=3; x in (8; +infty)](https://tex.z-dn.net/?f=1.+y%3D-3%3B++x+in+%28-infty%3B-4%5D+%5C+2.++frac%7By-y_1%7D%7By_2-y_1%7D%3D+frac%7Bx-x_1%7D%7Bx_2-x_1%7D%3B+%5C+frac%7By-%28-2%29%7D%7B0-%28-2%29%7D%3D+frac%7Bx-%28-4%29%7D%7B-3-%28-4%29%7D%3B+frac%7By%2B2%7D%7B2%7D%3Dx%2B4+to+y%3D2x%2B8%3B++x+in+%28-4%3B-3%5D+%5C+3.++x%5E2%2By%5E2%3D9+to+y%3D+sqrt%7B9-x%5E2%7D%3B++x+in+%28-3%3B3%5D+%5C+4.+++frac%7By-0%7D%7B3-0%7D%3D+frac%7Bx-3%7D%7B8-3%7D%3B++frac%7By%7D%7B3%7D%3D+frac%7Bx-3%7D%7B5%7D+to+y%3D0.6%28x-3%29%3B++x+in+%283%3B8%5D+%5C+5.++y%3D3%3B++x+in+%288%3B+%2Binfty%29+)
var
x:double;
begin
Write('Введите значение х: '); Readln(x);
if x<=-4 then Writeln('y=',-3)
else if x<=-3 then Writeln('y=',2*x+8)
else if x<=3 then Writeln('y=',sqrt(9-sqr(x)))
else if x<=8 then Writeln('y=',0.6*(x-3))
else Writeln('y=',3)
end.
Тестовое решение:
Введите значение х: 2
y=2.23606797749979
Функция кусочная, состоит из пяти интервалов. Как видно из рисунка, она определена для любого х, поэтому условимся, что левые границы интервалов будут открытыми, а правые, за исключением последнего интервала, закрытыми.
var
x:double;
begin
Write('Введите значение х: '); Readln(x);
if x<=-4 then Writeln('y=',-3)
else if x<=-3 then Writeln('y=',2*x+8)
else if x<=3 then Writeln('y=',sqrt(9-sqr(x)))
else if x<=8 then Writeln('y=',0.6*(x-3))
else Writeln('y=',3)
end.
Тестовое решение:
Введите значение х: 2
y=2.23606797749979
Новые вопросы