Заключение по результатам тестирования
Из все выше перечисленного можно сделать вывод о том, что программа работает.
ЗАДАНИЕ 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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!