Задание №3. Подпрограммы. Обработка массивов.



Задание.Разработать функцию (подпрограмму), входными даннымикоторойявляютсядвамассива X(n) и Y(n) c заданнымчисломэлементов (илиодинизних) илиматрица A(n, n). Преобразование, выполняемое функцией, задано в таблице 3. В головной программе осуществлять ввод размеров массивов, ручной ввод их элементов и вызов функции. Задание в таблице 3 гласит, что необходимо найти те члены массива X(n), которые делятся на число 7 без остатка. Вывести количество данных элементов.

Математическое описание задачи.Для данной задачи математическое описание присутствует в тексте задания.

Схема алгоритма.В соответствии с заданием разработан алгоритм, схема которого отражена блок-схемой на рисунке 3.1.

 

 

Рисунок 3.1 – Блок-схема алгоритма задания №3

 

Разработка программы. Разработка программы проводилась на языке высокого уровня CSharp. Список идентификаторов для программы, разрабатываемой в соответствии с алгоритмом, отраженном на рисунке 3.1, представлен в таблице 3.1 [1]. Текст программы и подпрограммы на языке CSharp представлен на рисунке 3.2 [2].

 

Таблица 3.1 – Список идентификаторов для задания №3

Наименование переменой и её смысл Наименование переменной в алгоритме Наименование переменной в программе
1 Число элементов массива n n n
2 Массив x х х
3 i-ы член массива x x[i] x[i]
4 Число i i i
5 Число k k z
6 Промежуточный массив mas - mas

staticintzam(int[] x)

   {

inti;

int k = 0;

for (i = 0; i<x.Length; i++)

if (x[i]% 7==0)

           {

               k += 1;

           }

 

return k

}

private void button1_Click(object sender, EventArgs e)

   {

intn,i,z;

int l = 0;

       n = int.Parse(textBox1.Text);

 

int[] mas = textBox2.Text.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries).Select(k =>int.Parse(k.Trim())).ToArray();

int[] x = new int[n];

       dataGridView1.ColumnCount = n;

       dataGridView1.RowCount = 1;

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

           {

x[i] = mas[l];

           l = l + 1;

        }

 

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

       {

dataGridView1.Rows[0].Cells[i].Value = x[i];

       }

 

       z=zam(x);

       textBox3.Text = Convert.ToString(z);

}

Рисунок 3.2 – Текст программы на языке CSharp для задания №3

Тестирование программы. Тестирование является процессом прогона программы на различных входных данных с целью обнаружения в ней ошибок.

Результаты тестирования отражены в таблице 3.2. Вид окна с результатами работы программы на некотором наборе исходных данных показан на рисунке 3.3.

 

Таблица 3.2 – Результаты тестирования программы задания №3

№ теста

Тестовые воздействия

 

Результат программы

 

Ожидаемый результат Результат, выданный программой

1

Ввод числовых

данных

 

Вводимые данные являются малыми числами из диапазона 10-13  до 10-37 Корректное вычисление функции Функция вычисляется корректно
Вводимые данные являются большими числами из диапазона 10-13  до 10-37 Корректное вычисление функции Функция вычисляется корректно
Вводимые данные обращают знаменатель в ноль Выдача сообщения об ошибке Выдача сообщения об ошибке

2

Некорректный ввод данных

Вводимые данные являются буквами Выдача сообщения об ошибке Выдача сообщения об ошибке
Число х не введено Программа продолжает запрашивать ввод данных Программа продолжает запрашивать ввод данных
Вместо разделительной точки введена запятая Корректное вычисление функции Выдача сообщения об ошибке

Проведенное тестирование показало корректную работу программы на предложенных тестовых наборах входных данных, а выявленные ошибки были исправлены путем введения в программу дополнительных проверок.

 

 

Рисунок 3.3 – Форма выполнения и результат работы программы

 


Дата добавления: 2018-06-27; просмотров: 308; Мы поможем в написании вашей работы!

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






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