Автор: Пользователь скрыл имя, 11 Марта 2012 в 12:54, курсовая работа
Разработать алгоритм и программу вычисления площади, ограниченной двумя кривыми, заданными вариантом индивидуального задания для интервала, определяемого пользователем в диалоговом режиме. Интерфейс программы разработать с использованием MFC. Предусмотреть проверку ввода данных на корректность и графическое отображение заданных функций. Предусмотреть в программе вызов справки.
Техническое задание. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4
1.Разработка алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Разработка математического алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . .5
Разработка схемы алгоритма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6
Разработка схемы математического алгоритма. . . . . . . . . . . . . . . . . 6
Разработка схемы общего алгоритма. . . . . . . . . . . . . . . . . . . . . . . . . .7
2.Разработка Программы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.Вычислительный эксперимент. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
Заключение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
Список литературы. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .25
if(func1(x)>=func2(x))
Рисунок 5 - Продолжение
Sum1=(Sum1+(func1(x)-func2(x))
else
Sum1=(Sum1+(func2(x)-func1(x))
}
Sum2=0;
for(i=0;i<n;)
{
x1=a+i*h;
i++;
x2=a+i*h;
x=(x1+x2)/2;
if(func1(x)>=func2(x))
Sum2=(Sum2+(func1(x)-func2(x))
else
Sum2=(Sum2+(func2(x)-func1(x))
}
if(func1(a)>=func2(a))
f_0=func1(a)-func2(a); //
else
f_0=func2(a)-func1(a); //
if(func1(b)>=func2(b))
f_N=func1(b)-func2(b); //
else
f_N=func2(b)-func1(b); //
S=((2*Sum1+4*Sum2+f_0+f_N)*h)/
STS.Empty();
STS = dec_to_leac(S);
UpdateData(false);
}
//============================
Рисунок 5 - Продолжение
3 Вычислительный эксперимент
Окно программы представлено на рисунке 6.
Рисунок 6 – Окно программы
Окно справки представлено на рисунке 7.
Рисунок 7 – Окно справки
Вычислительный эксперимент №1.
Вводимые и выводимые данные приведены в таблице 2
Результат вычислительного эксперимента представлен на рисунке 8
A |
B |
C |
a |
b |
n |
S |
2.0 |
3.0 |
4.0 |
-4.0 |
5.0 |
30.0 |
5E.EE7C5A540954000 |
Таблица 2- Вводимые и выводимые данные
Рисунок 8 – Результат вычислительного эксперимента №1
Вычислительный эксперимент №2.
Вводимые и выводимые данные приведены в таблице 3
Результат вычислительного эксперимента представлен на рисунке 9
A |
B |
C |
a |
b |
n |
S |
-3.0 |
-3.0 |
-3.0 |
0.0 |
2.0 |
5.0 |
B.9F67C0444887800 |
Таблица 3 - Вводимые и выводимые данные
Рисунок 9 – Результат вычислительного эксперимента №2
Вычислительный эксперимент №3.
Вводимые и выводимые данные приведены в таблице 4
Результат вычислительного эксперимента представлен на рисунке 10
A |
B |
C |
a |
b |
n |
S |
1.0 |
1.0 |
1.0 |
1.0 |
3.0 |
100.0 |
D.7A56DF1C04D2000 |
Таблица 4 - Вводимые и выводимые данные
Рисунок 10 – Результат вычислительного эксперимента №3
Заключение
В процессе выполнения представленной курсовой работы были приобретены навыки по созданиюWindows-приложения с использованием WinAPI и библиотеки классов MFC.
Разработанный программный продукт работает исправно, что подтверждается результатами вычислительного эксперимента.
Список литературы
Автор:Довбуш Г.Ф.;Хомоненко А.Д. (ред.)
Издательство: БХВ-Петербург
Год: 2007
Автор: Давыдов В. Г.
Издательство: БХВ-Петербург
Год: 2008
Автор: Свиркин М.В и ЧуркинА.С.:
Издательство: СПбГУ
Год: 2005
Приложение А. Руководство оператора
Список переменных, входных и выходных данных:
•Входные данные (задаваемые пользователем в диалоговом режиме):
A, B, C – коэффициенты исходных функций: y=A*x+B и y=A*x2*cos(B*x+C)
n – Диаметр разбиения: параметр, используемый при расчёте шага интегрирования: dx = (a –b)/n.
a – Начало интервала интегрирования.
b – Конец интервала интегрирования.
•Выходные данные:
S – Значение искомой площади.
•Описание работы кнопок:
«График» – При нажатии кнопки «Построить графики», происходит построение графиков функций и границ интегрирования.
«Расчёт» - При нажатии кнопки «Рассчитать площадь» программа производит расчёт площади, ограниченной исходными функциями и границами интегрирования (расчёт площади производится методом трапеций) и выводит её числовое значение в поле «S».
«Справка» - При нажатии кнопки «Справка», происходит вызов окна справки.
«Выход» - При нажатии кнопки «Выход» происходит завершение программы.
Приложение B. Руководство программиста
Классы программы:
CKursovoyDlg – Основной класс, используемый для построения главного окна программы.
CAboutDlg - Класс, используемый для построения окна справки.
Список функций, используемыx в программе:
void OnPaint (void) – Функция, используемая для построения главного диалогового окна.
void Check_error (void) – Функция, которая выводит ошибки при некорректном вводе данных.
void OnBnClickedButton1 (void) – Функция кнопки «Справка», вызывающая окно справки при нажатии на кнопку.
void OnBnClickedButton2 (void) – Функция кнопки «График», вызывает 2 функции – функцию построения графика и функцию проверки на ошибки.
void OnBnClickedButton3 (void) – Функция кнопки «Расчет», вызывает 2 функции – функцию расчета и функцию проверки на ошибки.
void DrawAxis (void) – Функция, используемая при закрашивании области, в которой будет построен график, и прорисовке черной рамки, по контуру области.
void FillRect (void) – Функция, используемая при закрашивании области, в которой будет построен график.
void DrawBorder (void) – Функция, используемая при прорисовке черной рамки по контуру области.
void DrawLim (void) – Функция, используемая при построении границ интегрирования.
void DrawGraph (void) – Функция, строящая график функции y=A*x+B.
void DrawGraph2 (void) – Функция, строящая график функции y=A*x2*cos(B*x+C).
double lea_to_dec(CString lea) – Функция перевода передаваемой строки с числом любой системы счисления и перевод ее в число десятиричной системы.
CString dec_to_leac(double A) – Функция перевода числа десятиричной системы счисления и конвертирование его в передаваемую строку.
double func_1(double x) – (return x) – Функция, возвращающая значение func_1 (func_1=A*x+B).
double func_2(double x) – (return x) – Функция, возвращающая значение func_2 (func_2=A*x2*cos(B*x+C)).
void Calculation (void) – Функция, производящая расчёт площади методом Симпсона.
Список подключаемых файлов и библиотек:
· "stdafx.h" - заголовочный файл для стандартного "каркаса" приложения;
· "Kursovoy.h" - заголовочный файл приложения;
· "KursovoyDlg.h" - заголовочный файл класса KursovoyDlg;
· "afxdialogex.h"
· "math.h" - заголовочный файл стандартной библиотеки языка программирования С, разработанный для выполнения простых математических операций;
· "afxwin.h" – заголовочный файл, который содержит описание основных классов библиотеки и сводит воедино все включаемые файлы, необходимые для работы MFC
Информация о работе Создание Windows приложения с использованием Win API и библиотек классов MFC