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

0 голосов
220 просмотров

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


image

Информатика (26 баллов) | 220 просмотров
Дан 1 ответ
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)

var
  x:double;

begin
  Write('Введите значение х: '); Readln(x);
  if x<=-4 then Writeln('y=',-3)<br>  else if x<=-3 then Writeln('y=',2*x+8)<br>  else if x<=3 then Writeln('y=',sqrt(9-sqr(x)))<br>  else if x<=8 then Writeln('y=',0.6*(x-3))<br>  else Writeln('y=',3)
end.

Тестовое решение:
Введите значение х: 2
y=2.23606797749979


(142k баллов)
0

В тексте программы опечатка. Должно быть else if x<=-3 then Writeln('y=',2*x+8)