C#

Составить программу на С#

Составить программу, определяющую принадлежит ли точка с координатами (x; y) заштрихованной части плоскости. Координаты точки необходимо ввести с клавиатуры ( (для некоторых заданий кроме координат точки нужно задать радиус окружности r)
Ответы
Да пожалуйста, мне не жалко:
 namespace ConsoleApp1 
{ 
    class Point 
    { 
        private double x; 
        private double y; 
        public double X { get => x; } 
        public double Y { get => y; } 
        public Point(double _x, double _y) 
        { 
            x = _x; 
            y = _y; 
        } 
    } 
    class Line 
    { 
        private double k; 
        private double b; 
        public double K { get => k; } 
        public double B { get => b; } 
        public Line(Point p1, Point p2)  
        { 
            k = (p2.Y - p1.Y) / (p2.X - p1.X); 
            b = p1.Y - k * p1.X; 
        } 
        public bool Above(Point pt) 
        { 
            double y = k * pt.X + b; 
            return y <= pt.Y; 
        } 
        public bool Below(Point pt) 
        { 
            double y = k * pt.X + b; 
            return y >= pt.Y; 
        } 
    } 
    class Circle 
    { 
        private Point center; 
        private double r; 
        public Point Center { get => center; }   
        public double R { get => r; } 
        public Circle(Point _Center, double _r) 
        { 
            center = _Center; 
            r = _r; 
        } 
        public bool InCircle(Point _pt) => (Center.X - _pt.X) * (Center.X - _pt.X) + (Center.Y - _pt.Y) * (Center.Y - _pt.Y) <= r * r; 
    } 
    internal class Program 
    {                 
        static void Main(string[] args) 
        { 
            double x = double.Parse(Console.ReadLine()); 
            double y = double.Parse(Console.ReadLine()); 
            Circle c = new Circle(new Point(0, 0), 6); 
            Line l1 = new Line(new Point(0, 3), new Point(3, 0));             
            Point pt = new Point(x, y); 
            Console.WriteLine(c.InCircle(pt) && l1.Above(pt) && x >= 0 && y >= 0); 
            Console.ReadLine(); 
        } 
    } 
}