Скачать .docx Скачать .pdf

Реферат: НАХОЖДЕНИЕ ВСЕХ ДЕЙСТВИТЕЛЬНЫХ КОРНЕЙ АЛГЕБРАИЧЕСКОГО МНОГОЧЛЕНА МЕТОДОМ ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (БИСЕКЦИИ) И МЕТОДОМ ХОРД И КАСАТЕЛЬНЫХ С УКАЗАННОЙ ТОЧНОСТЬЮ И УЧЕТОМ ВОЗМОЖНОЙ КРАТНОСТИ КОРНЕЙ

НАХОЖДЕНИЕ ВСЕХ ДЕЙСТВИТЕЛЬНЫХ КОРНЕЙ АЛГЕБРАИЧЕСКОГО МНОГОЧЛЕНА МЕТОДОМ ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (БИСЕКЦИИ) И МЕТОДОМ ХОРД И КАСАТЕЛЬНЫХ С УКАЗАННОЙ ТОЧНОСТЬЮ И УЧЕТОМ ВОЗМОЖНОЙ КРАТНОСТИ КОРНЕЙ

ФедералЃEЃE АвиациоыLЃE СЃEжбЃEРъBсиЃE/b>

МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ ГРАЖДАНСКОЙ АВИАЦИИ

Кафедра ЃEикЃEдньH ЃEтеЃEтиЃE

Курсовая работа защищеъь

ЃEъGенЃEЃE_________________.

.__________________________.

РукьAьCителЃE/b>

доцеыQ, ЃEЃEЃEЛукинЃEО. П.

.__________________________.

ЃEдписЃE/i>

КУРСОВАЯ РАБОТА

ЃE теЃE

НАХОЖДЕНИЕ ВСЕХ ДЕЙСТВИТЕЛЬНЫХ КОРНЕЙ АЛГЕБРАИЧЕСКОГО МНОГОЧЛЕНА МЕТОДОМ ДЕЛЕНИЯ ОТРЕЗКА ПОПОЛАМ (БИСЕКЦИИ) И МЕТОДОМ ХОРД И КАСАТЕЛЬНЫХ С УКАЗАННОЙ ТОЧНОСТЬЮ И УЧЕТОМ ВОЗМОЖНОЙ КРАТНОСТИ КОРНЕЙ

(ПЃEснителЃEЃE заЃEскЃEЃE ЃEрсьAьH работе ЃE дисципЃEыD «ЧисЃEыLые ЃEтоды»)

РабъCу выЃEЃEилЃE/b>

студенты 5-го ЃEрсЃE/b>

специаЃEыMстЃE 01.02

КьFЃEЃE СергеЃEАЃEЃEандрьAич

/КьFЃEЃE С.А./------------------------.

СеменчихиЃE ВЃEдиЃEЃEВЃEдиЃEровиЃE/b>

/СеменчихиЃE В.В./------------------------.

28.X/1999 года.

МОСКВА - 1999

АННОТАЦИЯ

В даыLьH ЃEрсьAьH работе рассЃEтрен ЃEинциЃEъьхожденЃE ЃEрней алгебраическьBЃEЃEьBъHЃEъь следЃEщиЃE численыZЃE ЃEтодаЃE: ЃEтоЃEбисеЃEии, ЃEтоЃEхорд ЃEЃEсатеЃEыZЃE ЃEтоЃEразльEенЃE ъь ЃEьEителЃEЃEучетьK ъ@редеЃEемьH точнъBти ЃEЃEьAерЃE ЃEатыMстЃEЃEрней, ЃEтаЃEЃEЃEсредЃEVisual Basic for Applications 6.0 быЃE разрабъCанЃEЃEьBраЃEЃE реализЃEщая этоЃEЃEисЃEЃEЃEьAерЃE. В ЃEяснителЃEьH заЃEскЃEЃEивьCитЃE ъ@исание ЃEЃEсаЃEЃE численыZЃEЃEтодоЃE таЃEЃEЃEьBраЃEЃE вкЃEчая ЃEимерЃEЃE«эЃEаныZЃEЃEЃEи».

1. ТЕХНИЧЕСКОЕ ЗАДАНИЕ

Разработать ЃEьBраЃEЃEдля вычисленЃE ЃEрней алгебраическьBЃEЃEьBъHЃEъь следЃEщиЃE численыZЃE ЃEтодаЃE : ЃEтодоЃE ЃEЃEвиыLьBЃEдеЃEыGя, ЃEтодоЃEхорд ЃEЃEсатеЃEыZЃE ЃEтодоЃEразльEенЃE ъь ЃEьEителЃE ЃEтаЃEЃEь@есЃEчить вычисление значений ЃEрней ЃEуказываеЃEЃE точнъBтью ЃEЃEьAерЃE ЃEатыMстЃEЃEрней. Среда разрабъCЃE ЃEьBраЃEЃEЃEЃEьGзвьJЃEЃE.

2. ПРЕДМЕТНАЯ ОБЛАСТЬ

2.1. ОЃEсаыGЃEчисленыZЃEЃEтодоЃE/b>

ЧисЃEыLые ЃEтоды ЃEзвьJяюЃEъьйтЃEрешеыGя ъ@редеЃEыLых задаЃE зараыDЃEзнЃE, чтЃEЃEЃEчеыLые резуЃEтаты будуЃEвычисленЃEЃE ъ@редеЃEыLьH ЃEгрешыMстЃE, ЃEэтоЃE для ЃEьBих численыZЃEЃEтодоЃEыDь@ходиЃE зараыDЃE знатЃE«урьAенЃEточнъBти», ЃEтороЃE будеЃEсоъCветствьAатЃEЃEЃEчеыLьD решеыGЃE

В этоЃEсвязи задача ъьхожденЃE ЃEрней ЃEьBъHЃEъь вида (1)

F(x)=a0 +a1 x+a2 x2 +ЃEan xn (1)

ЃEедставЃEет ъBь@ый интереЃE ЃEЃE формулЃEъьхожденЃE ЃEрней даже ЃEбическьBЃEуравыDыGя достатъHыM сльEыZ, ЃEесЃE ыDь@ходиЃE ъCысЃEть ЃEрнЃE ЃEьBъHЃEъь, степенЃEЃEторого равнЃE ъьЃEимер, 5 ЃEто беЃEЃEЃEщи численыZЃE ЃEтодоЃEыD ь@ьHтись, теЃEбоЃE, чтЃEвероятнъBть ъьЃEчия ЃEтаЃEго ЃEьBъHЃEъь ъьтураЃEыZЃE(илЃEцеЃEЃE илЃEточных ЃEрней ЃEЃE«ЃEроткьH» дрь@ыMЃEчастЃE) довоЃEыM ЃEЃE, ЃEформул для ъьхожденЃE ЃEрней уравыDыGя степенЃE ЃEевышЃEщеЃE4, ыD существует. [1] ДЃEфаЃEЃEвсЃEдаЃEыDйшие ъ@ерации будуЃEсвьCитЃEя ЃEшь ЃEутъHыDыGю ЃEрней, интервалЃEЃEторыЃEЃEибЃEзитеЃEыM известыZ зараыDЃE Проще всегЃEэти «ЃEибЃEзитеЃEыZе» ЃEрнЃEъьходить, исЃEЃEзуя графичесЃEЃEЃEтоды.

ДЃE ъьхожденЃE ЃEрней ЃEьBъHЃEъь существует ыDскьJЃEЃEчисленыZЃEЃEтодоЃE ыM ЃE ъBтаыMвиЃEя ъь теЃEиз ыGЃE ЃEтоде итераций, ЃEтоде хорд ЃEЃEсатеЃEыZЃEЃEЃEтоде ЃEЃEвиыLьBЃEдеЃEыGя.

2.2.1. МетьC хорд ЃEЃEсатеЃEыZЃE (ЃEЃEинирьAаныZЃE

ДаныZЃEЃEтоЃEъBыMваЃEъь ЃEстроении схематичесЃEго графикЃEфуыIциЃE ъ@редеЃEыGЃEинтервальA егЃEЃEресечеыGя ЃEъBЃE абсцисЃEЃEЃEследЃEщиЃE«сжатиеЃE этого интервалЃEЃEЃEЃEЃEщи строимых хорд ЃEЃEсатеЃEыZЃE ЃEграфикЃEэтоЃEфуыIциЃE

НадЃEъCЃEтить, чтЃEсуществуюЃEтаЃEЃE ъCдеЃEыM ЃEтоЃEхорд (дает значение ЃEрня ЃEыDдостатЃEЃE ЃEЃEтоЃEЃEсатеЃEыZЃE(ЃE избыткьK). ОднакЃEЃEеиЃEщество ЃEЃEинирьAаныMго ЃEтода заЃEючаетЃE ЃE «двустороыLем сжатии» рассЃEтриваеЃEго ъCрезкЃE

РассмъCриЃEследЃEщиЃEслучай:

- даъь фуыIция F(x) ЃEЃEстроен ее график;

- ъ@редеЃEъь доЃEстимЃEЃEгрешыMстЃEQ

-

риЃE1

- существует ЃEреы[ рассЃEтриваеЃEго ЃEьBъHЃEъь. (ь@ьFъьчиЃEегЃEчереЃEA)

ДалЃEейшиЃEалгоритм свьCитЃE ЃEследЃEщиЃE действЃEЃE

1. строим ЃEсатеЃEыRю ЃEграфикЃEфуыIциЃE ЃEточкЃEF(b)

2. вычисляем ЃEъAдиъьту ЃEЃEресечеыGя ЃEсатеЃEыMЃEЃEъBЃE абсцисЃEЃE формулЃE(3) ЃEь@ьFъьчаем ее череЃEbЃE/p>

3. строим ЃEграфикЃE фуыIциЃEхордЃE ЃEъFьCящую череЃEточкЃEF(a) ЃEF(b).

4. ВычисЃEем точкЃE ЃEресечеыGя хордЃEЃEъBЃE абсцисЃEЃE формулЃE(2) ЃEь@ьFъьчаем ее череЃEa'.

aЃEa- Da , гдЃE/b> (2)

bЃEb- Db , гдЃE/b> (3)

Таким ь@разоЃEЃE ЃEЃEчаем ыMвыЃE ъCрезоЃE[aЃE, b’], ЃEтръVЃE(ЃE ъ@редеЃEыGяЃE хордЃEЃEЃEсатеЃEыMЃE ЃE-ЃEежыDЃE содержЃEрешеыGЃEуравыDыGя A.

5. ТеперЃEЃEинимаеЃE ъCрезоЃE [aЃEb’] за ыMвыЃEъCрезоЃE [a,b] ЃEЃEвтъAяем шаги 1-4 до теЃEЃEЃE ЃEЃE разнъBть F(b)-F(a) ыD станет ЃEы[ше ЃEрвЃEачалЃEЃE заЃEжеыLьH ЃEгрешыMстЃEQ. Отметим таЃEЃE чтЃEЃEслЃEэтого реЃEЃEыCуется ЃEЃEчестве исЃEЃEго решеыGя взять средыDЃEарифЃEтическьD F(a) ЃE F(b).

Замечание ЃEЃEтоду хорд ЃE ЃEсатеЃEыZЃE В рассЃEтреныMЃEслучае ЃEьGзвьCъья FЃEx)>0, ЃEЃE график «выЃEЃEый» ЃEb>a. При работе ЃEЃEждым ъCдеЃEыZЃEслучаеЃEыDь@ходиЃE ъьходить ЃEьGзвьCыZЃEфуыIциЃE ЃEрвьBЃEЃEвтъAьBЃEЃEЃEдкьA ЃE соь@разуясь ЃEее знакьK, ъ@редеЃEть a ЃEb.

ВьFЃEжнЃEчетыре случЃE:

y y

F(x) F(x)

x x

ЃEЃE

y y

F(x) F(x)

x x ЃEЃE

ЃE FЃEx) < 0

F’’(x) > 0

ЃE FЃEx) > 0

F’’(x) > 0

ЃE FЃEx) < 0

F’’(x) < 0

ЃE FЃEx) > 0

F’’(x) < 0

СЃEсоЃEхорд СЃEсоЃEЃEсатеЃEыZЃE/b>
FЃEx)F’’(x) > 0 С ыDдостатЃEЃE/td> С избыткьK
FЃEx)F’’(x) < 0 С ибытЃEЃE/td> С ыDдостатЃEЃE/td>

