Проверьте правильность кода (принадлежность точки заштрихованной области) - C#
Формулировка задачи:
Дана точка на плоскости с координатами (х, у). Составить программу, которая выдает одно из сообщений "Точка с координатами (х, у) лежит внутри заштрихованной области", "Точка с координатами (х, у) лежит вне заштрихованной области", "Точка с координатами (х, у) лежит на границе":
Начало y=4 конец y=6
Вот мой код:
Console.WriteLine("Плоскость окружности"); double x, y; Console.WriteLine("Введите абциссу"); Console.Write("x= ");// Вводим х x = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Введите ординату"); Console.Write("y= ");//Вводим у y = Convert.ToDouble(Console.ReadLine()); if (y >= 2 && x * x + y * y > 16 && x * x + y * y < 36) // точка внутри заштрихованой области Console.WriteLine("Точка с координатами ({0}, {1}) лежит внутри заштрихованной области", x, y); else if (x * x + y * y == 16 || x * x + y * y == 36) // точка на границе заштрихованой области Console.WriteLine("Точка с координатами ({0}, {1}) лежит на границе", x, y); else Console.WriteLine("Точка с координатами ({0}, {1}) лежит вне заштрихованной области", x, y);//иначе точка лежит вне заштрихованой области Console.ReadKey();
Решение задачи: «Проверьте правильность кода (принадлежность точки заштрихованной области)»
textual
Листинг программы
using System; namespace Console1 { class Program { static int PositionPoint(decimal x, decimal y) { // -1 вне области, 0 - на границе, 1 - внутри. decimal rr = x * x + y * y; // Для облегчения глазам. return (y < 2 || rr < 16 || rr > 36) ? -1 : (y == 2 || rr == 16 || rr == 36) ? 0 : 1; } static string StatusPoint(int position) { string res; if (position < 0) res = "Вне."; else if (position > 0) res = "Внутри."; else res = "На границе."; return res; } static void Main() { //double lim = 6.0, delta = 0.2; decimal dcLim = 6.0m; decimal delta = 0.2m; Console.WriteLine("Проверка попадания/не попадания точки в область."); Console.WriteLine("x\ty\tresult\n----------------------------"); for (decimal x = -delta; x <= delta; x += delta) { for (decimal y = 0.0m; y <= dcLim + delta; y += delta) Console.WriteLine("{0:F2}\t{1:F2}\t{2}", x, y, StatusPoint(PositionPoint(x, y))); Console.WriteLine(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д