CURSOV (675654)

Файл №675654 CURSOV (Вычисление площади сложной фигуры методом имитационного моделирования)CURSOV (675654)2016-07-31СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

ÌÎÑÊÎÂÑÊÈÉ ÃÎÑÓÄÀÐÑÒÂÅÍÍÛÉ ÈÍÑÒÈÒÓÒ ÝËÅÊÒÐÎÍÍÎÉ ÒÅÕÍÈÊÈ

(ÒÅÕÍÈ×ÅÑÊÈÉ ÓÍÈÂÅÐÑÈÒÅÒ)

Ðàñ÷åò ïëîùàäè ñëîæíîé ôèãóðû ñ ïîìîùüþ ìåòîäà

èìèòàöåîííîãî ìîäåëèðîâàíèÿ .

Ëîãâèíåíêî Â.

Ìîñêâà. 1995 ã.

Çàäàíèå: Ðàçðàáîòàòü ïðîãðàììó, ïîçâîëÿþùóþ ñ ïîìîùüþ ìåòîäà èìèòàöèîííîãî ìîäåëèðîâàíèÿ ðàññ÷èòàòü ïëîùàäü ñëîæíîé ôèãóðû, îãðàíè÷åííîé ñâåðõó êðèâîé U=Y1(x) , ñíèçó V=Y2(x).

1. Äëÿ ðåøåíèÿ äàííîé çàäà÷è ïðèìåíèì ñëåäóþùèé ìåòîä.

Îãðàíè÷èì çàäàííóþ ôèãóðó ïðÿìîóãîëüíèêîì, ñòîðîíû êîòîðîãî ïðîõîäÿò:

÷åðåç òî÷êè ìàêñèìàëüíîãî è ìèíèìàëüíîãî çíà÷åíèÿ ôóíêöèé è ïàðàëëåëüíû îñÿì àáñöèññ;

÷åðåç ëåâóþ è ïðàâóþ ãðàíè÷íûå òî÷êè îáëàñòè îïðåäåëåíèÿ àðãóìåíòà è ïàðàëëåëüíû îñÿì îðäèíàò.

Èñïîëüçóÿ äàò÷èê ñëó÷àéíûõ ÷èñåë ðàçûãðûâàþòñÿ êîîðäèíàòû ñëó÷àéíîé òî÷êè èç ýòîãî ïðÿìîóãîëüíèêà . Ïðîâåðÿåì ïîïàäàåòå òî÷êè â çàäàííóþ ôèãóðó. Çíàÿ ïëîùàäü ïðÿìîóãîëüíèêà è îòíîøåíèå ïîïàâøèõ òî÷åê ê èõ îáùåìó ÷èñëó ðàçûãðàííûõ, ìîæíî îöåíèòü ïëîùàäü èíòåðåñóþùåé íàñ ôèãóðû.

2. Òåõíè÷åñêèå õàðàêòåðèñòèêè îáúåêòà èññëåäîâàíèÿ:

2.1. Äèàïàçîí çíà÷åíèé ïàðàìåòðîâ çàäà÷è.

Ìíîæåñòâî êðèâûõ îãðàíè÷èì ïîëèíîìàìè òðåòüåãî ïîðÿäêà, â âèäó òîãî ÷òî ïîëèíîìû áîëåå âûñîêîãî ïîðÿäêà ñèëüíî óâåëè÷èâàþò âðåìÿ âû÷èñëåíèÿ. Ïðè÷åì äëÿ íàãëÿäíîñòè ðåøåíèÿ âïîëíå äîñòàòî÷íî ïîðÿäêà "3".

Êîýôôèöèåíòû ïîëèíîìà îãðàíè÷èì äèàïàçîíîì [-100,100] .

Îáëàñòü îïðåäåëåíèÿ îãðàíè÷èì äèàïàçîíîì [-100,100].

Ýòè îãðàíè÷åíèÿ ââåäåíû äëÿ áîëåå íàãëÿäíîãî ðåøåíèÿ çàäà÷è, è èçìåíèòü èõ íå ñ òåõíè÷åñêîé òî÷êè çðåíèÿ íå ñëîæíî.

3. Ðåøåíèå çàäà÷è.

Äàííàÿ çàäà÷à ðåøåíà â ñðåäå Turbo C. Äëÿ ðåøåíèÿ ïîòðåáîâàëîñü îáùóþ çàäà÷ó ðàçáèòü íà íåñêîëüêî íåáîëüøèõ çàäà÷ (ïðîöåäóð).

À èìåííî îòäåëüíî( â âèäå ïðîöåäóð) áûëè ðåøåíû çàäà÷è

-ââîä ïàðàìåòðîâ; |

ïðîöåäóðà get_poly |

|

-ñîîáùåíèå îá îøèáêå ïðè ââîäå; | Ôàéë WINDOW.C

ïðîöåäóðà talkerror |

|

-ðèñîâàíèå ðàìêè îêíà; |

ïðîöåäóðà border |

-âû÷èñëåíèå ìèíèìàëüíîãî è |

ìàêñèìàëüíîãî çíà÷åíèè ôóíêöèé ; |

ïðîöåäóðà f_max |

|

-âû÷èñëåíèå çíà÷åíèÿ ïîëèíîìà â |

çàäàííîé òî÷êå; | Ôàéë MATIM.C

ïðîöåäóðà fun |

|

-âû÷èñëåíèå êîðíåé êóáè÷íîãî |

óðàâíåíèÿ; |

ïðîöåäóðà f_root |

-âû÷èñëåíèå èíòåãðàëà ÷èñëåííûì |

ìåòîäîì; |

ïðîöåäóðà i_num |

| Ôàéë F_INTEGER.C

-âû÷èñëåíèå èíòåãðàëà ñ ïîìîùüþ |

èìèòàöèîííîãî ìîäåëèðîâàíèÿ; |

ïðîöåäóðà i_rand |

-èíèöèàëèçàöèÿ ãðàôè÷åñêîãî ðåæèìà |

ïðîöåäóðà init |

|

-îáâîäêà íåïðåðûâíîãî êîíòóðà | Ôàéë DRAFT.C

ïðîöåäóðà f_draft |

|

- âûðèñîâêà îñåé êîîðäèíàò |

ïðîöåäóðà osi |

-âûðèñîâêè ãðàôèêîâ ôóíêöèé è | Ôàéë DRAFT_F.C

øòðèõîâêà çàäàííîé ïëîùàäè |

ïðîöåäóðà draft_f |

-âûðèñîâêà ãðàôèêîâ âû÷èñëåíèÿ |

ïëîùàäè ðàçíûìè ìåòîäàìè è âûâîä | Ôàéë DRAFT_N.C

òàáëèöû ðåçóëüòàòîâ âû÷èñëåíèÿ |

ïðîöåäóðà draft_n |

Ñõåìà àëãîðèòìà èìååò âèä:

µ §

4. Îïèñàíèå ïðîöåäóð èñïîëüçóåìûé â ïðîãðàììå.

4.1 Ôàéë WINDOW.C.

4.1.1 Ïðîöåäóðà ââîäà ïàðàìåòðîâ.

void get_poly( float *b3,float *b2,float *b1,float *b0, //-êîýôôèöèåíòû ïîëèíîìà Y1

fliat *c3,float *c2,float *c1,float *c0, //-êîýôôèöèåíòû ïîëèíîìà Y2

float *x1,float *x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

int *N ) // êîëè÷åñòâî îáðàùåíèé ê ãåíåðàòîðó //ñëó÷àéíûõ ÷èñåë

4.1.2 Ïðîöåäóðà ðèñîâàíèÿ ðàìêè îêíà.

void border(int sx, int sy, int en, int ey) // ðèñóåò ðàìêó ñ êîîðäèíàòàìè ëåâîãî âåðõíåãî // óãëà (sx,sy) è êîîðäèíàòàìè ïðàâîãî íèæíåãî // óãëà (ex,ey)

4.1.3 Ïðîöåäóðà ñîîáùåíèÿ îá îøèáêå ïðè ââîäå.

void talkerror(void) -

Ïðîöåäóðà ïîäàåò çâóêîâîé ñèãíàë è âûâîäèò íà ýêðàí ñîîáùåíèå îá îøèáêå ïðè ââîäå.

4.2. Ôàéë MATIM.C

4.2.1 Ïðîöåäóðà âû÷èñëåíèÿ ìàêñèìàëüíîãî è ìèíèìàëüíîãî çíà÷åíèé ôóíêöèé íà çàäàííîì èíòåðâàëå.

void f_max(float b3,float b2,float b1,float b0, //-êîýôôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôôèöèåíòû ïîëèíîìà Y2

float x1,float x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

float *amin, float *amax) // ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ // ôóíêöèé

4.2.2 Ïðîöåäóðà âû÷èñëåíèÿ çíà÷åíèÿ ïîëèíîìà â äàííîé òî÷êå.

float fun(float b3,float b2,float b1,float b0, //-êîýôôèöèåíòû ïîëèíîìà

float x)

Âîçâðàùàåò çíà÷åíèå ïîëèíîìà â òî÷êå õ.

4.2.3 Ïðîöåäóðà âû÷èñëåíèÿ êîðíåé êóáè÷íîãî óðàâíåíèÿ.

int f_root(float b3,float b2,float b1,float b0, //-êîýôôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôôèöèåíòû ïîëèíîìà Y2

float x1,float x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

float e, // òî÷íîñòü âû÷èñëåíèÿ êîðíåé

float *k1,float *k2,float *k3) // çíà÷åíèÿ êîðíåé // ôóíêöèé

Âîçâðàùàåò êîëè÷åñòâî äåéñòâèòåëüíûõ êîðíåé íà äàííîì èíòåðâàëå.

4.3. Ôàéë F_INTEGER.C

4.3.1 Ïðîöåäóðà âû÷èñëåíèÿ ïëîùàäè ñëîæíîé ôèãóðû ÷èñëåííûì ìåòîäîì.

float f_num(float b3,float b2,float b1,float b0, //-êîýôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôèöèåíòû ïîëèíîìà Y2

float x1,float x2) // îáëàñòü îïðåäåëåíèÿ [x1,x2]

Âû÷èñëÿåò ïëîùàäü ñëîæíîé ôèãóðû.

4.3.2 Ïðîöåäóðà âû÷èñëåíèÿ ïëîùàäè ñëîæíîé ôèãóðû c ïîìîùüþ ìåòîäà èìèòàöèîííîãî ìîäåëðîâàíèÿ

float f_(float b3,float b2,float b1,float b0, //-êîýôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôèöèåíòû ïîëèíîìà Y2

float x1,float x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

float fmin,float fmax, // ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ //ôóíêöèé íà äàííîì èíòåðâàëå

int n) // êîëè÷åñòâî îáðàùåíèé ê ãåíåðàòîðó // ñëó÷àéíûé ÷èñåë

Âû÷èñëÿåò ïëîùàäü ñëîæíîé ôèãóðû ñ ïîìîùüþ ìåòîäà èìèòàöèîííîãî ìîäåëèðîâàíèÿ.

4.4 Ôàéë DRAFT.C

4.4.1 Ïðîöåäóðà èíèöèàëèçàöèè ãðàôè÷åñêîãî ðåæèìà.

void init (void)

4.4.2 Ïðîöåäóðà îáâîäêè íåïðåðûâíîãî êîíòóðà.

void f_draft (float b0,float b1,float b2,float b3, //-êîýôèöèåíòû ïîëèíîìà

float x1,float x2) // îáëàñòü îïðåäåëåíèÿ [x1,x2]

4.4.3 Ïðîöåäóðà âûðèñîâêè îñåé êîîðäèíàò.

void osi ( float x1, float x2, // îáëàñòü îïðåäåëåíèÿ ôóíêöèé

float b) // ìàøòàáíûé êîýôèöèåíò ðàñ÷èòûâàåòñÿ ïî ôîðìóëå

// b= j - Fmin*(i-j) / (Fmax - Fmin)

// ãäå i,j - çàäàþò ïîëîæåíèå ãðàôèêà íà ýêðàíå

// Fmin,Fmax - ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ //ôóíêöèé íà äàííîì èíòåðâàëå

4.5 Ôàéë DRAFT_F.

4.5.1 Ïðîöåäóðà âûðèñîâêè ãðàôèêîâ ôóíêöèé.

void draft_f (float b3,float b2,float b1,float b0, //-êîýôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôèöèåíòû ïîëèíîìà Y2

float x1,float x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

float fmin,float fmax, // ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ //ôóíêöèé íà äàííîì èíòåðâàëå

int k, int i, int l, int j) // êîîðäèíàòû, çàäàþùèå ïîëîæåíèå //ãðàôèêà íà ýêðàíå

4.6 Ôàéë DRAFT_N.

4.6.1 Ïðîöåäóðà âûðèñîâêè ãðàôèêîâ çíà÷åíèé ïîëùàäåé ðàñ÷èòàííûõ ÷èñëâûì ìåòîäîì è ìåòîäîì èìèòàöèîííîãî ìîäåëèðîâàíèÿ â çàâèñèìîñòè îò êîëè÷åñòâà îáðàùåíèé ê ãåíåðàòîðó ñëó÷àéíûõ ÷èñåë.

void draft_e (float b3,float b2,float b1,float b0, //-êîýôèöèåíòû ïîëèíîìà Y1

fliat c3,float c2,float c1,float c0, //-êîýôèöèåíòû ïîëèíîìà Y2

float x1,float x2, // îáëàñòü îïðåäåëåíèÿ [x1,x2]

float fmin,float fmax, // ìèíèìàëüíîå è ìàêñèìàëüíîå çíà÷åíèÿ //ôóíêöèé íà äàííîì èíòåðâàëå

float Sn, // ïëîùàäü ðàññ÷èòàííàÿ ÷èñëîâûì ìåòîäîì

int k, int i, int l, int j) // êîîðäèíàòû, çàäàþùèå ïîëîæåíèå //ãðàôèêà íà ýêðàíå

4.7 Ôàéë SQ.C

Âñå ôàéëû îáúåäèíåíû â ãëàâíîé ïðîãðàììå SQ.C, êîòîðàÿ ÿâëÿåòñÿ îñíîâíîé è êîîðäèíèðóåò ðàáîòó ïðîöåäóð.

5 Èñïîëüçîâàíèå ïðîãðàììû.

Äëÿ èñïîëüçîâàíèÿ äàííîé ïðîãðàììû íåîáõîäèìà îïåðàöèîííàÿ ñðåäà MS DOS,

ôàéë egavega.bgi, è ñîáñòâåííî ñàìà ñêîìïèëèðîâàííàÿ ïðîãðàììà sq.exe.

6 Èñõîäíûé òåêñò ïðîãðàììû äàí â ïðèëîæåíèè ¹1.

7 Òåñîâûé ïðèìåð ïîêàçàí â ïðèëîæåíèè ¹2.

8 Ñïèñîê èñïîëüçîâàííîé ëèòåðàòóðû.

8.1 ßçûê ïðîãðàììèðîâàíèÿ Ñè äëÿ ïåðñîíàëüíîãî êîìïüþòåðà .

Ñ.Î. Áî÷êîâ, Ä.Ì. Ñóááîòèí.

8.2 Ñ++ . Îïèñàíèå ÿçûêà ïðîãðàììèðîâàíèÿ.

Áüÿðí Ñòðàóñòðàï.

8.3 TURBO C. User's Guide. Borland International, Inc. 1988.

8.4 TURBO C. Reference Guide. Borland International, Inc. 1988.

9 Çàêëþ÷åíèå.

9.1 Ñîïîñòàâëåíèå ðåçóëüòàòîâ ðàáîòû ñ òåðáîâàíèåì çàäàíèÿ.

Ñîïîñòàâëÿÿ ðåçóëüòàòû ðàáîòû ñ òðåáîâàíèåì çàäàíèÿ, ìîæíî ñêàçàòü ÷òî çàäà÷à ðåøåíà â ïîëíîé ìåðå, çà èñêëþ÷åíèåì, áûòü ìîæåò îáùíîñòè îòíîñèòåëüíî âîçìîæíîñòè ðàñ÷åòà äëÿ ìíîãèå êëàññîâ ôóíêöèé. Íî ðåøåíèå áîëåå îáùåé çàäà÷è ( ò.å. âîçìîæíîñòü ðàñ÷åòà äëÿ ìíîãèõ êëàññîâ ôóíêöèé ) ïðåäñòàâëÿåòñÿ çíà÷èòåëüíî áîëåå ãðîìîçäêèì, è âîîáùå ÿâëÿåòñÿ îòäåëüíîé çàäà÷åé. Ïîýòîìó àâòîð íå ñ÷åë íóæíûì ðàçðàáàòûâàòü àëãîðèòì ââîäà ìíîãèõ ôóíêöèé è çàîñòðèë âíèìàíèå ñîáñòâåííî íà ñàìîé çàäà÷å - ðàñ÷åòå ïëîùàäè ñëîæíîé ôèãóðû ñ ïîìîùüþ ìåòîäà èìèòàöèîííîãî ìîäåëèðîâàíèÿ è ñðàâíåíèå ýòîãî ìåòîäà ñ ÷èñëîâûìè ìåòîäàìè.

9.2 Ðåêîìåíäàöèè ïî óëó÷øåíèþ ïðîãðàììû.

Ïðè ðàçðàáîòêå ïðîãðàììû àâòîð óïóñòèë âîçìîæíîñòü ðàáîòû ñ ÷èñëîâûìè ìàññèâàìè. Ïîýòîìó, ìîæíî óëó÷øèòü ïðîãðàììó ïåðåïèñàâ ðÿä ïðîöåäóð ïîä ìàññèâû , ÷òî ñäåëàåò ïðîãðàììó ìåíåå ìàññèâíîé è áîëåå íàãëÿäíîé. Øèðîêîå

âîçìîæíîñòè ïî óëó÷øåíèþ ïðîãðàììû â îáëàñòè ðàçðàáîòêè àëãîðèòìîâ ââîäà ðàçëè÷íûé êëàññîâ ôóíêöèé.

Äëÿ ðåøåíèÿ çàäà÷è ìåòîäîì èìèòàöèîííîãî ìîäåëèðîâàíèÿ îãðàíè÷èì äàííóþ

12

Характеристики

Тип файла
Документ
Размер
458,53 Kb
Тип материала
Предмет
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов реферата

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7029
Авторов
на СтудИзбе
260
Средний доход
с одного платного файла
Обучение Подробнее