Автор работы: Пользователь скрыл имя, 02 Октября 2011 в 10:21, курсовая работа
Информатика является основной базой для проведения научно-исследовательских и проектно-технических работ в современной промышленности. С помощью аппаратно-программных комплексов выполняются как научно-технические расчеты, так и информационный и патентный поиск данных по необходимой тематике.
Согласно заданию цель данной курсовой работы – разработка программы численного решения эллептического дифференциального уравнения Лапласа в частных производных метода Дирихле в среде программирования Borland C++Builder для персонального компьютера.
Содержание
Введение 4
1 Описание поставленной задачи 5
1.1 Краткая характеристика численного метода 5
1.2 Анализ литературы и программ, патентный список 5
1.3 Формирование требований к программе 6
2 Проектирование схем алгоритмов 7
2.1 Разработка алгоритма головной программы 7
2.2 Проектирование алгоритма ввода исходных данных 9
2.3 Проектирование алгоритма вывода результатов 10
2.4 Проектирование алгоритма численного метода 10
3 Кодирование программы в среде программирования 11
3.1 Разработка структуры программы 11
3.2 Разработка интерфейса пользователя 11
3.2.1 Разработка интерфейса головной формы. 11
3.2.2 Интерфейс формы ввода данных Form2 12
3.2.3 Интерфейс формы результатов расчёта Form3 13
3.2.4 Интерфейс формы информации о программе Form4 13
3.3 Программирование ввода-вывода данных 14
3.4 Программная реализация численного метода 15
4 Тестирование работоспособности программы 16
4.1 Описание аппаратной конфигурации для тестирования 16
4.2 Тестирование разработанной программы 17
4.3 Решение задачи в математической системе Mathcad 19
4.4 Анализ результатов тестирования 19
5 Разработка гипертекстового варианта документа работы 21
Заключение 22
Список использованных источников 23
Приложение А 24
Тексты спроектированной программы 24
Результаты тестирования программы 32
Приложение В 33
Решение в математической системе Mathcad 33
Приложение Д 34
Гипертекстовая справка по программе 34
Приложение Е 36
- EditA – коэффициент A;
Рисунок
3.3 – Форма отображения
На форме используются следующие компоненты:
1) кнопки управления класса TButton:
- ButtonCL – закрытие формы Form3;
2) EditX – вывод значения X;
EditY – вывод значения Y;
EditF – вывод значения F(X,Y);
3.2.4 Интерфейс формы информации о программе Form4
Рисунок 3.4 – Вид интерфейса формы Form4
Интерфейс пользователя на форме строится с помощью следующих стандартных компонентов C++Builder:
2)
кнопка ButtonCL для закрытия формы с информацией.
3.3 Программирование
ввода-вывода данных
Ввод исходных данных в проекте реализован 2мя способами:
1) с помощью формы Form2, где значения переменных исходных данных считываются из текстовых поле Text компонентов Edit с последующим преобразованием их в соответствующий вещественный или целочисленный тип данных;
2) чтением ранее сохраненных значений из внешнего текстового файла с помощью потока ifsteam из модуля fstream; алгоритм чтения исходных данных соответствует рисунку 2.2 на форме Form2.
При
отображении результатов
Отображение численных значений выполняется с помощью формы Form3 в EditX, EditY, EditF, используя функции преобразования численных данных в строковые FloatToStr .
Программная реализация на
В начала тела функции проверяется наличие ввода исходных данных.
Тексты cpp и h файлов проекта помещаются в Приложение А.
Тестирование
-число ядер – 2;
- форм-фактор ATX;
- наименование набора системной логики VIA KT266A;
- тип
интерфейса подключения
- максимальный объем оперативной памяти – 2 Гб;
- интерфейс подключения жесткого диска – SATA II;
- встроенный аудиоадаптер Realtek ALC883;
3)тип видеоадаптера nVIDIA GeForce 9600 GT:
- наименование графического процессора G94GT;
- объем и тип видеопамяти – 512 Мб;
- разрядность шины памяти – 256 Мб;
- частота ядра GPU 650 МГц и 900 Мгц шины видеопамяти;
- разъемы для подключения к монитору – VGA;
4)параметры монитора:
- тип монитора PHILIPS I90CW;
- ширина диагонали экрана – 19 дюймов;
-
интерфейс подключения к
- разрешение по горизонтали и вертикали – 1440х900;
- частота кадровой разверстки – 75 Гц;
5)
типы внешней памяти
- тип жесткого диска –Seagate ST3500630AS;
- максимальный объем - 500 Гб;
- частота вращения шпинделя – 7200 об/мин;
-
интерфейс подключения: SATA-
- объем кэш-памяти жесткого диска – 16 Мб;
- тип привода оптического диска – Optiarc DVD RW AD-7203S;
- значения скорости 40/40/16;
6) установлен модуль оперативной памяти DDR-2 объемом 2047;
7)
состав интерфейса для
- 6 разъема стандарта USB 2.0;
- 1 разъем порта LTP;
- 2 разъема порта СОМ;
-
блок из 6 аудиоразъемов.
Разработанное приложение включает в себя загрузочный файл – Dirihle.exe объемом 85 000 Байт.
Для тестирования программы используются следующие исходные данные:
A=1
B=1
C=1
D=1
E=1
F=1
X0=1
Y0=1
e=0.01
При вводе исходных данных форма Form2 имеет вид рисунка 4.1, а после расчета форма Form3 – рисунка 4.2.
Время
расчета составило менее 1 с.
Рисунок
4.2 – Ввод исходных данных
Рисунок
4.2 – Результат расчета
Результат расчета в виде текстового файла приводится в Приложении Б.
Для тестирования используется математический пакет Mathcad 14. При этом исходные данные задаются в виде:
Результаты решения в виде графика приводятся в приложении В.
По данным приложения Б получены конечные значения:
Uб3.3=
0,29
По данным приложения В получены конечные значения:
Uв3.3=
0,3
По данным приложения Г получены конечные значения:
Lг=0.
Тогда абсолютное значение ошибки программы по Mathcad
∆г=|
∆г=|0,31-0,29|=0.01
Относительное значение ошибки теста Mathcad
δг=(%)
δг=(%)=100%·|0,3-
Как видно из данных
Приложений Б и В полученная погрешность
расчета менее 5%, что допустимо для технических
расчетов. Это означает, что схема алгоритма
и текста программы написаны верно.
Html-документ
со справочной информацией по
разработанной программе
Рисунок 5.1 – Окно обозревателя Firefox со справкой
В результате выполнения курсовой работы было произведено описание задачи поиска локального минимума двухпараметрической функции на основе метода градиентного спуска, разработана схема алгоритма и написана программа решения на языке программирования С++ в среде программирования С++Builder. Проведенное тестирование показало правильность вычисления по спроектированной программе.
Разработанная программа может использоваться для решения дифференциального уравнения в частных производных на персональных компьютерах в среде Windows XP.
1 Динамическое программирование и уравнения в частных производных. – Москва: издательство «Мир», 1974. – 155 с.
2 Вычислительная техника и программирование. Методические указания и задания к курсовой работе для студентов специальности 1-53 01 05 «Автоматизированные электроприводы». – Могилев: Белорусско-Российский университет, 2008. – 32 c.
(Обязательное)
Текст
файла Project1.cpp
//----------------------------
#include <vcl.h>
#pragma hdrstop
//----------------------------
USEFORM("Unit1.cpp", FormM);
USEFORM("Unit2.cpp", FormD);
USEFORM("Unit3.cpp", FormR);
USEFORM("Unit4.cpp", FormP);
//----------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Информация о работе Поиск локального минимума методом градиентного спуска