using System;
namespace Lab2_Task2
{
class Program
{
static void Main(string[] args)
{
Console.Write("Введите значение аргумента x: ");
double x = Convert.ToDouble(Console.ReadLine());
Console.Write("Введите параметр R: ");
double r = Convert.ToDouble(Console.ReadLine());
double y = 0;
// Определяем интервал, в который попадает x
if (x <= -8)
{
y = -3;
}
else if (x > -8 && x <= -r)
{
// Прямая от (-8, -3) до (-r, 0)
y = (3.0 / (8.0 - r)) * (x + 8.0) - 3.0;
}
else if (x > -r && x <= r)
{
// Нижняя полуокружность с радиусом R
y = -Math.Sqrt(r * r - x * x);
}
else if (x > r && x <= 5)
{
// Прямая от (r, 0) до (5, 2)
y = (2.0 / (5.0 - r)) * (x - r);
}
else // x > 5
{
y = 3;
}
Console.WriteLine($"Результат: f({x}) = {y:F4}");
Console.ReadKey();
}
}
}