示例#1
0
        public static void RunTask2()
        {
            Console.WriteLine("Поиск площади треугольника");
            Console.WriteLine("Выберите вид треугольника:\n" +
                              "1. Произвольный треугольник\n" +
                              "2. Равносторонний\n" +
                              "3. Прямоугольный треугольник");
            switch (Console.ReadLine())
            {
            case "1":
            {
                Console.WriteLine("Найти через:\n" +
                                  "1. Сторону и высоту проведенную к ней\n" +
                                  "2. Через две стороны и угол между ними\n" +
                                  "3. Через 3 стороны\n" +
                                  "4. Через полупериметр и радиус вписанной окружности\n" +
                                  "5. Через произведение сторон и радиус описанной окружности");
                switch (Console.ReadLine())
                {
                case "1":
                {
                    double a = HelperClass.Input <double>("Сторона: ", (x) => x > 0);
                    double h = HelperClass.Input <double>("Высота: ", (x) => x > 0);
                    Console.WriteLine("S = " + 0.5 * a * h);
                    HelperClass.PressAnyKey();
                    break;
                }

                case "2":
                {
                    double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0);
                    double y = HelperClass.Input <double>("Угол между сторонами 1 и 2: ", (x) => x > 0);
                    Console.WriteLine("S = " + 0.5 * a * b * Math.Sin(y * Math.PI / 180));
                    HelperClass.PressAnyKey();
                    break;
                }

                case "3":
                {
                    double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0);
                    double c = HelperClass.Input <double>("Сторона 3: ", (x) => x > 0);
                    double p = (a + b + c) / 2;
                    Console.WriteLine("S = " + Math.Sqrt(p * (p - a) * (p - b) * (p - c)));
                    HelperClass.PressAnyKey();
                    break;
                }

                case "4":
                {
                    double p = HelperClass.Input <double>("Полупериметр: ", (x) => x > 0);
                    double r = HelperClass.Input <double>("Радиус вписанной окружности: ", (x) => x > 0);
                    Console.WriteLine("S = " + p * r);
                    HelperClass.PressAnyKey();
                    break;
                }

                case "5":
                {
                    double a = HelperClass.Input <double>("Сторона 1: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Сторона 2: ", (x) => x > 0);
                    double c = HelperClass.Input <double>("Сторона 3: ", (x) => x > 0);
                    double r = HelperClass.Input <double>("Радиус описанной окружности: ", (x) => x > 0);
                    Console.WriteLine("S = " + (a * b * c) / (4 * r));
                    HelperClass.PressAnyKey();
                    break;
                }

                default: break;
                }
                break;
            }

            case "2":
            {
                Console.WriteLine("Найти через:\n" +
                                  "1. Сторону\n" +
                                  "2. Радиус вписанной окружности\n" +
                                  "3. Радиус описанной окружности");
                switch (Console.ReadLine())
                {
                case "1":
                {
                    double a = HelperClass.Input <double>("Сторона: ", (x) => x > 0);
                    Console.WriteLine("S = " + (Math.Sqrt(3) * Math.Pow(a, 2)) / 4);
                    HelperClass.PressAnyKey();
                    break;
                }

                case "2":
                {
                    double r = HelperClass.Input <double>("Радиус вписанной окружности: ", (x) => x > 0);
                    Console.WriteLine("S = " + 3 * Math.Sqrt(3) * Math.Pow(r, 2));
                    HelperClass.PressAnyKey();
                    break;
                }

                case "3":
                {
                    double r = HelperClass.Input <double>("Радиус описанной окружности: ", (x) => x > 0);
                    Console.WriteLine("S = " + 3 * Math.Sqrt(3) * Math.Pow(r, 2) / 4
                                      );
                    HelperClass.PressAnyKey();
                    break;
                }
                }
                break;
            }

            case "3":
            {
                Console.WriteLine("Найти через:\n" +
                                  "1. Катеты\n" +
                                  "2. Катет и острый угол\n" +
                                  "3. Гипотенузу и любой из острых углов");
                switch (Console.ReadLine())
                {
                case "1":
                {
                    double a = HelperClass.Input <double>("Катет 1: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Катет 2: ", (x) => x > 0);
                    Console.WriteLine("S = " + 0.5 * a * b);
                    HelperClass.PressAnyKey();
                    break;
                }

                case "2":
                {
                    double a = HelperClass.Input <double>("Катет: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Острый угол: ", (x) => x > 0);
                    Console.WriteLine("S = " + 0.5 * Math.Pow(a, 2) * Math.Tan(b * Math.PI / 180));
                    HelperClass.PressAnyKey();
                    break;
                }

                case "3":
                {
                    double a = HelperClass.Input <double>("Гипотенуза: ", (x) => x > 0);
                    double b = HelperClass.Input <double>("Острый угол: ", (x) => x > 0);
                    Console.WriteLine("S = " + 0.25 * a * Math.Sin(2 * b * Math.PI / 180));
                    HelperClass.PressAnyKey();
                    break;
                }
                }
                break;
            }
            }
        }
示例#2
0
 public static void RunTask()
 {
     PrintType(new MyClass().GetType());
     PrintType(new ChildMyClass().GetType());
     HelperClass.PressAnyKey();
 }
示例#3
0
        public static void RunTask2()
        {
            var array = new MyArray <int>(HelperClass.Input <int>("Кол-во массивов в массиве: ", (x) => x > 0));

            for (int i = 0; i < array.GetSize(); i++)
            {
                array.AddArray(HelperClass.Input <int>("Кол-во элементов в" + (i + 1) + " массиве: ", (x) => x > 0));
            }

            Console.WriteLine("Список команд:\n" +
                              "get i j - вывести значение array[i][j]\n" +
                              "set i j value - array[i][j] = value\n" +
                              "exit - выход");

            string pattern = "( )";

            while (true)
            {
                Console.Write(">");
                string[] substr = Regex.Split(Console.ReadLine(), pattern);
                switch (substr[0])
                {
                case "get":
                {
                    try
                    {
                        Console.WriteLine(array.Get(Convert.ToInt32(substr[2]), Convert.ToInt32(substr[4])));
                        continue;
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine(e.Message);
                        continue;
                    }
                }

                case "set":
                {
                    try
                    {
                        array.SetValue(Convert.ToInt32(substr[2]), Convert.ToInt32(substr[4]), Convert.ToInt32(substr[6]));
                        continue;
                    }
                    catch (Exception e) {
                        Console.WriteLine(e.Message);
                        continue;
                    }
                }

                case "exit":
                {
                    break;
                }

                default:
                {
                    Console.WriteLine("Ошибка. Комманды " + substr[0] + " не существует.");
                    continue;
                }
                }
                break;
            }

            HelperClass.PressAnyKey();
        }