Заключение по результатам тестирования



Из все выше перечисленного можно сделать вывод о том, что программа работает.

ЗАДАНИЕ 24.2.

Постановка задачи

Задана два одномерных массива с различным количеством элементов и натуральное число k. Объединить их в один массив, включив второй массив между k-м и (k+1)-м элементам первого, не используя дополнительный массив.

Метод решения

Решим задачу введением цикла с условием и последующие распределение элементов в третий массив.

Структуры данных и алгоритмы

Таблица 4

Имя Описание Статус Тип
m Переменная Входной Вещественный
m Переменная Входной Вещественный
k Переменная Входной Вещественный

 

Схема алгоритма

Начало
int[] B = new int[b];
Random gen = new Random();
1
1
int i = 0; i < a; i++
int i = 0; i < b; i++
int i = 0; i < a; i++
int i = 0; i < b; i++
int i = 0; i < k; i++
int i = 0; i < b; i++
A[i] = gen.Next(10)
B[i] = gen.Next(10)
Console.Write(A[i] + " ")
Console.Write(B[i] + " ")
Console.Write(A[i] + " ")
Console.Write(B[i] + " ") 
Конец
int i = k; i < a; i++
Console.Write(A[i] + " ")
Console.ReadLine()
2
2
Ввод m,n,k
int[] A = new int[a];

 

 


Программная документация

Создание программы производилось с помощью инструментальной среды Microsoft Visual Studio 2019 на языке C#.

Для реализации программы необходимо создать проект Console Application и ввести в окно кода под элементом имени (рис.10) следующую процедуру:

Рисунок 10. Примерный вид окна MVS без процедуры

Процедура, написанная на языке C#:

namespace Лена24._2

{

class Program

{

   static void Main(string[] args)

   {

       Console.WriteLine("Введите размерность первого массива");

       int a = Convert.ToInt32(Console.ReadLine());

 

       Console.WriteLine("Введите размерность второго массива");

       int b = Convert.ToInt32(Console.ReadLine());

 

       Console.WriteLine("Введите k");

       int k = Convert.ToInt32(Console.ReadLine());

 

       int[] A = new int[a];

       int[] B = new int[b];

 

       Random gen = new Random();

 

       for (int i = 0; i < a; i++)

           A[i] = gen.Next(10);

       for (int i = 0; i < b; i++)

           B[i] = gen.Next(10);

 

       for (int i = 0; i < a; i++)

           Console.Write(A[i] + " ");

 

       Console.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

 

       for (int i = 0; i < b; i++)

           Console.Write(B[i] + " ");

 

       Console.Write("~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n");

 

       for (int i = 0; i < k; i++)

           Console.Write(A[i] + " ");

       for (int i = 0; i <b; i++)

           Console.Write(B[i] + " ");

       for (int i = k; i < a; i++)

           Console.Write(A[i] + " ");

           

       Console.ReadLine();

 

 

   }

}

}

 

Тестирование программы

Тесты

1. Ввод данных(Рис. 11).

 

Рисунок 11. Этап выполнения теста 1

2. Вывод результата(Рис. 12)

 

Рисунок 12. Этап выполнения теста 2

Результаты тестирования

В ходе тестирования полученные результаты были проверены с иными, посчитанными иными способами.

Заключение по результатам тестирования

Из все выше перечисленного можно сделать вывод о том, что программа работает.

ЗАДАНИЕ 24.3

Постановка задачи

В данной действительной квадратной матрице порядка n найти сумму элементов строки, в которой расположен элемент с наименьшим значением. Предполагается, что такой элемент единственный.

Метод решения

Данная задача имеет большое количество путей решение. Рациональным путём станет введение циклической системы, в которой заданы условия отбора и поиска нужного элемента.

Структуры данных и алгоритмы

Объекты алгоритма

Опишем объекты алгоритмов в табл. 5.

Таблица 5

Имя Описание Статус Тип
n Переменная Входной Вещественный

Схема алгоритма

