Определить номер N области, в которой находиться точка M(x,y) с заданными координатами - C#
Формулировка задачи:
Определить номер N области, в которой находиться точка M(x,y) с заданными координатами. Границы области относить к области с наибольшим номером.
Решение задачи: «Определить номер N области, в которой находиться точка M(x,y) с заданными координатами»
textual
Листинг программы
- using System;
- using Microsoft.VisualStudio.TestTools.UnitTesting;
- namespace UnitTestProject1
- {
- [TestClass]
- public class UnitTest1
- {
- private const int radius = 4;
- public class Point
- {
- public int X { get; set; }
- public int Y { get; set; }
- }
- public int GetArea(Point point)
- {
- if (point.X < 0 && point.Y > 0)
- {
- return 3;
- }
- if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
- && ((point.X >= 0 && point.Y >= 0) || (point.X <= 0 && point.Y <= 0)))
- {
- return 1;
- }
- if (Math.Pow(point.X, 2) + Math.Pow(point.Y, 2) <= Math.Pow(radius, 2)
- && point.X >= 0 && point.Y <= 0)
- {
- return 2;
- }
- return 3;
- }
- [TestMethod]
- public void Test()
- {
- Point point = new Point {X = 1, Y = 1};
- var result = GetArea(point);
- Assert.AreEqual(1, result);
- point = new Point {X = 0, Y = 0};
- result = GetArea(point);
- Assert.AreEqual(1, result);
- point = new Point { X = -1, Y = -1 };
- result = GetArea(point);
- Assert.AreEqual(1, result);
- point = new Point { X = -1, Y = 1 };
- result = GetArea(point);
- Assert.AreEqual(3, result);
- point = new Point { X = 1, Y = -1 };
- result = GetArea(point);
- Assert.AreEqual(2, result);
- point = new Point { X = 5, Y = 5 };
- result = GetArea(point);
- Assert.AreEqual(3, result);
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д