КАТЕГОРИИ: Архитектура-(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; Просмотров: 206; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |