Проверьте правильность кода (принадлежность точки заштрихованной области) - 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();
            }
        }
    }
}

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


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

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

12   голосов , оценка 4.083 из 5
Похожие ответы