Advertisement
CR7CR7

testovaPrograma-t1

Jul 14th, 2023
845
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 12.81 KB | None | 0 0
  1. using System;
  2. using d1; // Импортираме пространството от имена на динамичната библиотека
  3.  
  4. namespace t1
  5. {
  6.     // Клас за представяне на тестовата програма
  7.     class Program
  8.     {
  9.         // Метод за стартиране на програмата
  10.         static void Main(string[] args)
  11.         {
  12.             // Тестваме функцията за сортиране на масив по метода на мехурчето
  13.             TestBubbleSort();
  14.  
  15.             // Тестваме функцията за намиране на факториел от дадено число рекурсивно
  16.             TestFactorial();
  17.  
  18.             // Тестваме функциите за работа със стек
  19.             TestStack();
  20.  
  21.             // Тестваме функциите за работа с опашка
  22.             TestQueue();
  23.  
  24.             // Тестваме функциите за работа със списък
  25.             TestList();
  26.  
  27.             // Тестваме функциите за работа с дърво
  28.             TestTree();
  29.  
  30.             // Тестваме функциите за работа с речник
  31.             TestDictionary();
  32.         }
  33.  
  34.         // Метод за тестване на функцията за сортиране на масив по метода на мехурчето
  35.         static void TestBubbleSort()
  36.         {
  37.             Console.WriteLine("Тестване на функцията за сортиране на масив по метода на мехурчето:");
  38.  
  39.             int[] array = { 5, 3, 7, 1, 9, 4, 2, 6, 8 }; // Създаваме масив с произволни числа
  40.  
  41.             Console.WriteLine("Масивът преди сортирането:");
  42.             PrintArray(array); // Извеждаме масивът преди сортирането
  43.  
  44.             Algorithm.BubbleSort(array); // Сортираме масивът по метода на мехурчето
  45.  
  46.             Console.WriteLine("Масивът след сортирането:");
  47.             PrintArray(array); // Извеждаме масивът след сортирането
  48.  
  49.             Console.WriteLine();
  50.         }
  51.  
  52.         // Метод за извеждане на елементите на масив
  53.         static void PrintArray(int[] array)
  54.         {
  55.             foreach (int element in array) // Обхождаме всички елементи на масива
  56.             {
  57.                 Console.Write(element + " "); // Извеждаме текущия елемент, разделен с интервал
  58.             }
  59.             Console.WriteLine(); // Превъртаме нов ред
  60.         }
  61.  
  62.         // Метод за тестване на функцията за намиране на факториел от дадено число рекурсивно
  63.         static void TestFactorial()
  64.         {
  65.             Console.WriteLine("Тестване на функцията за намиране на факториел от дадено число рекурсивно:");
  66.  
  67.             int n = 5; // Задаваме произволно число
  68.  
  69.             Console.WriteLine("Числото е: " + n); // Извеждаме числото
  70.  
  71.             int result = Algorithm.Factorial(n); // Намираме факториела от числото
  72.  
  73.             Console.WriteLine("Факториелът от числото е: " + result); // Извеждаме резултата
  74.  
  75.             Console.WriteLine();
  76.         }
  77.  
  78.         // Метод за тестване на функциите за работа със стек
  79.         static void TestStack()
  80.         {
  81.             Console.WriteLine("Тестване на функциите за работа със стек:");
  82.  
  83.             Stack<int> stack = new Stack<int>(10); // Създаваме нов стек с капацитет 10
  84.  
  85.             Console.WriteLine("Добавяме елементи в стека:");
  86.             for (int i = 1; i <= 5; i++) // Добавяме пет елемента в стека
  87.             {
  88.                 Console.WriteLine("Добавяме " + i);
  89.                 stack.Push(i);
  90.             }
  91.  
  92.             Console.WriteLine("Взимаме елемента на върха на стека без да го премахваме:");
  93.             Console.WriteLine("Елементът е: " + stack.Peek());
  94.  
  95.             Console.WriteLine("Премахваме елементи от стека:");
  96.             while (!stack.IsEmpty()) // Докато стекът не е празен
  97.             {
  98.                 Console.WriteLine("Премахваме " + stack.Pop()); // Премахваме елемент от стека и го извеждаме
  99.             }
  100.  
  101.             Console.WriteLine();
  102.         }
  103.  
  104.         // Метод за тестване на функциите за работа с опашка
  105.         static void TestQueue()
  106.         {
  107.             Console.WriteLine("Тестване на функциите за работа с опашка:");
  108.  
  109.             Queue<int> queue = new Queue<int>(10); // Създаваме нова опашка с капацитет 10
  110.  
  111.             Console.WriteLine("Добавяме елементи в опашката:");
  112.             for (int i = 1; i <= 5; i++) // Добавяме пет елемента в опашката
  113.             {
  114.                 Console.WriteLine("Добавяме " + i);
  115.                 queue.Enqueue(i);
  116.             }
  117.  
  118.             Console.WriteLine("Взимаме елемента в началото на опашката без да го премахваме:");
  119.             Console.WriteLine("Елементът е: " + queue.Peek());
  120.  
  121.             Console.WriteLine("Премахваме елементи от опашката:");
  122.             while (!queue.IsEmpty()) // Докато опашката не е празна
  123.             {
  124.                 Console.WriteLine("Премахваме " + queue.Dequeue()); // Премахваме елемент от опашката и го извеждаме
  125.             }
  126.  
  127.             Console.WriteLine();
  128.         }
  129.  
  130.         // Метод за тестване на функциите за работа със списък
  131.         static void TestList()
  132.         {
  133.             Console.WriteLine("Тестване на функциите за работа със списък:");
  134.  
  135.             List<int> list = new List<int>(); // Създаваме нов списък
  136.  
  137.             Console.WriteLine("Добавяме елементи в началото и в края на списъка:");
  138.             for (int i = 1; i <= 5; i++) // Добавяме пет елемента в началото и в края на списъка
  139.             {
  140.                 Console.WriteLine("Добавяме " + i + " в началото");
  141.                 list.AddFirst(i);
  142.  
  143.                 Console.WriteLine("Добавяме " + (i + 5) + " в края");
  144.                 list.AddLast(i + 5);
  145.             }
  146.  
  147.             Console.WriteLine("Взимаме елементите в началото и в края на списъка без да ги премахваме:");
  148.             Console.WriteLine("Елементът в началото е: " + list.GetFirst());
  149.             Console.WriteLine("Елементът в края е: " + list.GetLast());
  150.  
  151.             Console.WriteLine("Премахваме елементи от началото и от края на списъка:");
  152.             while (!list.IsEmpty()) // Докато списъкът не е празен
  153.             {
  154.                 Console.WriteLine("Премахваме " + list.RemoveFirst() + " от началото"); // Премахваме елемент от началото и го извеждаме
  155.                 if (!list.IsEmpty()) // Ако списъкът не е празен
  156.                 {
  157.                     Console.WriteLine("Премахваме " + list.RemoveLast() + " от края"); // Премахваме елемент от края и го извеждаме
  158.                 }
  159.             }
  160.  
  161.             Console.WriteLine();
  162.         }
  163.  
  164.         // Метод за тестване на функциите за работа с дърво
  165.         static void TestTree()
  166.         {
  167.             Console.WriteLine("Тестване на функциите за работа с дърво:");
  168.  
  169.             Tree<int> tree
  170. // Създаваме ново дърво
  171.             Tree<int> tree = new Tree<int>();
  172.  
  173.             Console.WriteLine("Добавяме корен на дървото:");
  174.             Console.WriteLine("Добавяме 1");
  175.             tree.AddRoot(1); // Добавяме корен със стойност 1
  176.  
  177.             Console.WriteLine("Добавяме деца към корена на дървото:");
  178.             Console.WriteLine("Добавяме 2");
  179.             tree.AddChild(tree.GetRoot(), 2); // Добавяме дете със стойност 2 към корена
  180.  
  181.             Console.WriteLine("Добавяме 3");
  182.             tree.AddChild(tree.GetRoot(), 3); // Добавяме дете със стойност 3 към корена
  183.  
  184.             Console.WriteLine("Добавяме 4");
  185.             tree.AddChild(tree.GetRoot(), 4); // Добавяме дете със стойност 4 към корена
  186.  
  187.             Console.WriteLine("Добавяме деца към първото дете на корена:");
  188.             Console.WriteLine("Добавяме 5");
  189.             tree.AddChild(tree.GetChild(tree.GetRoot(), 0), 5); // Добавяме дете със стойност 5 към първото дете на корена
  190.  
  191.             Console.WriteLine("Добавяме 6");
  192.             tree.AddChild(tree.GetChild(tree.GetRoot(), 0), 6); // Добавяме дете със стойност 6 към първото дете на корена
  193.  
  194.             Console.WriteLine("Взимаме второто дете на първото дете на корена без да го премахваме:");
  195.             Console.WriteLine("Елементът е: " + tree.GetChild(tree.GetChild(tree.GetRoot(), 0), 1).Value);
  196.  
  197.             Console.WriteLine("Премахваме второто дете на първото дете на корена:");
  198.             Console.WriteLine("Премахваме " + tree.RemoveChild(tree.GetChild(tree.GetRoot(), 0), 1));
  199.  
  200.             Console.WriteLine("Премахваме корена на дървото:");
  201.             Console.WriteLine("Премахваме " + tree.RemoveRoot());
  202.  
  203.             Console.WriteLine();
  204.         }
  205.  
  206.         // Метод за тестване на функциите за работа с речник
  207.         static void TestDictionary()
  208.         {
  209.             Console.WriteLine("Тестване на функциите за работа с речник:");
  210.  
  211.             Dictionary<string, int> dictionary = new Dictionary<string, int>(10); // Създаваме нов речник с капацитет 10
  212.  
  213.             Console.WriteLine("Добавяме двойки ключ-стойност в речника:");
  214.             dictionary.Add("one", 1); // Добавяме двойка с ключ "one" и стойност 1
  215.             dictionary.Add("two", 2); // Добавяме двойка с ключ "two" и стойност 2
  216.             dictionary.Add("three", 3); // Добавяме двойка с ключ "three" и стойност 3
  217.             dictionary.Add("four", 4); // Добавяме двойка с ключ "four" и стойност 4
  218.             dictionary.Add("five", 5); // Добавяме двойка с ключ "five" и стойност 5
  219.  
  220.             Console.WriteLine("Взимаме стойностите по зададени ключове от речника без да ги премахваме:");
  221.             Console.WriteLine("Стойността за ключа \"one\" е: " + dictionary.Get("one"));
  222.             Console.WriteLine("Стойността за ключа \"three\" е: " + dictionary.Get("three"));
  223.             Console.WriteLine("Стойността за ключа \"five\" е: " + dictionary.Get("five"));
  224.  
  225.             Console.WriteLine("Премахваме двойки ключ-стойност от речника по зададени ключове:");
  226.             Console.WriteLine("Премахваме двойката с ключ \"two\" и стойност " + dictionary.Remove("two"));
  227.             Console.WriteLine("Премахваме двойката с ключ \"four\" и стойност " + dictionary.Remove("four"));
  228.  
  229.             Console.WriteLine();
  230.         }
  231.     }
  232. }
  233.  
  234.  
  235.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement