Разработка программного комплекса решения математической задачи численными методами
Процесс нахождения минимума функции на заданном интервале методом дихотомии. Функциональное назначение и описание логической структуры программы для решения математической задачи численными методами. Условия применения, пример и текст программы.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 20.09.2017 |
Размер файла | 154,1 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ»
Кафедра АСУ
Расчетно-пояснительная записка
«Разработка программного комплекса решения математической задачи численными методами»
Липецк 2006
Задание
Разработать программный комплекс решения математической задачи численным методом.
Вариант № 1. Оптимизация функции одной переменной методом дихотомии.
Аннотация
Настоящий отчет является расчетно-пояснительной запиской по проделанной работе «Разработка программного комплекса решения математической задачи численными методами». Программный продукт реализует процесс нахождения минимума функции на заданном интервале методом дихотомии.
Документ включает описание программы, описание применения, руководство программиста, описание контрольного примера, а также текст программы. Содержание указанных разделов соответствует стандартам ЕСПД и СТД АСУ соответствующих наименований.
Оглавление
- Введение
- 1. Описание программы
- 1.1 Общие сведения
- 1.2 Функциональное назначение
- 1.3 Описание логической структуры
- 1.3.1 Алгоритмы используемых методов
- 1.3.2 Структура программы
- 1.4 Используемые технические средства
- 1.4.1 При разработке
- 1.4.2 Минимальные требования
- 1.5 Вызов и загрузка
- 1.6 Входные данные
- 1.7 Выходные данные
- 2. Описание применения
- 2.1 Назначение программы
- 2.2 Условия применения
- 2.3 Описание задачи
- 2.4 Входные и выходные данные
- 3. Руководство программиста
- 3.1 Назначение и условия применения
- 3.2 Характеристики программы
- 3.3 Обращение к программе
- 3.4 Входные и выходные данные
- 3.5 Сообщения
- 4. Описание контрольного примера
- 4.1 Назначение программы
- 4.2 Цель контрольного примера
- 4.3 Требования, подлежащие проверке в соответствии с заданием програмы
- 4.4 Технические программные средства, используемые при вводе
- 4.5 Порядок проведения тестирования
- 4.6 Используемые методы тестирования
- 4.6.1 Проверка правильности нахождения точки минимума
- 4.6.2 Проверка поведения программы при заведомо неправильных входных данных
- 5. Текст программы
- Заключение
- Библиографический список
- Введение
- программа математический задача решение
- Большинство вычислений в современном мире производится с помощью ПК. Существует большое количество численных методов и разнообразие их программной реализации в той или иной среде, начиная от специализированных математических пакетов, заканчивая многочисленными алгоритмическими языками.
- Разработка таких программ на современных системах не представляет никаких сложностей в силу таковой направленности при разработке этих систем. Ключевое значение здесь принимает опыт и квалификация программиста.
- Целью данной работы является освоение навыков программирования в визуальной среде, а также оформления документации к разработанному программному продукту в соответствии со стандартами ЕСПД и СТД АСУ.
- 1. Описание программы
- 1.1 Общие сведения
- Наименование программы: дихотомия (метод деления отрезка пополам). Программа написана на объектно-ориентированном языке С++ в среде разработки Borland C++ Builder версии 6.0 Enterprise. Программа выполнима в 32-битных версиях операционной системы Microsoft Windows, или, при наличии эмулятора в другой системе. Рекомендуемая операционная система - Windows XP.
1.2 Функциональное назначение
Настоящая программа предназначена для оптимизации (нахождения минимума) унимодальной функции одной переменной, записанной в виде полинома 5-ой степени. При этом, в соответствии с вариантом, используется метод дихотомии.
1.2.1 Классы решаемых задач
Нахождение минимума унимодальной функции одной переменной методом деления отрезка пополам.
1.2.2 Функциональные ограничения
Программа корректно работает только для функции, которая является унимодальной и ограничена полиномом, максимальная степень которого не превышает пятой.
1.3 Описание логической структуры
1.3.1 Алгоритм используемого метода
Алгоритм метода дихотомии
Этот метод позволяет исключать в точности половину интервала на каждой итерации. Достаточно, чтобы f(x) была унимодальной. Для поиска минимума функции f(x) в интервале (a,b) находят середину этого отрезка, в окрестности этой точки вычисляют значения функции, после чего сравнивают эти значения и отбрасывают тот отрезок, на котором значение функции оказалось большим. Вычисления заканчиваются тогда, когда длина отрезка (b-a) будет меньше заданной точности.
1.3.2 Структура программы
Сразу после загрузки главного окна программа ожидает введения исходных данных. В дальнейшем происходят события, зависящие от действий пользователя. Если пользователь ввел корректные исходные данные, то программа выполняется. Иначе, если пользователь ввел недопустимый в поля программы, ввел все нулевые коэффициенты или ввел отрицательную погрешность, то выдается диагностическое сообщение для каждого поля, в котором допущена ошибка ввода с указанием номера поля.
1.4 Используемые технические средства
1.4.1 При разработке
При написании программы был использован компьютер следующей конфигурации:
- процессор INTEL Pentium4 2400 MHz 512k 533 MHz;
- оперативная память DDR 256 Mb;
- SVGA - графический адаптер;
- минимальный набор периферийного оборудования.
1.4.2 Минимальные требования
Для работы программы необходимо:
- IBM PC совместимый компьютер;
- 32-разрядная среда операционной системы;
- графическая оболочка ОС;
- обработчик hlp-файлов в системе;
- достаточный объем свободной оперативной памяти (около 5мб при работе в Windows XP с улучшенным оформлением окна);
- достаточное место на жестком, гибком, сетевом, оптическом или RAM-диске объемом около 50 Кб;
- устройства ввода информации (клавиатура и оптическая мышь);
- устройство вывода графической информации с видеоадаптера (монитор, проектор).
1.5 Вызов и загрузка
Для вызова программы необходимо запустить файл Project1.exe из текущей папки программы.
1.6 Входные данные
Коэффициентов многочлена, граница вычисления минимума для функции, точность вычислений. Данные могут быть введены в виде десятичной дроби со знаком или без него, а также в виде целого числа (которое потом преобразуется в вещественное).
1.7 Выходные данные
Точка минимума и значение заданной функции в этой точке. Результаты выводятся в виде вещественных чисел с четырьмя знаками после запятой.
2. Описание применения
2.1 Назначение программы
2.1.1 Назначение и возможности программы
Данная программа предназначена для оптимизации методом деления отрезка пополам - методом дихотомии т.е. для нахождения минимума данной функции на заданном интервале.
В условиях данной конфигурации скорость выполнения программы составляет несколько секунд, объем занимаемой памяти - не более 30 Мб.
2.1.2 Ограничения программы
Программа корректно выполняется только в случае, если задана унимодальная функция одной переменной. Функция задается многочленом, максимальная степень которого не превышает пятой.
2.2 Условия применения
Требования к необходимым для данной программы техническим средствам:
- IBM PC совместимый компьютер;
- 32-разрядная среда операционной системы;
- графическая оболочка ОС;
- обработчик hlp-файлов в системе;
- достаточный объем свободной оперативной памяти (около 5Мб при работе в Windows XP с улучшенным оформлением окна);
- достаточное место на жестком, гибком, сетевом, оптическом или RAM-диске объемом около 50 Кб;
- устройства ввода информации (клавиатура и оптическая мышь);
- устройство вывода графической информации с видеоадаптера (монитор, проектор).
Работа программы происходит в однопользовательском режиме. Параметры, необходимые для выполнения программы, вводит пользователь в соответствующие поля главного окна программы. Результаты выводятся в отведенные для них ячейки главного окна.
2.3 Описание задачи
Процесс разработки интерактивной прикладной программы, осуществляет оптимизацию унимодальной функции одной переменой на заданном интервале методом деления отрезка пополам, или методом дихотомии.
Определение: функция f(x), заданная на интервале a<=x<=b называется унимодальной на [a,b], если существует единственная точка x* минимума f(x), т.е. f(x*)=min f(x) {на a<=x<=b}, и если для любых двух точек x1,x2 принадлежащих [a,b] выполняется соотношение:
-из неравенств x1<x2<=x* следует f(x1)>f(x2);
-из неравенств x2>x1=>x* следует f(x1)<f(x2).
Необходимые условия того, что x* является точкой локального минимума (максимума) дважды дифференцируемой функции f на открытом интервале (a,b) выражаются следующими соотношениями:
1) df 2) d2f
=0 =>0 (<=0)
dx x=x* dx2 x=x*
Достаточные условия экстремума
Пусть в точке x* первые (n-1) производные функции обращаются в нуль, а производная порядка n отлична от нуля.
1) Если n-нечетное, то x*-точка перегиба.
2) Если n-четное, то x*-точка локального оптимума.
Кроме того,
а) если эта производная положительная, то x*-точка локального минимума;
б) если эта производная отрицательная, то x*-точка локального максимума
Правила исключения интервалов
Пусть функция f унимодальна на интервале axb, а ее минимум достигается в точке x*.
Рассмотрим точки x1 и x2, расположенные в интервале таким образом, что a<x1<x2<b. Сравнивая значения функции в точках x1 и x2, можно сделать следующие выводы:
1.Если f(x1)>f(x2), то точка минимума f(x) не лежит в интервале (a,x1), т.е. x*(x1,b) (см. рис.3)
f(x)
f(x1)
f(x2)
a x1 x* x2 b x
Рис. 3 Первый вариант расположения точки минимума
2.Если f(x1)<f(x2), то точка минимума не лежит в интервале (x2,b), т.е. x*(a,x2) (см. рис.4)
f(x)
f(x1)
f(x2)
a x1 x* x2 b x
Рис. 4 Второй вариант расположения точки минимума
3. Если f(x1)=f(x2), то можно исключить оба крайних интервала (a,x1) и (x2,b), при этом x*(x1,x2).
Согласно правилам исключения интервалов можно реализовать процедуру поиска, позволяющую найти точку оптимума путем последовательного исключения частей исходного ограниченного интервала. Поиск завершается, когда оставшийся интервал уменьшается до достаточно малых размеров.
2.4 Входные данные
6 вещественных чисел - коэффициентов при соответствующих степенях оптимизируемой функции, границы интервала поиска минимума функции, точность вычисления, которые также относятся к классу вещественных чисел.
2.5 Выходные данные
Точка для минимума заданной пользователем функции и значение функции в этой точке.
3. Руководство программиста
3.1 Назначение и условия применения
3.1.1 Назначение программы
Программа предназначена для нахождения экстремумов функции при задаваемых коэффициентах, точности и интервале. Программа имеет некоторые ограничения, которые необходимо учитывать пользователю при вводе тех или иных параметров. В любом случае параметры проверяются перед расчетом.
Работу облегчает простой, элегантный и интуитивно понятный интерфейс. Автор стремился сделать программу дружественной к пользователю. Окна не насыщены графикой и ненужными элементами.
3.1.2 Условия применения программы
- IBM PC совместимый компьютер;
- 32-разрядная среда операционной системы;
- графическая оболочка ОС;
- обработчик hlp-файлов в системе;
- достаточный объем свободной оперативной памяти (около 5Мб при работе в Windows XP с улучшенным оформлением окна);
- достаточное место на жестком, гибком, сетевом, оптическом или RAM-диске объемом около 50 Кб (программа занимает 6020Кб);
- устройства ввода информации (клавиатура и оптическая мышь);
- устройство вывода графической информации с видеоадаптера (монитор, проектор).
3.2 Характеристики программы
В случае создания неправильной ситуации пользователем ему выдается сообщение, поясняющее его действия. Проверка данных перед их использованием для нахождения минимума или максимума позволяет не допустить серьезных ошибок в программе.
3.3 Обращение к программе
Работа программы начинается с подачи пользователем ее двоичного кода операционной системе на выполнение (запуска файла Project1.exe).
Интерфейс программы соответствует общепринятым стандартам и исторически сложившимся традициям эргономики программ, так как имеет такие понятные пользователю элементы как меню, справочная система, кнопки, окружение и элементы окна.
3.4 Входные и выходные данные
3.4.1 Входные данные
Входными данными, задающимися пользователем являются:
- коэффициенты при степенях x;
- коэффициент при свободном члене уравнения;
- значение точности производимых вычислений;
- значение диапазона: начальное и конечное положение координат отрезка поиска.
3.4.2 Выходные данные
Выходными данными являются:
- точка минимума функции;
- значение функции в этой точке;
3.5 Сообщения
Сообщения, возникают на экране во время выполнения данной программы в случае четырех возможных ошибок:
1. Пользователь ввел значение степени, не входящее в заданный интервал [2;5]
2. При неправильном указании интервала.
3. Погрешность вычисления отрицательна.
4. Значение погрешности нулевое.
4. Описание контрольного примера
4.1 Назначение программы
Программа предназначена для нахождения экстремумов функции при задаваемых коэффициентах, точности и интервале. Программа имеет некоторые ограничения, которые необходимо учитывать пользователю при вводе тех или иных параметров. В любом случае параметры проверяются перед расчетом.
4.2 Целью проведения испытаний
Проверить правильность нахождения точки минимума методом деления отрезка пополам (методом дихотомии).
4.3 Требования, подлежащие проверке
- Правильность нахождения точки минимума;
- Правильность нахождения значения функции в точке;
- Верность выдаваемых сообщений об ошибке или предупредительных сообщений при наличии данных, некорректно введенных пользователем.
4.4 Технические программные средства, используемые при вводе
Технические средства: компьютер типа IBM PC, мышь и клавиатура.
Программные средства: операционная система Microsoft Windows XP Professional и тестируемая программа.
4.5 Порядок проведения тестирования
- Вести значения, соответствующие проверяемым требованиям;
- Отследить результаты работы программы;
- Сравнить полученные значения с ожидаемыми результатами.
4.6 Используемые методы тестирования
4.6.1 Проверка правильности нахождения точки минимума
1) Зададим коэффициенты многочлена:
1 0 56 8 95 63
2) Введем интервал поиска:
-5 2
3) Введем точность вычислений:
0,01
4) Рассчитаем:
4.6.2 Проверка поведения программы при заведомо неправильных входных данных
Ошибки
1. Пользователь ввел значение степени, не входящее в заданный интервал [2;5]
2. При неправильном указании интервала.
3.Погрешность вычисления отрицательна.
4. Значение погрешности нулевое.
5. Текст программы
#include <math.h>
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#define gxy gotoxy
#define cpr cprintf
#define rpr rprintf
#define tc textcolor
int x[]={10,10,10}, y[]={7,8,9};
FILE *hlp;
void rprintf(char str[]) {
char buffer[200];
CharToOem(str,buffer);
cpr("%s",buffer); }
void draw_window(char *caption, int xl, int xr, int yu, int yd, int cf, int cb) {
register short int x, y;
tc(cf);
gxy(xl,yu); putch(218);
gxy(xl,yd); putch(192);
gxy(xr,yu); putch(191);
gxy(xr,yd); putch(217);
for(x=xl+1;x<xr;x++) {
gxy(x,yu); putch(196);
gxy(x,yd); putch(196); }
for(y=yu+1;y<yd;y++) {
gxy(xl,y); putch(179);
gxy(xr,y); putch(179);
for(x=xl+1;x<xr;x++) {
gxy(x,y);putch(32); } }
gxy(xl+floor((xr-xl-strlen(caption))/2),yu); cpr("%s",caption);
}
int selection(int *x, int *y, int cnt) {
int cur=1, i, c;
int pressed_key;
const int enter_key=13, up_arrow=72,down_arrow=80,esc_key=27;
do {
for(i=0;i<cnt;i++)
{
gxy(x[i],y[i]);
if(i+1==cur)c=14; else c=0;
tc(c); putch(16);
}
pressed_key=getch();
switch(pressed_key) {
case up_arrow: cur=(cur==1)?cnt:cur-1;break;
case down_arrow: cur=(cur==cnt)?1:cur+1;break;
case esc_key: exit(0);
case enter_key: return cur;
default: break; }
}while(pressed_key!=up_arrow||pressed_key!=down_arrow);
}
float F(float v, int n, float*k)
{
int i;
float tmp=0;
for(i=n;i>=0;i--)
{
tmp+=k[i]*pow(v,i);
}
return tmp;
}
int main(void) {
int choice,i,j;
int n,xc,yc;
float *k,a,b,p,l,r,fl,fr,fx,xp,root;
char s[50];
for(;;){
clrscr();
gxy(7,6);rpr("______________________КУРСОВАЯ РАБОТА_____________________");
gxy(7,5);rpr("__________________________________________________________");
gxy(7,6); rpr(""); tc(2);
gxy(7,7); rpr(" Ввести данные и начать работу...");
gxy(7,8); rpr(" Инфо о сие замечательном творении...");
gxy(7,9); rpr(" Выход...");
gxy(7,10); rpr(""); tc(7);
gxy(7,11); rpr("______________________КЛАВИШИ:_________________________");
gxy(7,12); rpr(" ВНИЗ, ВВЕРХ - Выбор");
gxy(7,13); rpr(" ESC - выйти; ENTER - подтвердить");
gxy(7,14); rpr("_______________________________________________________");
tc(3);
gxy(7,15); rpr("___________________ТОКАРЧУК Н.А.______________________");
choice=selection(x,y,3);
switch(choice) {
case 1: clrscr();tc(14);
rpr("____________________Вводд данных:___________________\n\r"); do {
tc(7);rpr("Введите степень многочлена из интервала [2; 5]-> ");
scanf("%d",&n);
if(n<2 || n>5)
{
tc(4);rpr("НЕПРаВИЛЬНОЕ ЗНАЧЕНИЕ!\n\r");tc(7);
}
}while(n<2 || n>5);
k=new float[n+1];
rpr("Введите коэффициенты многочлена при степенях, начиная со старшего:\n\r");
for(i=0;i<=n;i++)scanf("%f",&k[n-i]);
tc(2);rpr("ПОЛУЧЕННЫЙ МНОГОЧЛЕН:\n\r");tc(10);
for(i=n;i>=0;i--)
{
if(k[i]<0 || i==n)cpr("%f(X^%d)",k[i],i);
else if(i!=n)cpr("+%f(X^%d)",k[i],i);
}
putch(8);putch(8);putch(8);putch(8);putch(8);
cpr(" = 0 \n\r\n\r");tc(7);
do {
rpr("Введите интервал [a; b], содержащий корень
уравнения:\n\r");
rpr("Примечание: Функция y=f(x) должна иметь на указанном
интервале только 1 корень,\n\r");
rpr("быть монотонной и не иметь точек перегиба.\n\r");
scanf("%f %f", &a,&b);
if(a==b || a>b)
{
tc(4);rpr("НЕПРАВИЛЬНОЕ УКАЗАНИЕ ИНТЕРВАЛА!\n\r");tc(7);
}
}while(a==b || a>b);
do {
rpr("Введите точность вычисления корня уравнения:");
scanf("%f", &p);
if(p>0.1 || p<0.0000001)
{
tc(4);rpr("НЕПРАВИЛЬНОЕ УКАЗАНИЕ ПОГРЕШНОСТИ!\n\r");tc(7);
}
}while(p>0.1 || p<0.0000001);
if(F(a,n,k)*F(b,n,k)>0)
{
tc(14);rpr("Уравнение не имеет корней либо имеет более 1 корня
на указанном интервале!\n\r");
tc(7);rpr("Нажмите любую клавишу..."); getch();
break;
}
l=a;r=b;
fl=F(l,n,k);
fr=F(r,n,k);
do {
xp=(l+r)/2;
fx=F(xp,n,k);
if(fx==0)
{
root=fx; break;
}
if(fx*fl<0)
{
r=xp; fr=fx;
}
else
{
l=xp; fl=fx;
}
if(r-l-p<0)root=(r+l)/2;
}while(r-l-p>=0);
tc(13);rpr("Корень уравнения X = ");
cpr("%f\n\r",root);
tc(7);rpr("Нажмите любую клавишу...");
getch();
delete [] k;
break;
case 2: draw_window(" HELP ", 1, 80, 1, 23, 10, 0);
if((hlp=fopen("c:\\hlp.txt","rt"))==NULL)
{
gxy(10,8);tc(4);rpr("Файл не найден!\n\r");
gxy(10,9);tc(7);rpr("Нажмите любую клавишу...");
getch(); break;
}
xc=2,yc=2;
tc(11);
while(!feof(hlp))
{
s[0]='\0';
fscanf(hlp,"%s",&s);
strcat(s," ");
if(xc+strlen(s)>79){xc=2;yc++;}
gxy(xc,yc); rpr(s);
xc+=strlen(s);
}
rpr("\n\r\n\r"); tc(15);
putch(179);rpr("Нажмите любую клавишу...");
getch(); break;
case 3: exit(0);
default:break; }
}
}
Заключение
Результатом выполнения курсовой работы является программа, позволяющая находить минимум унимодальной функции, записанной в виде полинома 5-ой степени, на заданном интервале методом деления отрезка пополам (методом дихотомии).
Программный продукт обладает интерфейсом пользователя эстетичного внешнего вида с эргономичным расположением управляющих элементов, содержит систему меню, строго определяющую диалог пользователя с программой, систему помощи, позволяющую пользователю получить справку о текущем состоянии программы, вариантах продолжения работы и о математической основе происходящего. Также имеет место обработчик ошибок пользователя и выполнения с выдачей диагностического сообщения.
Автор стремился сделать программу дружественной к пользователю. Окна не насыщены графикой и ненужными элементами.
Также были написаны некоторые документы, соответствующие заданию кафедры, прилагающиеся к программному обеспечению в соответствии с ЕСПД и СТД АСУ.
Библиографический список
1. Глушаков С. В. Программирование в среде Borland C++ Builder 6.0 / С. В. Глушаков, К. Н. Зорянский, С. Н. Хомяков. М: Фолио, 2003. 508 с.
2. Архангельский А.Я. Программирование в C++Builder 6./ А.Я. Архангельский. М.: Бином - Пресс, 2003. 1152 с.
Размещено на Allbest.ru
...Подобные документы
Математическое описание численных методов решения уравнения, построение графика функции. Cтруктурная схема алгоритма с использованием метода дихотомии. Использование численных методов решения дифференциальных уравнений, составление листинга программы.
курсовая работа [984,2 K], добавлен 19.12.2009Создание схем алгоритмов и составление программы на языке Pascal для вычисления значений заданных функций. Сущность и порядок нахождения значения определенного интеграла. Анализ работы подпрограмм. Разработка тестов для проверки правильности алгоритмов.
контрольная работа [831,0 K], добавлен 24.11.2013Численные методы решения нелинейных уравнений, используемых в прикладных задачах. Составление логической схемы алгоритма, таблицы индентификаторов и программы нахождения корня уравнения методом дихотомии и методом Ньютона. Ввод программы в компьютер.
курсовая работа [220,0 K], добавлен 19.12.2009Разработка программы для решения нелинейных уравнений различными численными методами: с помощью дискриминанта и таблицы Горнера, теоремой Виетта. Требования к интерфейсу. Компоненты среды Delphi, использованные в программе. Реализация и тестирование.
курсовая работа [1,3 M], добавлен 20.04.2011Определение зависимости скорости вала двигателя от времени. Математическая модель решения задачи. Решение задачи Коши на интервале методом Эйлера и Рунге-Кутта четвертого порядка точности. Алгоритм решения задачи. Текст программы и результаты ее работы.
контрольная работа [108,9 K], добавлен 08.03.2013Описание алгоритма решения транспортной задачи по планированию перевозки зерна. Ход решения задачи вручную, в программе TORA методом наименьшего элемента, с помощью MS Excel. Разработка программы для решения задачи в общем виде средствами Delphi.
курсовая работа [2,5 M], добавлен 22.11.2012Численное решение задачи Коши для обыкновенного дифференциального уравнения первого и второго порядка методом Эйлера и Рунге-Кутты и краевой задачи для ОДУ второго порядка с применением пакета MathCad, электронной таблицы Excel и программы Visual Basic.
курсовая работа [476,2 K], добавлен 14.02.2016Ознакомление с методами решения оптимизационных задач. Алгоритм метода ломанных. Определение наименьшего значения целевой функции. Описание метода анализа математической модели. Расчет поиска минимума по методу ломаных. Листинг программы, интерфейс.
курсовая работа [2,2 M], добавлен 06.12.2014Особенности решения транспортной задачи распределительным методом и анализ результатов. Построение математической модели, алгоритма. Создание программы для решения транспортной задачи распределительным методом в программной среде Borland Delphi 7.
курсовая работа [1000,7 K], добавлен 23.06.2012Определение минимума функции на заданном отрезке методами перебора, поразрядного поиска, дихотомии, золотого сечения и методом парабол. Нахождение и расчет нулей функции методом Ньютона. Построение графика данной функции, ее минимальное значение.
реферат [55,6 K], добавлен 09.04.2013Постановка задачи. Математические и алгоритмические основы решения. Функциональные модели и блок-схемы решения. Программная реализация решения. Пример выполнения программы. Методы, использующие исключение отрезков. Учет информации о значениях функции.
курсовая работа [527,0 K], добавлен 15.01.2010Описание математической модели определения тока в электрической цепи с помощью решения системы алгебраических уравнений методом Гаусса. Описание и разработка блок-схемы программы. Ввод данных задачи, составление программы и анализ результатов решения.
контрольная работа [231,8 K], добавлен 15.08.2012Описание методов дихотомии (половинного деления) и касательных. Их применение для решения нелинейных уравнений. Графическое отделение корней. Блок-схемы алгоритмов. Тексты (листинги) программ на языке Delphi. Тестовый пример решения задачи с помощью ЭВМ.
курсовая работа [944,6 K], добавлен 15.06.2013Проектирование программного модуля. Описание схемы программы и структуры разрабатываемого пакета. Написание кода ввода исходных данных и основных расчетов. Тестирование программного модуля. Тестирование решения задачи. Методы численного интегрирования.
курсовая работа [549,9 K], добавлен 20.03.2014Метод решения математической модели на примере решения задач аналитической геометрии. Описание согласно заданному варианту методов решения задачи. Разработка математической модели на основе описанных методов. Параметры окружности минимального радиуса.
лабораторная работа [310,6 K], добавлен 13.02.2009Описание и функциональное назначение программы по оптимизации функции, ее логическая структура и используемые технические средства. Практическое применение программы, вызов и загрузка, входные и выходные данные, выполнение контрольного примера и листинг.
курсовая работа [337,4 K], добавлен 26.02.2012Составление математической модели решения транспортной задачи. Описание входной и выходной информации. Программно-технические средства, используемые при разработке программы. Общее описание программы, ее назначение, информационная совместимость.
курсовая работа [49,1 K], добавлен 24.05.2013Особенности точных и итерационных методов решения нелинейных уравнений. Последовательность процесса нахождения корня уравнения. Разработка программы для проверки решения нелинейных функций с помощью метода дихотомии (половинного деления) и метода хорд.
курсовая работа [539,2 K], добавлен 15.06.2013Решение биквадратного уравнения методом введения новой переменной. Создание программы с понятным интерфейсом. Математические и алгоритмические основы решения задачи. Алгебраическое уравнение четвертой степени. Программная реализация решения задачи.
курсовая работа [412,5 K], добавлен 02.02.2010Критерий эффективности и функции в системе ограничений. Общая постановка задачи линейного программирования. Составление математической модели задачи. Алгоритмы решения задачи симплексным методом. Построение начального опорного решения методом Гаусса.
курсовая работа [232,4 K], добавлен 01.06.2009