Вычисление значения функции по графику - C# (182855)

Узнай цену своей работы

Формулировка задачи:

Всем приветик!) Пожалуйста помогите вычислить значения функции... Во вложенном файле, график номер 2 Заранее спасибо)

Решение задачи: «Вычисление значения функции по графику»

textual
Листинг программы
  1. public double F(double x, double r)
  2. {
  3.     // Проверка на значение радиуса
  4.     if (r > 3 || r < 0)
  5.         throw new ArgumentOutOfRangeException("Radius must be between 0 and 3");
  6.  
  7.     // R2
  8.     double r2 = 3 - r;
  9.  
  10.     // Пределы функции
  11.     double lowerLimit = -r2 - 5;
  12.     double upperLimit = r + 2;
  13.  
  14.     // Проверка на принадлежность Х допустимому интервалу значений
  15.     if (x < lowerLimit || x > upperLimit)
  16.         throw new ArgumentOutOfRangeException(string.Format("Function is undefined for x belonging to [{0};{1}]", lowerLimit, upperLimit));
  17.  
  18.     // Пределы промежутков. Для удобства.
  19.     double lim1 = -2 - r2;
  20.     double lim2 = 1 - r;
  21.     double lim3 = 1 + r;
  22.  
  23.     // Точки, в которых У всегда равна нулю
  24.     if (x == lim1 || x == lim2 || x == lim3)
  25.         return 0;
  26.  
  27.     // Первый промежуток. Всегда единица
  28.     if (x >= lowerLimit && x <= lowerLimit + 1)
  29.         return 1;
  30.  
  31.     // Второй промежуток. Длина противолежащего катета равна длине прилежащего, помноженного на тангенс угла прилежащего катета и гипотенузы.
  32.     if (x > lowerLimit + 1 && x < lim1)
  33.         return (lim1 - x) * 0.5;
  34.  
  35.     // Второй и третий промежутки. По уравнению окружностей.
  36.     if (x > lim1 && x < lim2)
  37.         return Math.Sqrt(Math.Pow(r2, 2) - Math.Pow(x + 2, 2));
  38.  
  39.     if (x >= lim2 && x < lim3)
  40.         return -Math.Sqrt(Math.Pow(r, 2) - Math.Pow(x - 1, 2));
  41.  
  42.     // Последний промежуток.
  43.     return r + 1 - x;
  44. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы