Изчисление на площта на сложни форми с помощта на метод за симулация

Изчисление на площта на сложни форми с помощта на метод за симулация

Задача: Да се ​​разработи програма, която позволява на метода на симулация, за да се изчисли сложна област на фигурата, ограничена от горната част на кривата U = Y1 (х). под V = Y2 (х).

1. следния метод може да се използва за решаване на този проблем.

Ограничено до дадена фигура на правоъгълник, чиито страни са:

през точките на максимални и минимални стойности на функциите и осите на абсцисата са успоредни;

през лявата и дясната граница точки аргумент определение и успоредно на осите на ордината.

Използване на случайни числа сензор играе случаен точка координати на този правоъгълник. Проверете точка спад в дадена форма. Знаейки областта на правоъгълник и отношението получи точки за общия им брой разиграва, е възможно да се изчисли площта на интерес за нас цифрите.

2. Технически характеристики на изследвания обект:

2.1. Диапазонът на стойностите на параметрите на проблема.

Множество от граничните криви на трети полиноми ред, тъй като полиноми от по-висш порядък значително увеличаване на времето за изчисляване. Освен това, за по-голяма яснота, решението е съвсем достатъчно за "3".

Коефициентите на границата диапазон полином [-100,100].

ОБЛАСТ определяне граница на обхвата [-100,100].

Тези ограничения са предназначени за решаване на визуален проблем, а не да ги променя от техническа гледна точка, не е трудно.

3. Решението на проблема.

Този проблем е решен в Turbo C. среда за решаване на проблема като цяло е необходимо да се раздели на няколко по-малки задачи (процедури).

Именно отделно (под формата на процедури) са решени задачи

-съобщение за грешка, когато се влиза;

Изчисление на площта на сложни форми с помощта на метод за симулация

4. описание на процедурите, използвани в програмата.

4.1 Файл WINDOW.C.

4.1.1 В процедурата за въвеждане на параметри.

невалидни get_poly (поплавък * b3, b2 поплавък *, поплавък * Ь1, поплавък * b0, // - полином коефициенти Y1

fliat * c3, поплавък * с2, поплавък * c1, поплавък * c0, // - коефициентите на полином Y2

поплавък * x1, поплавък * x2, // домейна на [X1, X2]

Int * N) // брой обаждания на случайни числа генератор //

4.1.2 процедурата за съставяне на рамката на прозореца.

нищожен граница (инт SX, вътр Сай, вътр ен, вътр ей) // обръща рамката с координатите на горния ляв ъгъл // (SX, Сай) и координатите на долния десен ъгъл // (ех, ей)

4.1.3 Процедура за съобщаване на грешки, докато пишете.

Процедура писука и показва съобщение за грешка, ако на входа.

4.2.1 процедурата за изчисляване на максималните и минималните стойности на функциите на предварително определен интервал.

невалидни f_max (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък x2, // домейн [x1, x2]

поплавък * амин, поплавък * AMAX) // минималните и максималните стойности на функции //

4.2.2 процедура за изчисляване на полином стойности в даден момент.

плава забавно (поплавък b3, флоатно b2, флоатно b1, флоатно b0, // - полином коефициенти

Връща стойността на полинома при х.

4.2.3 В процедурата за изчисляване на кубичен корен на уравнението.

Int f_root (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък x2, // домейн [x1, x2]

поплавък д, // корени точност изчисление

поплавък * k1, поплавък * k2, поплавък * k3) // стойности // корен функции

Връща броя на реалните корени в интервала.

4.3. F_INTEGER.C файл

4.3.1 процедура за изчисляване на площта на сложни форми от числен метод.

поплавък f_num (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък х2) // домейн [x1, x2]

Изчислява комплекс областта на фигурата.

4.3.2 Процедурата за изчисляване на площта на сложна форма при използване на метода на симулация в modelrovaniya

поплавък f_ (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък x2, // домейн [x1, x2]

поплавък Fmin, поплавък Fmax, // минимални и максимални стойности на функции // в този обхват

Int п) // брой достъпи до генератор на случайни числа //

Изчислява комплекс площта на фигурата, използвайки метода на симулация.

4.4.1 инициализация рутинни графики режим.

4.4.2 Процедура инсулт непрекъсната линия.

невалидни f_draft (флоат b0, флоат В1, В2 поплавък, флоат b3, // - полином коефициенти

поплавък x1, поплавък х2) // домейн [x1, x2]

4.4.3 Процедура vyrisovki оси.

невалидни OSI (поплавък x1, x2, флоатно // функции на домейни

поплавък б) // коефициент mashtabnykh изчислява по формулата

// б = J - Fmin * (I-J) / (Fmax - Fmin)

// където И, Й - определя позицията на графиките на екрана

// Fmin, Fmax - минималните и максималните стойности на функции // в този обхват

4.5 Файл DRAFT_F.

4.5.1 Процедура vyrisovki графики.

невалидни draft_f (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък x2, // домейн [x1, x2]

поплавък Fmin, поплавък Fmax, // минимални и максимални стойности на функции // в този обхват

Int к, Int I, Int л, Int J) // координати, които определят положението на графики на екрана //

4.6 Файл DRAFT_N.

4.6.1 Процедура vyrisovki графики polschadey ценности Calculate метод chislvym и симулация в зависимост от броя на достъпа до генератора на случайни числа.

невалидни draft_e (флоат b3, b2 поплавък, флоат b1, флоат b0, // - полином коефициенти Y1

fliat c3, флоат с2, флоат c1, флоат c0, // - коефициентите на полином Y2

поплавък x1, поплавък x2, // домейн [x1, x2]

поплавък Fmin, поплавък Fmax, // минимални и максимални стойности на функции // в този обхват

поплавък Sn, // област изчислява числено от

Int к, Int I, Int л, Int J) // координати, които определят положението на графики на екрана //

Всички файлове са обединени в SQ.C основната програма, която е основният и координатите на процедурите за работа.

5 Използване на програмата.

За да използвате тази програма изисква MS DOS операционна среда,

egavega.bgi файл, а в действителност тя съставя sq.exe програма.

6 Източник код е дадена в Приложение №1.

7 дъска пример е показан в допълнение №2.

8 препратки.

1. С език за програмиране на компютъра. SO Бочков, DM Subbotin.

2. C ++. Описание на езика за програмиране. Бярне Straustrap.

3. TURBO В. Ръководство за потребителя. Borland International, Inc. 1988 година.

4. TURBO С справочник. Borland International, Inc. 1988 година.

9.1 Сравнение на резултатите с terbovaniem на работа.

9.2 Препоръки за подобряване на програмата.

възможности за подобряване на програмата за развитието на алгоритми за въвеждане на различните класове функции.

Приложение 1. Текстът на програмата.

SQ основни програми ще