profile
Размещено 6 лет назад по предмету Информатика от Travka24

Помогите решить, пожалуйста.
Дана точка на плоскости с координатами (x,y). Составить программу, которая выдаёт одно из сообщений "Да","Нет","На границе" в зависимости от того, лежит ли точка внутри заштрихованной области, вне заштрихованной области или на её границе. Области задаются графичиски следующим образом.
За ранее спасибо. (C#)

  1. Ответ на вопрос
    Ответ на вопрос дан Aillianna

    using System;


    using System.Collections.Generic;


    using System.Linq;



    internal class Program {


       private static readonly Func<double, double, List<double>>[] Fs_ = {


           (x, y) => new List<double> //1


           {


               -(x * x + y * y - 9 * 9),


               x


           },


           (x, y) => new List<double> //2


           {


               -(x * x + y * y - 7 * 7),


               x * x + y * y - 3 * 3


           },


           (x, y) => new List<double> //3


           {


               x * x + y * y - 5 * 5,


               -(x * x + y * y - 10 * 10),


               y


           },


           (x, y) => //4 - костыль  

           {


               var values = new List<double> {


                   -(x * x + y * y - 15 * 15),


                   x * x + y * y - 25 * 25


               };



               if (values.Any(v => Math.Abs(v) < 0.01))


                   return new List<double> {0};


               return values.Any(v => v > 0) ? new List<double> {1} : new List<double> {-1};


           },


           (x, y) => new List<double> //5


           {


               -(x * x + y * y - 15 * 15),


               -(Math.Abs(x) - y)


           },


           (x, y) => new List<double> //6


           {


               -(Math.Abs(x) - y),


               -(y - 12)


           },


           (x, y) => new List<double> //7


           {


               -(x - 70),


               x - y,


               y


           },


           (x, y) => new List<double> //8


           {


               -Math.Abs(x) - y,


               -(-y - 100)


           },


           (x, y) => new List<double> //9


           {


               -(x * x + y * y - 10 * 10),


               -(-x - y)


           },


       };



       private static void Main() {


           do {


               Console.Write("x = ");


               var x = double.Parse(Console.ReadLine() ?? throw new InvalidOperationException());


               Console.Write("y = ");


               var y = double.Parse(Console.ReadLine() ?? throw new InvalidOperationException());



               for (var i = 0; i < Fs_.Length; i++)


                   Console.WriteLine($"F({i + 1}) => {ContainsPoint(x, y, Fs_[i])}");


           } while (true);



           Console.ReadKey();


       }



       private static string ContainsPoint(double x, double y, Func<double, double, List<double>> f) {


           var values = f(x, y);



           if (values.Any(v => v < 0))


               return "Нет";


           return values.Any(v => Math.Abs(v) < 0.01) ? "На границе" : "Да"; // Math.Abs(v) < 0.01 сравнение с 0  

       }


    }


Не тот ответ на вопрос, который вам нужен?
Найди верный ответ
Самые новые вопросы
tegysigalpa2012
Русский язык - 6 лет назад

Помогите решить тест по русскому языку тест по русскому языку «местоимение. разряды местоимений» для 6 класса 1. укажите личное местоимение: 1) некто 2) вас 3) ни с кем 4) собой 2. укажите относительное местоимение: 1) кто-либо 2) некоторый 3) кто 4) нам 3. укажите вопросительное местоимение: 1) кем-нибудь 2) кем 3) себе 4) никакой 4. укажите определительное местоимение: 1) наш 2) который 3) некий 4) каждый 5. укажите возвратное местоимение: 1) свой 2) чей 3) сам 4) себя 6. найдите указательное местоимение: 1) твой 2) какой 3) тот 4) их 7. найдите притяжательное местоимение: 1) самый 2) моего 3) иной 4) ничей 8. укажите неопределённое местоимение: 1) весь 2) какой-нибудь 3) любой 4) этот 9. укажите вопросительное местоимение: 1) сколько 2) кое-что 3) она 4) нами 10. в каком варианте ответа выделенное слово является притяжательным местоимением? 1) увидел их 2) её нет дома 3) её тетрадь 4) их не спросили

Информация

Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.