6
2
Начало
Ввод n
int[,] A = new int[n, n]
int[,] B = new int[n - 1, n - 1]
Random gen = new Random()
int i = 0; i < n; i++
int j = 0; j < n; j++
A[i, j] = gen.Next(10)
int i = 0; i < n; i++
int j = 0; j < n; j++
Console.Write(A[i, j] + " ")
Console.Write("\nИсходная матрица\n")
Console.Write("\n")
int max = 0
int k = 0
int l = 0
int i = 0; i < n - 1; i++
int j = 0; j < n - 1; j++
Math.Abs(A[i, j]) > max
max = Math.Abs(A[i, j])
k = i
l = j
Console.WriteLine("Максимальный элемент {0} в {1} строке в {2} столбце", max, k + 1, l + 1)
int i = 0; i < n - 1; i++
int j = 0; j < n - 1; j++
(i < k) & (j < l)
(i >= k) & (j < l)
B[i, j] = A[i, j]
1
1
4
4
5
3
2
3
5
6
9
7
8
10
12
11


7
12
11
10
8
9
B[i, j] = A[i + 1, j]
                                                                

(i >= k) & (j >= l)
(i < k) & (j >= l)
B[i, j] = A[i + 1, j + 1]
B[i, j] = A[i, j + 1]
Console.Write("\nИтоговая матрица\n")
int i = 0; i < n - 1; i++
int j = 0; j < n - 1; j++
Console.Write(B[i, j] + " ")
Console.Write("\n")
Console.ReadLine()
Конец
13
13


Программная документация

Создание программы производилось с помощью инструментальной среды Microsoft Visual Studio 2019 на языке C#.

Для реализации программы необходимо создать проект Console Application и ввести в окно кода под элементом имени (рис.10) следующую процедуру:

Рисунок 13. Примерный вид окна MVS без процедуры

Процедура, написанная на языке C#:

namespace Лена24._5._3

{

class Program

{

   static void Main(string[] args)

   {

       Console.WriteLine("Введите размерность матрицы");

       int n = Convert.ToInt32(Console.ReadLine());

       int[,] A = new int[n, n];

       int[,] B = new int[n-1, n-1];

 

       Random gen = new Random();

 

       for (int i = 0; i<n; i++)

       {

           for (int j = 0; j < n; j++)

           {

               A[i, j] = gen.Next(10);

           }

       }

 

       Console.Write("\nИсходная матрица\n");

       for (int i = 0; i < n; i++)

       {

           for (int j = 0; j < n; j++)

           {

               Console.Write(A[i, j] + " ");

          }

           Console.Write("\n");

       }

 

           

       Console.Write("\n================================================================\n");

 

       int max = 0;

       int k = 0;

       int l = 0;

       for (int i = 0; i < n - 1; i++)

       {

           for (int j = 0; j < n - 1; j++)

           {

               if (Math.Abs(A[i, j]) > max)

               {

                   max = Math.Abs(A[i, j]);

                   k = i;

                   l = j;

               }

 

           }               

       }

       Console.WriteLine("Максимальный элемент {0} в {1} строке в {2} столбце", max, k+1, l+1);

 

       Console.Write("\n================================================================\n");

 

       for (int i = 0; i < n - 1; i++)

       {

           for (int j = 0; j < n - 1; j++)

           {

               if ((i < k) & (j < l))

                   B[i, j] = A[i, j];

               if ((i >= k) & (j < l))

                   B[i, j] = A[i+1, j];

               if ((i >= k) & (j >= l))

                   B[i, j] = A[i+1, j+1];

               if ((i < k) & (j >= l))

                   B[i, j] = A[i, j+1];

           }               

       }

 

       Console.Write("\nИтоговая матрица\n");

       for (int i = 0; i < n - 1; i++)

       {

           for (int j = 0; j < n - 1; j++)

           {

               Console.Write(B[i, j] + " ");

           }

           Console.Write("\n");

       }

 

       Console.Write("\n================================================================\n");

 

       Console.ReadLine();

 

   }

}

}

 

 


Тестирование программы

Тесты

1. Ввод переменной n (Рис. 14).

 

Рисунок 14. Этап выполнения теста 1

2. Вывод результата (Рис. 15).

 

Рисунок 15. Этап выполнения теста 2

Результаты тестирования

В ходе тестирования полученные результаты были сверены с другими, посчитанными иными способами.


Дата добавления: 2019-07-15; просмотров: 80; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!