Задание №2. Итерационные циклы.



МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФИЛИАЛ ФГБОУВО«НИУ «МЭИ»В Г. СМОЛЕНСКЕ

 

Кафедра менеджмента и информационных технологий в экономике

Направление 09.03.03«Прикладная информатика»

Профиль

«Прикладная информатика в топливно-энергетическом комплексе»

 

 

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

по дисциплине «Информатика и программирование»

 

 

Вариант 27

 

 

Студент

группы ИТЭК-17 _____________________________________Р.В. Солдатенков

(подпись, дата)

Руководитель

к. т. н., доцент ______________________________________А.Ю.Пучков

(подпись, дата)

 

Смоленск 201

Содержание

 

Задание №1. Циклические алгоритмы. Табулирование функций. 3

Схема алгоритма для задания №1. 3

Разработка программы для задания №1. 3

Тестирование программызадания №1. 4

Задание №2. Итерационные циклы. 7

Схема алгоритма для задания №2. 7

Разработка программы для задания №2. 8

Тестирование программы задания №2. 9

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

Схема алгоритма для задания №3. 11

Разработка программы для задания №3. 12

Тестирование программы задания №3. 13

Задание 4. Многомодульные приложения. 15

Схема алгоритма для задания №4. 15

Разработка программы для задания №4. 16

Тестирование программы для задания №4. 17

Список литературы.. 19

 

 

Задание №1. Циклические алгоритмы. Табулирование функций.

Задание.Составитьалгоритмипрограммувычислениязначенийфункцииy(x) в K равноотстоящих друг от друга точках при изменении x на отрезке[x1;x2]. Значения K, x1, x2, А вводится при работе программы.

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

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

 

 

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

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

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

Наименование переменой и её смысл Наименование переменной в алгоритме Наименование переменной в программе
1 Число K K K
2 Число А А А
3 Шаг измерения h h h
4 Аргумент х х х
5 Начало отрезка х1 х1 х2
6 Значение функции y y y
7 Символьная переменная H H H
8 Символьная переменная В В В

 

Текст программы представлен на рисунке 1.2 [2]

private void button1_Click(object sender, EventArgs e)

   {

double x1 = Double.Parse(textBox1.Text);

double x2 = Double.Parse(textBox2.Text);

double A = Double.Parse(textBox4.Text);

double x;

double y;

int K = Int32.Parse(textBox3.Text);

double h;

string H;

       h = Math.Abs((x2 - x1) / (K));

H = Convert.ToString(h);

String B = "Не является корнем уравнения";

label3.Text = H;

for (x = x1; x <= x2; x += h )

       {

if (x < 0)

{ y = (A - 8 * A) / Math.Pow(x, 2) + 4 * Math.Pow(A, 2);

               listBox1.Items.Add(y);

           }

else

           {

               y = Math.Pow(Math.Pow((Math.Pow(A, 1.0 / 3) - Math.Pow((Math.Pow((x - A), 2)), 1.0 / 3)), 3), 1.0 / 2);

if (y > 0)

               {

                  listBox1.Items.Add(y);

               }

else

               {

listBox1.Items.Add(B);

}

}

}

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

 

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

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

 

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

№ теста

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

 

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

 

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

1

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

данных

 

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

2

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

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

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

 

 

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

 

Задание №2. Итерационные циклы.

Задание.Составитьалгоритминаписатьпрограмму вывода таблицы значений функции f(x) на отрезке [a, b] с шагом h. Функция f(x) представлена в таблице 2 в виде формулы, а также в виде бесконечного ряда. Суммируя члены ряда можно получить примерно такое же значение f(x), что и рассчитанное по формуле. Чем больше членов ряда суммируется, тем точнее вычисляется f(x), то есть тем ближе получается значение к рассчитанному по формуле. Сложениечленовряда выполнять дотехпор, поканебудетдостигнутазаданнаяточность ε = |fпоформуле(х) - fпо ряду (х)|.

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

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

 

 

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

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

 

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

Наименование переменой и её смысл Наименование переменной в алгоритме Наименование переменной в программе
1 Начало отрезка х1 х1 х1
2 Конец отрезка х2 х2 х2
3 Шаг изменения h h h
4 Вводимая точность измерения E E E
5 Сумма элементов ряда S S S
6 Значение функции Pr Pr Pr
7 Хранилище для решений ряда dS dS dS
8 Высчитанная точность расчёта E E e1
9 Переменная x x x
10   Количество итераций n n n

private void button1_Click(object sender, EventArgs e)

   {

double x1 = double.Parse(textBox1.Text);

double x2 = Double.Parse(textBox2.Text);

double h = Double.Parse(textBox3.Text);

double e1;

double E = Double.Parse(textBox4.Text);

doublePr = 0.0; // Значение функции

double S = 0.0; // Сумма элементов ряда

int n;

doubledS; // Хранилищедляряда

 

for (double x = x1 + h; x <= x2; x += h)

       {

           n = 1;

do

           {

               S += Math.Round((4 * Math.Pow(x, 4 * n + 1)) / (4 * n + 1), 3);

dS = Math.Round( (4 * Math.Pow(x, 4 * n + 1)) / (4 * n + 1),3);

n++;

 

           }

while (Math.Abs(dS) > E);

Pr = Math.Round(2 * Math.Atan(x) - 4 * x + Math.Log((1 + x) / (1 - x)), 3);

 

       e1 = Math.Abs(Pr - S);

 

           listBox1.Items.Add(string.Format("n = {0}; x = {1}; S = {2}; Pr = {3}; E = {4} ",n,Math.Round(x,3),Math.Round(S,3),Math.Round(Pr,3),Math.Round(e1,4)));

}

   }

 

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

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

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

 

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

№ теста

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

 

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

 

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

1

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

данных

 

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

2

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

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

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

 

 

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

 

 


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

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






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