Таким ь@разоЃE есЃE хордЃE(ЃEсатеЃEъья) дает значение ЃEрня ЃEизбыткьK, то этоЃEЃEреы[ берется ЃEЃEчестве ыMвоЃEЃEавьH границЃE ЃEесЃE ЃEыDдостатЃEЃEЃEто ЃEвоЃE В ь@ьGЃEслучЃEЃEточный ЃEреы[ ЃEжиЃE ЃEждЃEточкамЃEЃEресечеыGя хордЃEЃEЃEсатеЃEыMЃEЃEъBЃE абсцисЃE

Замечание 2 ЃEЃEтоду хорд ЃE ЃEсатеЃEыZЃE Так ЃEЃEдля решеыGя ЃEставЃEыLьH задачи требуется ъCысЃEыGЃEЃEьGзвьCыMЃEфуыIциЃEF(x), ЃEтоЃEхорд ЃEЃEсатеЃEыZЃEдостатъHыM трудыM реализуеЃEъь ЃEьBраЃEыMЃEурьAыD, ЃEЃE ЃEавилЃEвычисленЃE ЃEьGзвьCыZЃEЃE ь@щеЃEвиде довоЃEыM грьKьFдки для «ЃEыGЃEыGя» ЭВМ; ЃEЃEыDЃEсредствеыLьK указании ЃEьGзвьCыMЃEдля ЃEждьH степенЃEЃEьBъHЃEъь ЃEЃEть ЃEЃEЃEтера серьезыM загружается, чтЃEъHенЃEзаЃEдляет работу, ЃEзадаыGЃEфуыIциЃEЃE соъCветственыM, ее ЃEьGзвьCыMЃE ыDЃEсредствеыLЃEЃEЃEьBраЃEыMЃEЃEде ЃEыDдоЃEстимЃE ОднакЃE исЃEЃEзуя даыLый ЃEтоЃE схьCимъBть интервалЃEЃEЃEрню ЃEьGсхьCит ъьибьJее быстро, ъBь@еныM есЃE совместить ЃEтоЃEхорд ЃEЃEсатеЃEыZЃEЃEЃEтодоЃEбисеЃEии, ЃEЃE середиъь ыMвого ъCрезкЃEзачастЃE дает впьJыD удьAЃEтвъAителЃEьD решеыGЃE

2.2.2. МетьC итераций

ПятыЃEшаЃEалгоритмЃEхорд ЃE ЃEсатеЃEыZЃEъ@редеЃEЃEвозвраЃEЃEЃEрвьKЃEшагу ЃEЃEследЃEщую циЃEичыMстЃEхода, ЃEЃE ЃEтоЃEхорд ЃEЃEсатеЃEыZЃEявляЃEя итерациоыLым. ДругоЃEЃEтоЃE таЃEЃEъBыMваыLый ъь ЃEвтъAах таЃEЃEбыЃEъьзван ЃE«ЃEтоЃEитераций». СутЃEегЃEзаЃEючаетЃE ЃEследЃEщеЃE

- даъь фуыIция F(x);

- ъ@редеЃEъь доЃEстимЃEЃEгрешыMстЃEQ;

- ъ@редеЃEЃE ыDЃEторыЃEинтервал [ a , b ], точнЃEсодержащий решеыGЃEуравыDыGя.

- ОЃEеделенЃE ыDЃEтороЃEчислЃEz, ЃEинадЃEжащеЃE[ a , b ] (ъьзовеЃEz «ыRЃEвыЃEЃEибЃEжеыGем»)

ДЃE ЃEЃEчеыGя следЃEщего ЃEибЃEжеыGя ЃEдставиЃEЃEформулЃE(1) вместо X Z, ЃEЃEчиЃE

x1 =F(z) (4)

ЃE ЃEьCьJжая анальBичыM,

x2 =F(x1 )

x3 =F(x2 ) (5)

ЃE/b>

xn =F(xn-1 )

Таким ь@разоЃE ЃEЃEчаем ыDЃEторую ЃEследьAателЃEъBть, ЃE есЃE ее ЃEедел (6)

limxn =A, n®v (6)

то А являетЃE исЃEЃEЃEЃEрнем.

ДаныZЃEЃEтоЃEявляетЃE исЃEючитеЃEыM аналитичесЃEЃE чтЃEупрощает егЃEЃEшиыLЃE реализацЃE, ьCъьЃE содержит следЃEщиЃE ыDдостатЃE:

- ыDь@ходиЃEстЃE выбора ыRЃEвого ЃEибЃEжеыGя (ведь то, чтЃEинтуитивыM для чеЃEвеЃE, для ЭВМ ЃEжеЃEстатЃEдовоЃEыM сльEыMЃEзадачеЃE

- ъьЃEыDЃE ЃEЃEчеыLЃE ЃEследьAателЃEъBть ЃEъBто ЃEжеЃEыD схьCитЃEя, ЃEтогдЃEрешеыGЃE ъьйденЃEыD будеЃE

Эти ЃEыQраргументы сталЃEъBыMваыGем для ъCЃEЃEенЃE ЃEтода итераций ЃEЃEвыборе алгоритмизируеЃEго ЃEтода.

2.2.3. МетьC ЃEЃEвиыLьBЃEдеЃEыGя (ЃEтоЃE бисеЃEии)

МетьC ЃEЃEвиыLьBЃEдеЃEыGя (известыZЃE ещЃEЃEЃEЃE«ЃEтоЃEдеЃEыGя ъCрезкЃEЃEЃEЃEЃE) таЃEЃEявляетЃE реЃEрсивыZЃE ЃEЃE ЃEедусЃEтриваеЃEЃEвтъAение ЃEучетьK ЃEЃEчеыLых резуЃEтатоЃE

СутЃEЃEтода ЃEЃEвиыLьBЃEдеЃEыGя заЃEючаетЃE ЃEследЃEщеЃE

- даъь фуыIция F(x);

- ъ@редеЃEъь доЃEстимЃEЃEгрешыMстЃEQ;

- ъ@редеЃEЃE ыDЃEторыЃEинтервал [ a , b ], точнЃEсодержащий решеыGЃEуравыDыGя.

1. ВычисЃEем значение ЃEъAдиъьты Е, беЃE середиыR ъCрезкЃE[a , b], ЃEЃE Е= (a + b ) / 2 (7)

2. ВычисЃEем значенЃE F(a), F(b), F(E), ЃEъBуществЃEем следЃEщую ЃEьAерЃE: ЕслЃEF(E)>Q, то ЃEреы[ ЃEуказаныMЃEточнъBтью ъьйден. ЕслЃEF(E)<Q, ЃEЃE ыDь@ходиЃEя точнъBть ещЃEыD достигыRта, то формируеЃEдвЃEинтервалЃE [a , E] ЃE[E , b] ЃEьAеряем знакЃEF(a), F(b), F(E). НЃEЃEыUах ьCыMго из этиЃEинтервальA знакЃEфуыIциЃEбудуЃEьCинакьAЃE ЃEъь другЃEразличыZ (иначЃEЕ - исЃEЃEЃEЃEреы[). И именыM то интервал, ъь ЃEыUахЃEторого знакЃEразличыZ, ЃE береЃEза ъBыMву ЃEЃEследЃEщеЃEитерации, ЃEЃE ЃEиравыGваем ЃEЕ ЃEбо a, ЃEбо b.

3. ПерехьCим ЃE ЃEыIту 1.

ЗадачЃE ЃEжнЃEупроститЃE есЃE ъ@редеЃEть границЃEЃEрней: границЃEабсоЃEтных значений ЃEрней вычисляетЃE ЃE формулЃE(8)

: (8),

(9),

границЃEЃEЃEжитеЃEыZЃEЃEрней ЃEЃE формулЃE (9):

ЃEграницЃEъCрицатеЃEыZЃEЃEрней ЃE заЃEыGЃEЃEуравыDыGЃE(1) ЃEъь –х.

Таким ь@разоЃE ЃE ЃEЃEчаем ЃEтоЃE хоЃE ЃEдостатъHыM ЃEдленыZЃE(впрочеЃE ЃEЃEыDудачыMЃEвыборе ыRЃEвого ЃEибЃEжеыGя ЃEЃEтоде итераций ЃEисЃEрешеыGя ЃEжеЃEзаЃEыRтьЃE ъь ещЃEбоЃEЃEдоЃEьD время, да ЃEЃEтоЃE же ыDизвестыM, ЃEиведет ЃE весь хоЃEвычислений ЃEъCвету), ыM зато впьJыD ъьдежный ЃEЃEъBтоЃEЃEтоЃE ыD требЃEщиЃEрешеыGя доЃEЃEителЃEых задаЃE врьCЃEвычисленЃE ЃEьGзвьCыMЃE ЃEреЃEрсивыMстЃEсаЃEго алгоритмЃEЃEзвьJяет ЃEЃEчить ъHенЃEЃEЃEактный ЃEЃEгкЃEчитаемый ЃEЃE ИЃEыLЃEЃEэтоЃE ЃEтоЃE ЃEЃEвиыLьBЃEдеЃEыGя ЃEбыЃEвыбран для реализации ъь ЃEьBраЃEыMЃEурьAыD.

2.2.4. МетьC разльEенЃE ъь ЃEьEителЃE/b>

ДаныZЃEЃEтоЃEявляетЃE ЃEЃEъBтью аналитичесЃEЃE ьCъьЃE ЃEЃEъBтью зависиЃEъC других. ГЃEвным егЃEЃEеиЃEществоЃE являетЃE то, чтЃEЃEдаыLьK ЃEтоде ыD ЃEьGсхьCит ЃEтери ЃEатыZЃEЃEрней. ПЃEсним ъь ЃEимерЃE

Пусть даЃEЃEьBъHЃEЃEF(x) = 2x3 -11x2 +20x-12 (11)

Его ЃEжнЃEзаЃEсать ЃEвиде: F(x) = (x+2)2 (2x-3) (12)

У ЃEьBъHЃEъь n-степенЃE ЃEЃEизвестыM, n ЃEрней, ЃEиз (12) следуеЃE чтЃEЃEрняЃE F(x) являются ЃE ЃE1,5, ЃEичем ЃEреы[ ЃE являетЃE ЃEатыZЃE ЃEЃE фаЃEичесЃE это двЃEьCинакьAых ЃEрня. При ъCысЃEыGЃEже ЃEрней ЃEбыЃEиз вышеъ@исаныZЃEЃEтодоЃE«втъAьH» ЃEреы[ ЃE будеЃEЃEтеЃEЃE ЃEЃE график фуыIциЃEбудеЃEиметЃEЃEшь двЃEточкЃEЃEресечеыGя ЃEъBЃE абсцисЃE/p>

Чтобы избежать этого ЃEименяетЃE ЃEтоЃEразльEенЃE ъь ЃEьEителЃE СутЃEегЃEзаЃEючаетЃE ЃEследЃEщеЃE ЃEждый ЃEьBъHЃEЃEвида (1) ЃEжнЃEЃEедставитЃEЃEвиде (x+h1 )(x+h2 )ЃEx+hn )*H = 0 (13) ,

илЃE F(x) = (x+h)(bn-1 xn-1 +ЃE1 )+b0 (14)

гдЃEh1ЃEn ЃEЃEрнЃEуравыDыGя, ЃEН ЃEЃEьGзведение ЃEьEителей ЃE выыDсеыLых за скь@ЃE ( Н ыGЃEЃEыD влЃEет ъь уравыDыGЃE ЃEЃE ъC ыDго избавляются, деЃE ъь Н ь@ЃEчастЃE (13). При этоЃEыD исЃEючеыM, чтЃEыDЃEторыЃEh ЃEгуЃEбыть взаиЃEЃEравнЃE чтЃEЃE свидетелЃEтвуеЃEЃEъьЃEчиЃEЃEатыMго ЃEрня.

ДЃE вычисленЃE значений ыMвыЃEЃEэффициеыQьA ЃE(14) исЃEЃEзуются формулЃE

bn =an

bn-1 =bn h+an-1 (15)

bn-2 =bn-1 h+an-2

ЃE

Таким ь@разоЃE алгоритм этого ЃEтода выглядиЃEследЃEщиЃEь@разоЃE

1. ОЃEеделитЃE границЃEЃEрней уравыDыGя;

2. При ЃEЃEщи ЃEбого из вышеъ@исаныZЃEЃEтодоЃEъьйтЃEьCин ЃEреы[ уравыDыGя;

3. ПриЃEЃEя формулЃE (14) ЃE(15) сфъAЃEровать ыMвыЃEЃEьBъHЃEЃEстепенЃE ъь 1 ЃEы[шеЃEЃEедыдущегЃE

4. ВерыRтьЃE ЃE ЃEыIту 2.

5. ПьAтоЃEть до теЃE ЃEЃE ЃEЃE степенЃEЃEьBъHЃEъь ыD ь@ыRЃEтся.

ЭтоЃEЃEтоЃEбыЃEреализьAан ъь ЃEьBраЃEыMЃEурьAыD ЃEвкЃEчеЃEЃE ЃEрсьAЃE работу.

3. ОПИСАНИЕ СТРУКТУРЫ ПРОГРАММЫ

В раЃEах задаыGя ъь ЃEрсьAЃE работу ЃE средЃEЃEьBраЃEирьAанЃE Visual Basic for Applications быЃE разрабъCанЃEЃEьBраЃEЃE ъьхоЃEщая ЃEрнЃEЃEьBъHЃEъь ЃEуказываеЃEЃEточнъBтью.

3.1. ОЃEсаыGЃEЃEьBраЃEыZЃEЃEдуЃEЃE/b>

РазработкЃEЃEьBраЃEЃEвеЃEсь ЃEучетьK ЃEыUепциЃEь@ъеЃEыM-ъAиеыQирьAаныMго ЃEьBраЃEирьAанЃE, ЃEэтоЃE четкЃE ъ@редеЃEыLьH ЃEследьAателЃEъBти действий ЃEыDЃEыDЃE ОднакЃE разбирЃE ЃEьBраЃEЃE ъь составЃEющиЃE ЃEжнЃEЃEъBЃEдить «ЃEть» алгоритмЃEЃEЃEде.

ВЃE ЃEьBраЃEЃEсостьGЃEиз форм ЃE ЃEдуЃEЃE МьCулей всегЃEдвЃE ьCин содержит стандартыRю ЃEъGедурЃEавтозаЃEскЃE (егЃEрассЃEтриватЃEЃE ыD станем), ЃEдругьH ЃEвсЃE«ЃEбличыZе» ЃEъGедурЃEЃE фуыIциЃE

Public function F(x). ФунЃEЃE, возвращающая значение ЃEьBъHЃEъь для ЃEредаваемьBЃE ЃE

Public function DetectBorders. ВьFвращаеЃEграницЃEЃEрней, согласыM формулам ( 7 , 8, 9 ).

Public sub Gra ЃEЃEъGедурЃE «ъCветственъья» за составЃEыGЃEграфикЃE

3.2. ОЃEсаыGЃEформ

В формах заЃEючеъь ъBыMвнЃE частЃE ЃEьBраЃEЃE ЃEтоЃEчислЃEЃEсобственыM алгоритм ЃEтода ЃEЃEвиыLьBЃEдеЃEыGя. Решение «упакьAатЃE эти фуыIциЃEЃEформЃEбыЃE ЃEьCиктоваыM следЃEщиЃE ЃEичинамЃE

- соЃEащение ь@ъеЃE заыGЃEемьH ЃEЃEти ЃE ЃEЃEследствиЃE усЃEреыGЃEработы за счет соЃEащенЃE временЃE жизнЃEЃEреЃEыLых;

- разграыGчеыGЃE доступЃE(ЃEЃE ыDь@ходиЃEя фуыIция илЃEЃEтоЃEЃEгуЃEбыть активироваыZ исЃEючитеЃEыM ЃEдоЃEстимьH ситуации ЃEэто значителЃEЃEснижаеЃEвероятнъBть ъIибьI);

- ЃEждЃE формЃE являетЃE «вещью ЃEсебе» ЃEыD зависиЃEъC ъBтаЃEыZЃE(ЃEьKЃE«ЃEрневьH»

3.2.1. ФъAЃE Form_Main

ЯвляетЃE ЃEрневьH формьH ЃEьBраЃEЃE содержит ГЃEвньD ЃEЃE, ЃEзвьJяющеЃEЃEЃEбоЃEЃEЃEдкЃEвыЃEЃEять всЃEыDь@ходиЃEЃEдействЃE, ЃEтаЃEЃE сохранять ЃEзавершатЃEработу ЃEьBраЃEЃE

3.2.2. ФъAЃE Form_Koeff

В этоЃEформЃEзадаются ЃEэффициеыQЃEЃEьBъHЃEъь.

Замечание. ДЃE задаыGя ЃEэффициеыQЃEЃEsub>0 ыDь@ходиЃE указатЃEзначение степенЃEЃEравным 0.

3.2.3.ФъAЃE Form_Mnogo

3.2.4.ФъAЃE Form_WP

Эта формЃEЃE существу являетЃE ЃEыDЃEю управленЃE ЃEрежиЃE графикЃEЃEЃEзвьJяет егЃEраспечататЃEилЃEзаЃEытЃE

3.2.5. ФъAЃE Form_Korni

«ОсньAъья форма» ЃEименыM ЃEыDЃEзаЃEючеЃEсаЃEалгоритм ЃEисЃE ЃEрней (Sub FindKor) ЃEтодаЃE бисеЃEии ЃEхорд/ЃEсатеЃEыZЃE

В ЃEчестве свьHстЃEЃEь@ъеЃEЃE«форма» ЃEисутствуюЃE трЃEЃEючевыЃEЃEъGедурЃE реализЃEщиЃEсобственыM алгоритмЃEъьхожденЃE ЃEрней ЃEъьхожденЃE ЃEьGзвьCыMЃE

Public sub FF* ЃEЃEъGедурЃE «ъCветственъья» за ъьхождение ЃEьGзвьCыMЃE

Public sub Horda_Kasatelnye ЃE ЃEъGедурЃE реализЃEщая ЃEисЃEЃEрней ЃE алгоритмЃEхорд ЃEЃEсатеЃEыZЃE

Public sub Find_Kor ЃEЃEъGедурЃE реализЃEщая ЃEисЃEЃEрней ЃE алгоритмЃEЃEЃEвиыLьBЃEдеЃEыGя ъCрезкЃE

Замечание. АЃEъAитЃE ъьхожденЃE ЃEыDЃEъ@исанЃEЃE главЃE2. СутЃEже алгоритмЃEъьхожденЃE ЃEьGзвьCыMЃEсвьCитЃE ЃEЃEъBтоЃE ЃEреЃEьEенЃE ЃEэффициеыQЃEЃEстепенЃEЃEуменЃEенЃE значенЃE степенЃEъь единицЃE Это ЃEзвьJяет ЃEрректнЃEъ@редеЃEть ЃEьGзвьCыRю, ЃEЃEэтоЃEЃEрректнЃE«избавитьЃE» ъC ЃEыDчньH ЃEыPтаыQЃE

4. АНАЛИЗ РЕЗУЛЬТАТОВ

В резуЃEтате выЃEЃEенЃE задаыGя ъь ЃEрсьAЃE работу быЃE созданЃEЃEьBраЃEЃEVI Function 2.0 , ъьхоЃEщая ЃEрнЃEалгебраическьBЃE ЃEьBъHЃEъь вида (1) ЃEуказываеЃEЃEточнъBтью ЃEсредствоЃEследЃEщиЃEЃEтодоЃE

· ЃEтоЃEдеЃEыGя ъCрезкЃEЃEЃEЃEЃE

· ЃEтоЃEхорд ЃE ЃEсатеЃEыZЃE(ЃEЃEинирьAаныZЃE

Также ЃEЃEсоставЃEыGЃEЃEьBраЃEЃEбыЃE учтеъь возмьEыMстЃEъьЃEчия ЃEЃEьBъHЃEъь ЃEатыZЃEЃEрней, ЃEсредства их ь@ъьружеыGя таЃEЃEвошлЃEЃEсостав ЃEьBраЃEЃE

Фактические резуЃEтаты совпалЃEЃE формалЃEымЃE

5. СПИСОК ЛИТЕРАТУРЫ

1. Гутер Р.С. , Овчинский Б.В. «ЭЃEЃEыQЃEчисленыMго анализЃEЃEЃEтеЃEтический ь@работкЃE резуЃEтатоЃEъ@ыта». МъBЃEЃE «НауЃE», 1979

2. КалитЃEЃEН.Н. «ЧисЃEыLые ЃEтоды». МъBЃEЃE «НауЃE», 1978

3. КрыЃEЃEВ.И., БабЃEвВ.В., МЃEастырсЃEЃEП.И. «ВычисЃEтеЃEыZЃEЃEтоды». МъBЃEЃE «НауЃE», 1976

4. П. Санъь. «Visual Basic for Applications 6.0 «ЃE ЃEдлиныGЃE», КиеЃE BHV

6. ПРИЛОЖЕНИЯ

6.1. ПриЃEЃEалгебраическьBЃEЃEьBъHЃEъь ЃEъьхожденЃE егЃE/p>

ЃEрней

МыMгочлен F(x) = 3x2 +5x-8

ГрафиЃEЃEедставЃEЃEъь риЃE 6.1

ТъHыMстЃEQ = 0,0001

НайдеыLые ЃEрнЃE x = -2,66666669921875 ЃEтоЃE/p>

x= 0,99991015625 бисеЃEии

НайдеыLые ЃEрнЃE x = -2,66667654214111 ЃEтоЃE/p>

x= 0,99981915025 хорд ЃEЃEсатеЃEыZЃE/p>

риЃE 6.1

6.2. БЃEЃEсхемЃEалгоритмЃEЃEЃEвиыLьBЃE деЃEыGя

A = ЃEвая границЃE/p>

В = ЃEавЃE границЃE

C ЃEсередиъь

F(x) - фуыIция

6.3. БЃEЃEсхемЃEалгоритмЃEЃEисЃE ЃEрней ЃEтодоЃEхорд ЃEЃEсатеЃEыZЃE/p>

A = ЃEвая границЃE/p>

В = ЃEавЃE границЃE

F(x) - фуыIция

6.4 РукьAьCство ЃEЃEзоватеЃE.

ПъBЃE заЃEскЃEЃEьBраЃEЃEЃEреЃEВамЃEЃEявится ГЃEвньD ЃEЃE, вкЃEчающеЃEЃEсеЃE следЃEщиЃEЃEЃEьBраЃEЃE

СОХРАНИТЬ СъFраЃEет файл со всемЃEсделаныZЃE изЃEыDыGяЃE
ПРОСМОТР ФУНКЦИИ ВывьCит ъь эЃEан ьIыM, ЃEЃEтороЃEъCь@ражаетЃE виЃE ЃEьBъHЃEъь, ЃEтаЃEЃEвиЃEЃEьGзвьCыZЃEЃEрвьBЃEЃEвтъAьBЃEЃEЃEдкьA (ВыбъA ъBужествЃEетЃE ъьжатием ЃEъ@ьI FЃEX), FЃEX), F(X)
ВВОД КОЭФФИЦИЕНТОВ ВывьCит ъь эЃEан ьIыM ввьCЃEЃEэффициеыQьA
ГРАФИК ВывьCит график фуыIциЃE/td>
ПОИСК КОРНЕЙ ОтображаеЃEьIыM, управляющеЃEЃEисЃEЃEЃEрней
О ПРОГРАММЕ ВывьCит ьIыM «О ЃEьBраЃEе»
ВЫХОД Завершает работу ЃEьBраЃE, ЃEедваритеЃEыMзадавая воЃEъB ЃE сохранении изЃEыDыGЃE/td>

ВвоЃEЃEэффициеыQьA ъBуществЃEетЃE следЃEщиЃEь@разоЃE ЃE ЃEявившемЃE ьIыD имЃEтся 2 ЃEЃE ЃEьCыM для указанЃE степенЃE другьD для ввьCЃE собственыM ЃEэффициеыQЃE ЕслЃEВЃEужЃEввьCилЃEыDЃEторую фуыIцию, то для ее удаленЃE ъьжмитЃEЃEъ@ЃE “очиститЃE, для заЃEЃEъьыGя ЃEэффициеыQЃEъьжмитЃE“Ок”, для завершеня ввьCЃEЃE“завершитьЃE

ПьGск ЃEрней упрощеЃEдо ЃEеделЃE Вам достатъHыM указатЃEыDЃEходиЃEю точнъBть ЃEвыбратЃEЃEтоЃEЃEисЃE: бисеЃEиоыZЃEилЃE ЃEЃEинирьAаныZЃE

6.5. ИсхьCыZЃEтеЃEЃEЃEьBраЃEЃE/b>

UNIT1

Dim curcell As Range

Dim ma As Double

Dim Ao As Double

Public Function F(x As Variant)

F = (x ^ 20 * Range("a20").Value) + (x ^ 19 * Range("a19").Value) + (x ^ 18 * Range("a18").Value) + (x ^ 17 * Range("a17").Value) + (x ^ 16 * Range("a16").Value) + (x ^ 15 * Range("a15").Value) + (x ^ 14 * Range("a14").Value) + (x ^ 13 * Range("a13").Value) + (x ^ 12 * Range("a12").Value) + (x ^ 11 * Range("a11").Value) + (x ^ 10 * Range("a10").Value) + (x ^ 9 * Range("a9").Value) + (x ^ 8 * Range("a8").Value) + (x ^ 7 * Range("a7").Value) + (x ^ 6 * Range("a6").Value) + (x ^ 5 * Range("a5").Value) + (x ^ 4 * Range("a4").Value) + (x ^ 3 * Range("a3").Value) + (x ^ 2 * Range("a2").Value) + (x * Range("a1").Value) + Range("a21").Value

End Function

Public Function F1(x As Variant)

F1 = (x ^ 20 * Range("j20").Value) + (x ^ 19 * Range("j19").Value) + (x ^ 18 * Range("j18").Value) + (x ^ 17 * Range("j17").Value) + (x ^ 16 * Range("j16").Value) + (x ^ 15 * Range("j15").Value) + (x ^ 14 * Range("j14").Value) + (x ^ 13 * Range("j13").Value) + (x ^ 12 * Range("j12").Value) + (x ^ 11 * Range("j11").Value) + (x ^ 10 * Range("j10").Value) + (x ^ 9 * Range("j9").Value) + (x ^ 8 * Range("j8").Value) + (x ^ 7 * Range("j7").Value) + (x ^ 6 * Range("j6").Value) + (x ^ 5 * Range("j5").Value) + (x ^ 4 * Range("j4").Value) + (x ^ 3 * Range("j3").Value) + (x ^ 2 * Range("j2").Value) + (x * Range("j1").Value) + Range("j21").Value

End Function

Public Function F2(x As Variant)

F2 = (x ^ 20 * Range("m20").Value) + (x ^ 19 * Range("m19").Value) + (x ^ 18 * Range("m18").Value) + (x ^ 17 * Range("m17").Value) + (x ^ 16 * Range("m16").Value) + (x ^ 15 * Range("m15").Value) + (x ^ 14 * Range("m14").Value) + (x ^ 13 * Range("m13").Value) + (x ^ 12 * Range("m12").Value) + (x ^ 11 * Range("m11").Value) + (x ^ 10 * Range("m10").Value) + (x ^ 9 * Range("m9").Value) + (x ^ 8 * Range("m8").Value) + (x ^ 7 * Range("m7").Value) + (x ^ 6 * Range("m6").Value) + (x ^ 5 * Range("m5").Value) + (x ^ 4 * Range("m4").Value) + (x ^ 3 * Range("m3").Value) + (x ^ 2 * Range("m2").Value) + (x * Range("m1").Value) + Range("m21").Value

End Function

Public Sub Gra()

Sheets("ЛисЃE").Select

Range("e1").Select

For i = -10 To 10

ActiveCell.Value = F(i)

ActiveCell.Cells(2).Select

Next i

End Sub

Public Function DetectBorders()

' ФунЃEЃE ъ@редеЃEыGя границ действителЃEых ЃEрней

ma = 0

For Each curcell In Range("Koeffs")

If curcell.Value > ma Then ma = curcell.Value

If curcell.Value <> 0 Then Ao = curcell.Value

Next curcell

DetectBorders = 1 + (ma * Ao)

End Function

UNIT2

Sub auto_open()

Sheets("ЛисЃE").Select

Form_Main.Show

End Sub

FORM_ABOUT

Private Sub CommandButton1_Click()

Form_About.Hide

End Sub

FORM_KOEFF

Private Sub CommandButton1_Click()

ko = TextBox1.Value

st = TextBox2.Value

Select Case st

Case 0

Range("A21").Value = ko

Case 1

Range("A1") = ko

Case 2

Range("A2") = ko

Case 3

Range("A3") = ko

Case 4

Range("A4") = ko

Case 5

Range("A5") = ko

Case 6

Range("A6") = ko

Case 7

Range("A7") = ko

Case 8

Range("A8") = ko

Case 9

Range("A9") = ko

Case 10

Range("A10") = ko

Case 11

Range("A11") = ko

Case 12

Range("A12") = ko

Case 13

Range("A13") = ko

Case 14

Range("A14") = ko

Case 15

Range("A15") = ko

Case 16

Range("A16") = ko

Case 17

Range("A17") = ko

Case 18

Range("A18") = ko

Case 19

Range("A19") = ko

Case 20

Range("A20") = ko

Case Else

MsgBox ("ВыхьC за ЃEеделЃEдоЃEстимых значений")

st = st - 1

End Select

TextBox1.Value = 0

TextBox2.Value = st + 1

End Sub

Private Sub CommandButton2_Click()

Form_Koeff.Hide

End Sub

Private Sub CommandButton3_Click()

Range("a1").Value = 0

Range("a2").Value = 0

Range("a3").Value = 0

Range("a4").Value = 0

Range("a5").Value = 0

Range("a6").Value = 0

Range("a7").Value = 0

Range("a8").Value = 0

Range("a9").Value = 0

Range("a10").Value = 0

Range("a11").Value = 0

Range("a12").Value = 0

Range("a13").Value = 0

Range("a14").Value = 0

Range("a15").Value = 0

Range("a16").Value = 0

Range("a17").Value = 0

Range("a18").Value = 0

Range("a19").Value = 0

Range("a20").Value = 0

Range("a21").Value = 0

End Sub

Private Sub UserForm_initialize()

st = 0

ko = 0

TextBox1.Value = ko

TextBox2.Value = st

End Sub

FORM_KORNI

Private Sub CommandButton1_Click()

ListBox1.Clear

TextBox1.Value = 0

Form_Korni.Hide

End Sub

Private Sub CommandButton2_Click()

Range("Toc").Value = TextBox1.Value

Call FindKor

'Call Perenos

End Sub

Sub FindKor()

Range("Curright") = Range("Right").Value

Range("Curleft") = -Range("Right").Value - 0.333

'Range("right").Value = DetectBorders

Range("Stepleft").Value = Range("right").Value * (-1) - 0.333

Do

nashli = False

Call MoveLe

If Sgn(F(Range("curleft").Value)) = Sgn(F(Range("curright").Value)) Then

End If

If Sgn(F(Range("curleft").Value)) <> Sgn(F(Range("curright").Value)) Then

Do

' nashli = True

Range("Curcenter").Value = ((Range("curleft").Value) + (Range("curright").Value)) / 2

If Abs(F(Range("Curcenter").Value)) > Range("toc").Value Then If Sgn(F(Range("curleft").Value)) <> Sgn(F(Range("curcenter").Value)) Then Range("curright").Value = Range("curcenter").Value Else: Range("curleft").Value = Range("curcenter").Value

If Abs(F(Range("Curcenter").Value)) <= Range("toc").Value Then ListBox1.AddItem (Range("Curcenter").Value)

Range("Koren").Value = Range("Curcenter").Value

Loop Until Abs(F(Range("Curcenter").Value)) <= Range("toc").Value

End If

Loop Until Range("Stepleft").Value > Range("right").Value Or nashli = True

End Sub

Sub Horda_Kas()

'Sub FindKor()

Range("Curright") = Range("Right").Value

Range("Curleft") = -Range("Right").Value - 0.333

'Range("right").Value = DetectBorders

Range("Stepleft").Value = Range("right").Value * (-1) - 0.333

Do

MoveLe

If Sgn(F(Range("curleft").Value)) <> Sgn(F(Range("curright").Value)) Then

Do

' nashli = True

If F1(Range("curleft").Value) * F2(Range("curleft").Value) > 0 Then

Range("curleft").Value = Range("curleft").Value - ((Range("curright").Value - Range("curleft").Value) * (F(Range("Curleft").Value) / (F(Range("Curright").Value - F(Range("Curleft").Value)))))

Range("Curright").Value = Range("curright").Value - F(Range("curright").Value) / F1(Range("curright").Value)

End If

If F1(Range("curleft").Value) * F2(Range("curleft").Value) < 0 Then

Range("curright").Value = Range("curleft").Value - ((Range("curright").Value - Range("curleft").Value) * (F(Range("Curleft").Value) / (F(Range("Curright").Value - F(Range("Curleft").Value)))))

Range("Curleft").Value = Range("curright").Value - F(Range("curright").Value) / F1(Range("curright").Value)

End If

If Abs(Abs(F(Range("Curright").Value))) - Abs(F(Range("Curleft").Value)) <= Range("toc").Value Then

'MsgBox (Range("curleft").Value)

ListBox1.AddItem (Range("Curright").Value)

'If ((Range("Curleft").Value) + (Range("Curright").Value)) > 0 Then ListBox1.AddItem (((Range("Curleft").Value) + (Range("Curright").Value)) / 2)

'If ((Range("Curleft").Value) + (Range("Curright").Value)) < 0 Then ListBox1.AddItem (((Range("Curleft").Value) + (Range("Curright").Value)) / 2)

Range("Koren").Value = Range("Curleft").Value

End If

Loop Until Abs(F(Range("Curright").Value)) - Abs(F(Range("Curleft").Value)) <= Range("toc").Value

End If

Loop Until Range("Stepleft").Value > Range("right").Value Or nashli = True

End Sub

Sub MoveLe()

Range("stepleft").Value = Range("stepleft").Value + 0.333

Range("curLeft").Value = Range("stepleft").Value

Range("Curright").Value = Range("Curleft").Value + 0.333

Range("Curcenter").Value = ((Range("curleft").Value) + (Range("curright").Value)) / 2

End Sub

Private Sub CommandButton3_Click()

Horda_Kas

End Sub

Private Sub UserForm_Deactivate()

ListBox1.Clear

TextBox1.Value = 0

End Sub

Sub Perenos()

Range("a1").Value = Range("L1").Value

Range("a2").Value = Range("L2").Value

Range("a3").Value = Range("L3").Value

Range("a4").Value = Range("L4").Value

Range("a5").Value = Range("L5").Value

Range("a6").Value = Range("L6").Value

Range("a7").Value = Range("L7").Value

Range("a8").Value = Range("L8").Value

Range("a9").Value = Range("L9").Value

Range("a10").Value = Range("L10").Value

Range("a11").Value = Range("L11").Value

Range("a12").Value = Range("L12").Value

Range("a13").Value = Range("L13").Value

Range("a14").Value = Range("L14").Value

Range("a15").Value = Range("L15").Value

Range("a16").Value = Range("L16").Value

Range("a17").Value = Range("L17").Value

Range("a18").Value = Range("L18").Value

Range("a19").Value = Range("L19").Value

End Sub

FORM_MAIN

Private Sub CommandButton1_Click()

Form_Koeff.Show

End Sub

Private Sub CommandButton2_Click()

Form_Mnogo.Show

End Sub

Private Sub CommandButton3_Click()

Gra

Form_Main.Height = 84

Sheets("D1").Select

Form_WP.Show

Form_Main.Height = 360

Sheets("ЛисЃE").Select

End Sub

Private Sub CommandButton4_Click()

Form_Korni.Show

End Sub

Private Sub CommandButton5_Click()

Application.Quit

End Sub

Private Sub CommandButton7_Click()

Form_About.Show

End Sub

Private Sub CommandButton8_Click()

ActiveWorkbook.Save

End Sub

Private Sub UserForm_initialize()

Sheets("ЛисЃE").Select

Form_Main.Height = 360

End Sub

FORM_MNOGO

Dim mn As String

Private Sub CommandButton1_Click()

Form_Mnogo.Hide

End Sub

Private Sub UserForm_activate()

mn = "F(x)="

If Range("a20") > 0 Then mn = mn + Range("a20").Text + "X^20"

If Range("a20") < 0 Then mn = mn + Range("a20").Text + "X^20"

If Range("a19") > 0 Then mn = mn + " + " + Range("a19").Text + "X^19"

If Range("a19") < 0 Then mn = mn + Range("a19").Text + "X^19"

If Range("a18") > 0 Then mn = mn + " + " + Range("a18").Text + "X^18"

If Range("a18") < 0 Then mn = mn + Range("a18").Text + "X^18"

If Range("a17") > 0 Then mn = mn + " + " + Range("a17").Text + "X^17"

If Range("a17") < 0 Then mn = mn + Range("a17").Text + "X^17"

If Range("a16") > 0 Then mn = mn + " + " + Range("a16").Text + "X^16"

If Range("a16") < 0 Then mn = mn + Range("a16").Text + "X^16"

If Range("a15") > 0 Then mn = mn + " + " + Range("a15").Text + "X^15"

If Range("a15") < 0 Then mn = mn + Range("a15").Text + "X^15"

If Range("a14") > 0 Then mn = mn + " + " + Range("a14").Text + "X^14"

If Range("a14") < 0 Then mn = mn + Range("a14").Text + "X^14"

If Range("a13") > 0 Then mn = mn + " + " + Range("a13").Text + "X^13"

If Range("a13") < 0 Then mn = mn + Range("a13").Text + "X^13"

If Range("a12") > 0 Then mn = mn + " + " + Range("a12").Text + "X^12"

If Range("a12") < 0 Then mn = mn + Range("a12").Text + "X^12"

If Range("a11") > 0 Then mn = mn + " + " + Range("a11").Text + "X^11"

If Range("a11") < 0 Then mn = mn + Range("a11").Text + "X^11"

If Range("a10") > 0 Then mn = mn + " + " + Range("a10").Text + "X^10"

If Range("a10") < 0 Then mn = mn + Range("a10").Text + "X^10"

If Range("a9") > 0 Then mn = mn + " + " + Range("a9").Text + "X^9"

If Range("a9") < 0 Then mn = mn + Range("a9").Text + "X^9"

If Range("a8") > 0 Then mn = mn + " + " + Range("a8").Text + "X^8"

If Range("a8") < 0 Then mn = mn + Range("a8").Text + "X^8"

If Range("a7") > 0 Then mn = mn + " + " + Range("a7").Text + "X^7"

If Range("a7") < 0 Then mn = mn + Range("a7").Text + "X^7"

If Range("a6") > 0 Then mn = mn + " + " + Range("a6").Text + "X^6"

If Range("a6") < 0 Then mn = mn + Range("a6").Text + "X^6"

If Range("a5") > 0 Then mn = mn + " + " + Range("a5").Text + "X^5"

If Range("a5") < 0 Then mn = mn + Range("a5").Text + "X^5"

If Range("a4") > 0 Then mn = mn + " + " + Range("a4").Text + "X^4"

If Range("a4") < 0 Then mn = mn + Range("a4").Text + "X^4"

If Range("a3") > 0 Then mn = mn + " + " + Range("a3").Text + "X^3"

If Range("a3") < 0 Then mn = mn + Range("a3").Text + "X^3"

If Range("a2") > 0 Then mn = mn + " + " + Range("a2").Text + "X^2"

If Range("a2") < 0 Then mn = mn + Range("a2").Text + "X^2"

If Range("a1") > 0 Then mn = mn + " + " + Range("a1").Text + "X"

If Range("a1") < 0 Then mn = mn + Range("a8").Text + "X"

If Range("a21") > 0 Then mn = mn + " + " + Range("a21").Text

If Range("a21") < 0 Then mn = mn + Range("a21").Text

TextBox1.Value = mn

End Sub

FORM_WP

Private Sub Label1_Click()

Call Gra

End Sub

Private Sub CommandButton1_Click()

Sheets("D1").Print

End Sub

Private Sub CommandButton2_Click()

Form_WP.Hide

Call Gra

End Sub

Private Sub UserForm_Click()

Form_WP.Hide

End Sub

____________________________

VoID InVaSiON HG ©

VI Function 2.0 beta

[1] ЭтоЃEфаЃE быЃEдоЃEзаЃEизвестыZЃE ЃEтеЃEтиЃEЃE АбеЃEЃEЃEГалуа.