Задание №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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!