示例#1
0
        /// <summary>
        /// Subroutine to demonstrate Task5
        /// *Задание 5
        /// Вычислить, используя рекурсию, функцию Аккермана:
        /// A(2, 5), A(1, 2)
        /// A(n, m) = m + 1, если n = 0,
        ///         = A(n - 1, 1), если n <> 0, m = 0,
        ///         = A(n - 1, A(n, m - 1)), если n> 0, m > 0.
        /// </summary>
        internal static void Task5()
        {
            Console.WriteLine("\n. Задание 5. Вычислить, используя рекурсию, функцию Аккермана: A(2, 5), A(1, 2)");
            Console.WriteLine($"\nAckermann Function for m = 2 and n = 5 equals: {Progressions.AckermannFunction(2, 5)}");
            Console.WriteLine($"\nAckermann Function for m = 1 and n = 2 equals: {Progressions.AckermannFunction(1, 2)}");

            Console.WriteLine("\nPress any key to continue.");
            Console.ReadKey();
        }
示例#2
0
        /// <summary>
        /// Subroutine to demonstrate Task4
        /// Задание 4. Написание метода, определяющего, является ли последовательность чисел прогрессией
        /// Создан метод, который принимает массив чисел как параметр.
        /// Метод определяет, являются ли числа в массиве арифметической или геометрической прогрессией или массив не содержит прогрессии.
        /// Метод возвращает результат в виде строки или перечисления.
        /// </summary>
        internal static void Task4()
        {
            Console.WriteLine("\n4. Задание 4. Написание метода, определяющего, является ли последовательность чисел прогрессией" +
                              "\nСоздан метод, который принимает массив чисел как параметр." +
                              "\nМетод определяет, являются ли числа в массиве арифметической или геометрической прогрессией или массив не содержит прогрессии." +
                              "\nМетод возвращает результат в виде строки или перечисления.");

            ushort numberOfElements        = 6;
            double differenceOrCommonRatio = -3.5d;
            double first = -5d;

            double[] arithmetic = Progressions.GenerateArithmeticProgression(first, differenceOrCommonRatio, numberOfElements);
            double[] geometric  = Progressions.GenerateGeometricProgression(first, differenceOrCommonRatio, numberOfElements);

            double[] oneElementZero       = { 0 };
            double[] oneElementNotZero    = { 5.5 };
            double[] twoElementsZero      = { 0, 0 };
            double[] twoElementNotZero    = { 5.5, 5.5 };
            double[] threeElementsNonZero = { 0, 1, 2 };
            double[] fourElementsNotZero  = { -1, 3, -9, 27 };
            double[] fiveRandomElements   = { -1, 68, 32.784, 23423, -2521.2352 };


            Progressions.PrintProgression(arithmetic, $"\nThe first {numberOfElements} elements of Arithmetic Progression with a1 = {first} and difference = {differenceOrCommonRatio}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(arithmetic) }");

            Progressions.PrintProgression(geometric, $"\nThe first {numberOfElements} elements of Geometric Progression with a1 = {first} and common ratio = {differenceOrCommonRatio}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(geometric) }");

            Progressions.PrintProgression(oneElementZero, $"\nThe first {oneElementZero.Length} element(s) of a sequence with a1 = {oneElementZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(oneElementZero) }");

            Progressions.PrintProgression(oneElementNotZero, $"\nThe first {oneElementNotZero.Length} element(s) of a sequence with a1 = {oneElementNotZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(oneElementNotZero) }");

            Progressions.PrintProgression(twoElementsZero, $"\nThe first {twoElementsZero.Length} element(s) of a sequence with a1 = {twoElementsZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(twoElementsZero) }");

            Progressions.PrintProgression(twoElementNotZero, $"\nThe first {twoElementNotZero.Length} element(s) of a sequence with a1 = {twoElementNotZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(twoElementNotZero) }");

            Progressions.PrintProgression(threeElementsNonZero, $"\nThe first {threeElementsNonZero.Length} element(s) of a sequence with a1 = {threeElementsNonZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(threeElementsNonZero) }");

            Progressions.PrintProgression(fourElementsNotZero, $"\nThe first {fourElementsNotZero.Length} element(s) of a sequence with a1 = {fourElementsNotZero[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(fourElementsNotZero) }");

            Progressions.PrintProgression(fiveRandomElements, $"\nThe first {fiveRandomElements.Length} element(s) of a sequence with a1 = {fiveRandomElements[0]}");
            Console.WriteLine($"\nThis progression is { (Progressions.Sequence)Progressions.IsProgression(fiveRandomElements) }");

            Console.WriteLine("\nPress any key to continue.");
            Console.ReadKey();
        }