Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Структура програми




 

Дана програма складається з модулів і функцій, що робить її більш зрозумілою.

Основним модулем програми є - main_pr.cpp. Даний модуль складається з функції Osnovna_progr(). Ця функція ініціалізує графічний режим, пересуває рамку по пунктах меню і викликає функції інших модулів.

Допоміжні модуля – це

menu.cpp, його структура:

У даному модулі викликаються функції інших модулів, описаний клас Ramka,

class Ramka

{

public:

int kod_klav(); // код натиснутої клавіші

void ramka_1(); // меню користувача

void ramka_2(); // рамка для пунктів меню

void uslovie(); // вибір потрібної функції

void Help(); // допомога для роботи з програмою

};

 

який складається з відкритих функцій- членів:

int Ramka:: kod_klav() – повертає значення натиснутої клавіші,

int kod_klav()

{

klav=getch();

return klav;

};

 

void ramka_1() – виводить на екран меню користувача,

void Ramka:: ramka_1()

{

outtextxy(180,50,"РОЗВ’ЯЗАННЯ ДИФЕРЕНЦІАЛЬНИХ РІВНЯНЬ.");

outtextxy(230,180,"1.Метод Адамса.");

outtextxy(230,200,"2.Метод Рунге-Кутта.");

outtextxy(230,220,"3.Метод Крилова.");

outtextxy(230,240,"4.Приклад для користувача.");

setcolor(9);

outtextxy(100,420,"F1-Допомога Esc - Вихід ");

};

 

void ramka_2() – малює рамку для пунктів меню,

void ramka_2()

{

setcolor(0);rectangle(220,p,400,pp); // зафарбовує рамку

setcolor(2);rectangle(220,y1,400,y2); // малює рамку

};

 

void uslovie() – викликає потрібну функцію:

При виборі першого пункту меню викликається функція Adamca().

При виборі другого пункту меню викликається функція Runge_Kuta().

При виборі третього пункту меню викликається функція Krulov().

При виборі четвертого пункту меню викликається функція All_Metods().

void Ramka:: uslovie()

{if (y1= =170){closegraph(); // вибір першого пункту меню

Adamca(); //виклик методу Адамса

initgraph(&gdriver,&gmode,"c:\\borlandc\\bgi");

}

else

if (y1= =190) {closegraph(); // вибір другого пункту меню

Runge_Kuta(); //виклик методу Рунге-Кута

initgraph(&gdriver,&gmode,"c:\\borlandc\\bgi");

}

else if (y1= =210) // вибір третього пункту меню

{closegraph();

Krulov(); //виклик методу Крилова

initgraph(&gdriver,&gmode,"c:\\borlandc\\bgi");

}

else

{closegraph(); // вибір четвертого пункту меню

All_Metods(); // виклик усіх методів

initgraph(&gdriver,&gmode,"c:\\borlandc\\bgi");

}

};

void Help() – виводить з файлу допоміжну інформацію про програму.

 

void Ramka:: Help()

{ cleardevice();

setcolor(15);

FILE *f;

int Nstr=0;

char buff[612]; //буфер для виведеної інформації

f=fopen("c:\\borlandc\\help_srm.txt","r"); //відкриття файлу для зчитування

while (!feof (f)) // читання даних поки не кінець файлу

{

buff[0] = fgetc(f);

for(it i=1;!feof (f)&&buff[i-1]!='\n';i++)

buff[i] =fgetc(f);

buff[i-1]='\0';

outtextxy (10,Nstr*10,buff); //висновок інформації на екран

Nstr++;

}

ad.cpp, його структура:

У даному модулі описано три функції:

void Yravnen() – виводить на екран приклади рівнянь, що даються користувачу для розв’язання(опис функції вище в методі Рунге-Кута).

 

double Function(float x,float y,int chose) – вибирає яке рівняння потрібно вирішити і підставляє в нього значення x, y і повертає отримане значення (опис функції вище в методі Рунге-Кутта).

 

void Adamca() – розв’язання диференціального рівняння методом Адамса (опис функції вище в методі Адамса).

 

run.cpp, його структура:

У даному модулі описано три функції:

void Yravnen() – виводить на екран приклади рівнянь, що даються користувачу для розв’язання(опис функції вище в методі Рунге-Кута).

 

double Function(float x,float y,int chose) – вибирає яке рівняння потрібно вирішити і підставляє в нього значення x, y і повертає отримане значення (опис функції вище в методі Рунге-Кута).

 

void Runge_Kuta() – розв’язання диференціального рівняння методом Рунге-Кута(опис функції вище в методі Рунге-Кутта).

krulov.cpp, його структура:

У даному модулі описано три функції:

void Yravnen() – виводить на екран приклади рівнянь, що даються користувачу для розв’язання(опис функції вище в методі Рунге-Кутта).

 

double Function(float x,float y,int chose) – вибирає яке рівняння потрібно вирішити і підставляє в нього значення x, y і повертає отримане значення (опис функції вище в методі Рунге-Кута).

 

void Krulov() – розв’язання диференціального рівняння методом Крилова

(опис функції вище в методі Крилова).

 

allmet.cpp, його структура:

У даному модулі описано п'ять функції:

double Function(float x,float y) -підставляє в рівняння значення x, y і повертає отримане значення.

double Function(float x,float y)

{double f;

f=x+y;

return f;

}

 

void Adamca() – розв’язання диференціального рівняння методом Адамса

(опис функції вище в методі Адамса, тільки без уведення початкових даних; дані задаються самим користувачем).

void Runge_Kuta() – розв’язання диференційного рівняння методом Рунге-Кутта(опис функції вище в методі Рунге-Кутта, тільки без уведення початкових даних; дані задаються самим користувачем).

 

void Krulov() – розв’язання диференційного рівняння методом Крилова (опис функції вище в методі Крилова, тільки без уведення початкових даних; дані задаються самим користувачем).

 

void All_Metods() – викликаються всі три методи розв’язання диференційного рівняння.

void All_Metods()

{

Adamca(); // виклик функції розв’язання диференційного рівняння. методом Адамса

Runge_Kuta(); // виклик функції розв’язання диференційного рівняння. методом Рунге-Кута

Krulova(); // виклик функції розв’язання диференційного рівняння. методом Крилова

}

 




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


Дата добавления: 2014-01-07; Просмотров: 198; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.015 сек.