logo

Gorner sxemasi

Yuklangan vaqt:

12.08.2023

Ko'chirishlar soni:

0

Hajmi:

89.08984375 KB
1Gorner sxemasi  
MUNDARIJA
KIRISH
Matematikaga   bo ' lgan   ishtiyoq   qiziqarli   vazifa   yoki   muammo   haqida
o ' ylashdan   boshlanadi .   Matematik   sirlar   bilan   sehrlangan   har   qanday   odam
matematik   kashfiyotlar   tarixini ,   muammolarni   hal   qilishning   turli   usullarini
bilishga ,   murakkab   muammolarni   hal   qilish   uchun   matematik   teoremalardan
foydalanishga   qiziqadi .   Men,   Gorodilova   Anastasiya,   9-sinfda   "Zvenigovskiy
litseyi"   ta'lim   muassasasida   matematika   darslarida   "polinomlar"mavzusini
o'rgandim.   Berilgan   nuqtada   polinomlarning   qiymatlarini   topdi,   polinomlarni
ajratdi, polinomlarning ildizlarini topdi.
Agar   polinomlar   haqida   umuman   gapiradigan   bo'lsak,   shuni   ta'kidlash
kerakki,   funktsiyalarning   beqiyos   sohasida   polinomlar,   birinchi   qarashda,   juda
kamtarona   joyni   egallaydi.   Biroq,   bu   birinchi   taassurot   aldamchi.   Ma'lum
bo'lishicha,   polinomlarni   tez-tez   hisoblash   kerak,   ya'ni   buni   iloji   boricha   osonroq 2qilishni o'rganish muhimdir. Ma'lumki, polinomlar bilan ishlashda siz ko'plab turli
xil hisob-kitoblarni amalga oshirish zarurati bilan duch kelishingiz kerak. Bundan
tashqari,   hisoblash   xatolarining   paydo   bo'lishi   ehtimoli   katta,   shuning   uchun,
masalan,   polinomning   ildizlarini   hisoblashda,   haqiqatan   ham   ildiz   bo'ladigan
qiymatlarni tanlashda ko'plab variantlarni ishlab chiqish kerak.
Matematika   darslarida   biz   polinomning   ma'nosini   va   uning   ildizlarini
topishga   imkon   beradigan   Gorner   sxemasini   o'rganib   chiqdik.   10-sinfda
o'qiyotganimda,  men  yana  Gorner   sxemasini   qo'llash   mumkin  yoki  kerak  bo'lgan
vazifalarga   duch   keldim.   Matematikadan   imtihonga   tayyorgarlik   ko'rish   uchun
kurslarda,   parametr   bilan   ba'zi   tenglamalarni   echishda,   9-sinfda   polinomlarni
o'rganishda   olingan   bilimlar   yana   foydali   bo'ldi.Men   o'qituvchim   bilan   Gorner
sxemasi   qo'llaniladigan  asosiy  vazifalar  doirasini  aniqlashga   qaror  qildik.  Chunki
biz ushbu mavzu maktab matematika kursida dolzarb deb hisoblaymiz:
 Polinomning   qiymatini   va   uning   ildizlarini   noqulay   hisob-kitoblarni
amalga oshirmasdan topishga imkon beradi;
 Yuqori darajadagi tenglamalar va tengsizliklarni polinomlarni guruhlash
usuli bilan emas, balki vaqtni tejaydigan yanada oqilona usul bilan
echishga imkon beradi;
 Polinomni monomialga ko'paytirishda ishlatiladi ;
 Algebraik kasrlarni qisqartirishda ishlatiladi:
 Parametr bilan bog'liq muammolarni hal qilish uchun ishlatiladi.
I-BOB.NAZARIY QISM
1.1.Gerxard Gorner tarixi
Gorner sxemasi (yoki Gorner qoidasi, Gorner usuli, Ruffini-Gorner usuli) —
o'zgaruvchining berilgan qiymati uchun monomlar (monomenlar) yig'indisi sifatida
yozilgan   polinom   qiymatini   hisoblash   algoritmi.   Gorner   usuli   polinomning
ildizlarini   topishga   imkon   beradi   ,   shuningdek   berilgan   nuqtada   polinom
hosilalarini   hisoblash.   Gorner   sxemasi,   shuningdek,   polinomni   binomial   shaklga
bo'lish   uchun   oddiy   algoritmdir   x-c.   Usul   Uilyam   Jorj   Gorner   sharafiga
nomlangan, ammo Paolo Ruffini Gornerni 15 yilga ortda qoldirgan, xitoylarga esa
bu usul XIII asrda ma'lum bo'lgan.
Gorner   sxemasi,   shuningdek,   Gorner   usuli   yoki   Gorner   algoritmi   sifatida   ham
tanilgan,   berilgan   nuqtada   polinom   qiymatini   samarali   hisoblash   uchun   raqamli
usuldir.   Ushbu   sxema   1820   yilda   matematik   Gerxard   Gorner   tomonidan   taklif
qilingan.Gorner  sxemasining  mohiyati  shundaki, u polinomning qiymatini  ketma-
ket   ko'paytirish   va   qo'shish   yordamida   hisoblash   imkonini   beradi,   buning   o'rniga 3har   bir   polinom   atamasini   alohida   hisoblashning   ko'proq   vaqt   talab   qiladigan   va
resurslarni talab qiladigan usuli.Gorner sxemasini quyidagicha ifodalash mumkin:
P(x)   =   a
0   +   a
1 x   +   a
3 x 3
  +   a
4 x 4
  +   …..   +   a
n x n
  shaklida   bo’ladi   bu   yerda   a ,   a₀
1   ,   a
2   ,
a
3   ,....   ,   an-polinomning   koeffitsientlari   va   berilgan   nuqta   uchun   x ,   polinomning	
₀
qiymati quyidagicha hisoblanadi:
1. Natija o'zgaruvchisini nolga o'rnating.
2.   An   koeffitsientidan   boshlab,   natijani   ketma-ket   x   ga   ko'paytiring   va   joriy   Ai	
₀
koeffitsientini qo'shing. Keyin bu qiymat yangi natijaga aylanadi.
3.   Polinomning   barcha   koeffitsientlari   uchun   2-bosqichni   takrorlang,   an   dan
boshlab va a заканчивая bilan tugaydi.
4.   Natijada,   natija   qiymati   P(x )   ga   teng   bo'ladi,   ya'ni.berilgan   nuqtadagi	
₀
polinomning qiymati x .	
₀
Gorner  sxemasi  polinomlarning qiymatlarini  hisoblash  uchun juda samarali
usuldir,   ayniqsa   yuqori   darajalarda.   U   turli   xil   matematik   va   muhandislik
muammolarida keng qo'llaniladi.
Eng umumiy shaklda bir nechta o'zgaruvchilardan quvvat polinomini formula bilan yozish mumkin
       
Ya'ni,   polinom   o'zgaruvchilarning   darajalari   yig'indisi   polinom   tartibidan
oshmaydigan   barcha   monomiallarni   o'z   ichiga   oladi   .   Bunday   polinomni
hisoblash   algoritmlarini,   shuningdek,   bunday   polinomga   kiritilgan   individual
monomiallarning qiymatlari qatorini olishni ko'rib chiqing.
Har   bir   monomialni   alohida   hisoblash   yaxshi   fikr   emas.   Agar   siz
mashhur   Numerical   Recipes   kitobiga   ishonsangiz,   mashinalar   dunyoni   egallab
olgach, kompyuterni bunday masxara qilishda aybdor odamlar darhol qatl etiladi.
Aslida,   k   tartibidagi   har   bir   monomial   k -1   tartibidagi   monomiallardan   birini   faqat
bitta   ko'paytirish   orqali   hisoblash   mumkin.   Masalan,   birinchi   tartibli  
monomiallar nol tartibli monomialni (birlikni) o'zgaruvchilardan biriga ko'paytirish
orqali   olinadi.   Ushbu   monomiallarning   har   birini   yana   o'zgaruvchilardan   biriga
ko'paytirib,   biz   ikkinchi   darajali   barcha   mumkin   bo'lgan   monomiallarni   va
boshqalarni olamiz.
biz o'zgaruvchilardan biriga ko'paytiramiz va   k -tartibli monomiallarni olamiz.
Biroq, ikkinchi tartibdan boshlab muammo paydo bo'ladi: monomial   ikki
marta   olinadi.   Aslida,   (2)   formulada   omillarni   almashtirish   uchun   qancha   variant
mavjud   bo'lsa,   har   bir   monomial   ko'p   marta   olinadi.   Bunday   takroriy   hisob-
kitoblarni   amalga   oshirmaslik   uchun,   biz   monomial   hisoblashning   barcha   ketma-
ketliklaridan   (2)   o'zgaruvchilar   indekslari   o'sish   tartibida   tartiblanganligini 4tanlashga   rozi   bo'lamiz.   Bunga   erishish   uchun   biz   faqat   raqamlari   i   dan   katta
bo'lgan   o'zgaruvchilarni   o'z   ichiga   olmaydigan   monomiallarga   ko'paytiramiz,
shunda   faqat   darajalar   bo'lganlar   ko'payadi,   faqat   o'z   ichiga   oladi   va
hokazo.
Ushbu   yondashuv   bilan   har   bir   monomial   bir   vaqtning   o'zida   bir   nechta
boshqalarni   hisoblash   uchun   xizmat   qiladi.Darajalar barcha   D   o'zgaruvchilarga
ko'paytiriladi.   Barcha o'zgaruvchilarni o'z ichiga olgan monomiallar .Bunday
holda hisoblash jarayoni daraxt shaklida ifodalanishi mumkin:
1.1.1-rasm.Polinom daraxt
Daraxt   shaklida   taqdim   etilgan   ko'p   o'lchovli   polinomning   monomiallarini
hisoblash   jarayoni.   Har   bir   tugun   monomialga,   har   bir   chekka   esa
o'zgaruvchilardan   biriga   to'g'ri   keladi.Daraxt   shaklida   taqdim   etilgan   hisoblash
jarayoni tabiiy ravishda rekursiv algoritm yordamida amalga oshiriladi.   Eng oddiy
versiyada rekursiv protsedura bitta monomialni hisoblab chiqadi va barcha bolalar
monomiallarini   hisoblash   uchun   o'zini   chaqiradi.   Ushbu   protsedura   quyida
keltirilgan:
1.2.Gorner sxemasining dasturlash tillariga tadbiqi
procedure OneMonomial(
        var Monomials: array of extended; 
        Parent: integer;
        var x: array of extended;
        D: integer;
        xnum: integer;
        var MN: integer; 5        Order: integer;
        n: integer;
        );
var
    i: integer;
begin
    MN := MN + 1;
    Monomials[MN] := Monomials[Parent] * x[xnum];
    if Order < n then
    begin
        Parent := MN; //Запоминаем значение текущего
        for i := xnum to D-1 do
            OneMonomial(Monomials, Parent, x, D, i, MN, Order + 1, n);
    end;
end;
Tartib polinomidagi monomiallarning umumiy soni   N   dan   D   o'zgaruvchilar 
formula bo'yicha hisoblanishi mumkin
Yuqoridagi protsedura yordamida monomial massivni hisoblash quyidagicha:
SetLength(Monomials, Number);
Monomials[0] := 1;
MN := 0;
if n > 0 then
    for i := 0 to D-1 do
        OneMonomial(Monomials, 0, x, D, i, MN, 1, n)
Agar   x   ning turli qiymatlari uchun hisob-kitoblarni ko'p marta bajarish kerak 
bo'lsa, unda ishni tezlashtirish uchun siz rekursiyadan xalos bo'lishingiz 
kerak.   Buning oddiy usuli-daraxtning rekursiv aylanishini bir marta bajarish va har
bir monomial uchun ota-ona monomialining raqamini va u ko'paytirilgan 
o'zgaruvchining raqamini eslab qolish.   Keyinchalik bu ma'lumot rekursiyasiz 
monomiallarni hisoblash uchun ishlatilishi mumkin.
Tegishli kod quyidagicha ko'rinadi:
procedure OneMonomial(
        Parent: integer;
        D: integer;
        xnum: integer;
        var MN: integer;
        Order: integer;
        n: integer;
          Parents: array of ineger; 6                VarNumbers: array of integer;
        );
var
    i: integer;
begin
    MN  :=  MN  + 1;
    //Вычислений теперь не делаем
    //Monomials[MN] := Monomials[Parent] * x[xnum];
    //Вместо этого:
    Parents[MN] := Parent;
    VarNumbers[MN] := xnum;
     
    if Order < n then
    begin
        Parent  :=  MN ; //Запоминаем значение текущего
        for i := xnum to D-1 do
            OneMonomial(Parent, D, i, MN, Order + 1, n, Parents, VarNumbers);
    end;
end;
Biz ushbu protsedurani quyidagicha chaqiramiz:
SetLength(Parents, Number);
SetLength(VarNumbers, Number);
MN := 0;
if n > 0 then
    for i := 0 to D-1 do
        OneMonomial(0, D, i, MN, 1, n, Parents, VarNumbers);
A monomial massivni hisoblash o'zgaruvchilarning har bir qiymati 
uchun   x   shunday:
SetLength(Monomials, Number);
Monomials[0] := 1;
for i := 1 to Number-1 do
    Monomials[i] := Monomials[Parents[i]] * x[VarNumbers[i]];
Amaliyot shuni ko'rsatadiki, bunday rekursiv bo'lmagan hisoblash rekursivdan 
sezilarli darajada tezroq amalga oshiriladi.
Keling, polinomning o'zini hisoblashga qaytaylik.   Bunday hisoblash monomial 
daraxt tugunlarini tegishli koeffitsientlarga ko'paytirish va yig'ish orqali amalga 
oshiriladi.   Bu bizni quyidagi formulaga olib keladi:
Bu erda indekslar -biz tegishli monomialga etib boradigan daraxt 
shoxlarining raqamlari. 7Ushbu formula bir o'lchovli polinomni hisoblash uchun taniqli Gorner sxemasining
ko'p o'lchovli holatiga umumlashtirishdir:
formulaga muvofiq hisob-kitoblarni amalga oshiradigan funktsiya quyida 
keltirilgan:
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3
1
4
1
5
1
6
1
7
1
8
1
9
2
0
2
1
2
2
2
3
2 function   Gorner (
        //Коэффициенты, упорядоченные также как одночлены,
        //вычисляемые приведенной выше процедурой.
        var   c :  array   of   extended ;
 
        //Аргументы полинома
        var x: array of extended;
 
        //Размерность полинома (количество аргументов)
        D :  integer ;
 
        //Порядок полинома
        n :  integer ;
 
        //Номер очередного одночлена
        var   MN :  integer ;
 
        //Глубина рекурсии (она же - порядок очередного одночлена)
        depth :  integer ;
 
        //Номер переменной, начиная с которого производится домножение.
        //В зависимости от глубины рекурсии соответствует  i _1, ...,  i _ n
        //в формуле (4).
        i_depth: integer;
);
var
    i: integer;
    P: extended;
begin
    P := c[MN]
    MN := MN + 1;
    if depth < n then
        for i := i_depth to D-1 do
            P := P + x[i] * Gorner(c, x, D, n, MN, depth+1, i);
    Gorner := P;
end; 84
2
5
2
6
2
7
2
8
2
9
3
0
3
1
3
2
3
3
3
4
3
5
3
6
Umuman mn, depth, i_depth xizmat parametrlarini yashirish uchun ushbu 
funktsiyani boshqasi orqali chaqirish kerak:
1
2
3
4
5
6
7
8
9
1
0
1
1
1
2
1
3 function Polynomial(
        //Коэффициенты
        var c: array of extended;
        //Аргументы полинома
        var x: array of extended;
        //Размерность полинома (количество аргументов)
        D :  integer ;
        //Порядок полинома
        n: integer;
);
var
    MN: integer;
begin
    MN := 0;
    Polynomial := Gorner(c, x, D, n, MN, 0, 0);
end; 91
4
1
5
1
6
II-BOB.ASOSIY QISM
2.1.Gorner sxemasi tasnifi
Shunday qilib, polinomni ko’rib chiqing
P(x) = a
0  + a
1 x + a
3 x 3
 + a
4 x 4
 + ….. + a
n-1 x n-1
 + a
n x n
Aniqlik   uchun   koeffitsientlar   ko'k   rangda   ta'kidlangan.Polinom   uchun   Gorner
diagrammasini yozamiz P(x) nuqtada x = a .Buning uchun jadvalni to'ldiring 
a
n a
n-1 a
n-2 …….. a
1 a
0
a
2.1.1-rasm.Gorner jadvali
Birinchi   qatorda   polinomning   koeffitsientlarini   ko'ramiz   P(x)   darajalarning
kamayish   tartibida.Bunday   koeffitsientlar   har   doim   polinom   darajasidan
kattaroqdir: kvadrat polinom uchun atigi 3 koeffitsient, kub uchun -  allaqachon 4
va boshqalar.  
Jadvalning ikkinchi qatorida biz faqat raqamni kiritamiz   a   eng chap
qafasda.   Qolgan   hujayralar   quyidagi   algoritm   bo'yicha   ketma-ket
to'ldiriladi.Birinchi   bo'sh   katakchada   biz   elementni   yuqori   qatordan   o'zgarishsiz
o'tkazamiz.   Keling,   ushbu   elementni   nomlaymiz   b
n-1   -   keyin   nima   uchun   bunday
raqamlash kerakligini tushunasiz:
a
n a
n-1 a
n-2 …….. a
1 a
0 10a b
n-1  =  a
n
2.1.2-rasm.Gorner jadvalida birinchi element
Ikkinchi hujayra — element  b
n-2   - formula bo'yicha hisoblanadi  b
n-2  = b
n-1  * a +   a
n-1
Boshqacha qilib aytganda, biz Chapdagi elementni olamiz, raqamga ko'paytiramiz
a  va ustiga element qo'shing:
a
n a
n-1 a
n-2 …….
. a
1 a
0
a b
n-1 b
n-2  = b
n-1  * a +   a
n-1
2.1.3-rasm.Gorner jadvalida ikkinchi element
Keyin elementni topamiz  b
n-3   shunga o'xshash formula bo'yicha: 
b
n-3  = b
n-2  * a +   a
n-2  . Natijani uchinchi katakka kiritamiz:
a
n a
n-1 a
n-2 …….. a
1 a
0
a b
n-1 b
n-2 b
n-3  = b
n-2  * a +   a
n-2
2.1.4-rasm.Gorner jadvalida uchinchi element
Xuddi shunday, biz elementlarni topamiz   b
n-4     ,   b
n-5   va keyin.   Chapdagi elementni
oling,   asl   raqamga   ko'paytiring   a   ,   ustiga   element   qo'shing,   natijani   katakchaga
yozing:
b
k-1  =  b
k  * a + a
k
Bir   nuqtada   biz   elementga   etibor   beramiz   b
0   ,   bu   koifisent   ostidagi   hujayrada
joylashgan  a
1   :
a
n a
n-1 a
n-2 …….. a
1 a
0
a b
n-1 b
n-2 b
n-3 b
0  = b
1  * a +   a
0
2.1.5-rasm.Gorner jadvalida n-1 inchi element
Shunday qilib, biz barcha hujayralarni to'ldirdik va jadvalni oldik: 11a
n a
n-1 a
n-2 …….. a
1 a
0
a b
n-1 b
n-2 b
n-3 b
0   r
2.1.6-rasm.Gorner jadvalida oxitgi element
Ushbu jadvalni to'ldirish sxemasi  shunchaki  Gorner  sxemasi  deb ataladi.Topilgan
elementlar   b
n-1 ,   ...,   b
1   ,   b
0   va   r   asl   polinomni   qayta   yozishga   ruxsat   bering   P(x)
shaklida
P(x) = (b
n-1 x n-1
 + ,……, + b
1 x 1
  + b
0  )(x – a) + r
Bunday   yozuv,   agar   siz   uning   xususiyatlarini   bilsangiz,   polinomlar   bilan   bog'liq
muammolarni  hal qilish uchun dahshatli  qurol  bo'lib chiqadi.Va bugun biz ushbu
xususiyatlarning barchasini o'rganamiz, lekin birinchi navbatda ozgina amaliyot.
1 – misol .  Oddiy polinom
Polinom uchun Gorner sxemasi bo'yicha jadvalni to'ldiring
P(x) = 2x 4
 - 7x 3
 + x 2
 + 2x -3
Nuqtada x = 3.
Yechim.Boshlash   uchun   biz   asl   polinomning   koeffitsientlarini   diqqat   bilan
yozamiz.
P(x) = 2*x 4
 + (-7)*x 3
 +1*x 2
 + 2*x +(-3)
Biz jadval tuzamiz.Polinomning darajasi degP(x) = 4 . jadvalda beshta asosiy ustun
va chap tomonda bitta qo'shimcha ustun bo'ladi, unda biz raqamni yozamiz  x = 3 :
2 -7 1 2 -3
3
2.1.7-rasm.Gorner jadvalida birinchi elementni topish
Ikkinchi   qatorda   bo'sh   katakchalarni   to'ldiring.   Biz   elementni   birinchi   hujayraga
o'zgartirmasdan yuqoridan o'tkazamiz:
2 -7 1 2 -3
3 2
2.1.8-rasm.Gorner jadvalida ikkinichi elementni topish
Ikkinchi hujayradagi element formula bo'yicha hisoblanadi  2*3 + (-7) = -1 :
2 -7 1 2 -3 123 2 -1
2.1.8-rasm.Gorner jadvalida uchinchi elementni topish
Biz uchinchi va to'rtinchi katakchalarni xuddi shunday to'ldiramiz: avval   -1*3 + 1
= -2 ,  keyin  -2*3 + 2 = -4
2 -7 1 2 -3
3 2 1 -2 -4
2.1.9-rasm.Gorner jadvalida qiymat elementlarini topish
Nihoyat, oxirgi hujayra:  -4 * 3 +(-3) = -15
2 -7 1 2 -3
3 2 -1 -2 -4 -15
2.1.10-rasm.Gorner jadvalida oxirgi elementni topish
2.2.Polinom qiymatni hisoblash
Gorner   sxemasi   nima   uchun   kerakligini   tushunish   uchun   keling,   butun   fikrlash
zanjirini qisqacha takrorlaylik.Biz ixtiyoriy polinomni olamiz
P(x) = a
0  + a
1 x + a
3 x 3
 + a
4 x 4
 + ….. + a
n-1 x n-1
 + a
n x n
Va ixtiyoriy nuqta x = a . Biz jadval tuzamiz:
a
n a
n-1 a
n-2 …….. a
1 a
0
a b
n-1 b
n-2 b
n-3 …… b
0   r
2.2.1-rasm.Gorner jadvali
Topilgan koeffitsientlar 
b
n-1 , ..., 
b
1  , 
b 0  va r  polinomni qayta yozishga ruxsat bering P(x) yangi 
shaklda:
P(x) = (b
n-1 x n-1
 + ,……, + b
1 x 1
  + b
0  )(x – a) + r
Ammo   bu   yozuv   nimasi   bilan   diqqatga   sazovordir?Keyingi   to'rtta   nuqtada   biz
uning   barcha   xususiyatlarini   batafsil   tahlil   qilamiz.Va   eng   oddiyidan
boshlaylik.Ushbu   yangi   yozuvda   raqamni   almashtiring   x   =   a   ,   ya’ni   hisoblashda
P(a) : 13P(a) = (b
n-1 a n-1
 + ,……, + b
1 a 1
  + b
0  )(a – a) + r = r
Shunday qilib, oxirgi raqam  r  jadvalda bu polinomning qiymati P(x) nuqtada x = a
P(a) = r
Va bu shuni anglatadiki, Gorner sxemasi tufayli polinomlarning qiymatlarini tezda
(eksponentatsiya   operatsiyasi   yo'q)   va   ishonchli   deb   hisoblash   mumkin   (biz
ko'paytirishdan ko'ra qo'shilishda kamroq xato qilamiz).
1-Misol.  Polinomning qiymatini topish uchun Gorner sxemasidan foydalaning
P(x) = 8x 4
 -12x 3
 -24x 2
 +11x +7 
Nuqtada x = 2,5.
Yechim.Polinomning koeffitsientlarini tanlang
P(x) = 8x 4
 +(-12)x 3 
 + (-24)x 2
 + 11x +7 
va jadvalni to’ldiring x = 2,5 :
8 -12 -24 11 7
2.5 8 8 -4 1 9,2
2.2.1-rasm.Birinchi misol
Polinomning   umumiy   qiymati   P(2,5)   =   9,2.   Xuddi   shu   qiymatni   to'g'ridan-to'g'ri
almashtirish   orqali   olish   mumkin,   ammo   hisob-kitoblar   shunchalik   noqulay
bo'ladiki, biz ularni bermaymiz.
2-Misol . 5x 4
+5x 3
+x 2
-11 x−1da , Gorner sxemasidan foydalangan holda.
Yechim
Yozuvni   qisqartirish   uchun   berilgan   polinomni   P(x)deb   belgilang ,   ya'ni
P(x)=5x 4 +5x 3 +x 2-11 . Boshlash uchun biz ikki qatorli jadval tuzamiz.Birinchi
qatorda   p(x)   polinomning   koeffitsientlarini   yozamiz   x   o'zgaruvchining
kamayish   darajasida   joylashgan .   E'tibor   bering,   berilgan   polinom   x   ni   o'z
ichiga   olmaydi   birinchi   darajada,   ya'ni   x   dan   oldingi   koeffitsient   birinchi
daraja 0 ga teng:
5 ⋅ x 4 + 5 ⋅ x 3 + 1 ⋅ x 2 + 0 ⋅ x+ (−11)
Chunki biz  x− 1 ga bo'linamiz , keyin ikkinchi qatorning birinchi katakchasida
1 raqamini yozamiz . Biz ishlaydigan jadval quyidagicha:
5 5 1 0 -11 141
2.2.2-rasm.Ikkinchi misol birinchi raqam topish
Ikkinchi qatorda bo'sh katakchalarni to'ldirishni boshlaymiz.   Ikkinchi qatorning 
ikkinchi katagiga 
5 raqamini yozing , uni birinchi qatorning ikkinchi 
katakchasidan pastga tushirish orqali:
5 5 1 0 -11
1 5
2.2.3-rasm.Ikkinchi misol ikkinchi raqam topish
Quyidagi katakchani ushbu printsip bo'yicha to'ldiring: 
1
⋅ 5 + 5 =  10 :
5 5 1 0 -11
1 5 10
2.2.4-rasm.Ikkinchi misol uchinchi raqam toppish
Xuddi shunday, biz ikkinchi qatorning to'rtinchi katakchasini to'ldiramiz:  1 ⋅ 10 + 1 =
11 :
5 5 1 0 -11
1 5 10 11
2.2.5-rasm.Ikkinchi misol to’rtinchi raqam toppish
Beshinchi katak uchun biz olamiz:  1
⋅ 11 + 0 =  11 :
5 5 1 0 -11
1 5 10 11 11
2.2.6-rasm.Ikkinchi misol beshinchi raqam topish
Va nihoyat, oxirgi, oltinchi hujayra uchun bizda:  1
⋅ 11 + (-11)  =  0 : 155 5 1 0 -11
1 5 10 11 11 0
2.2.7-rasm.Ikkinchi misol oxirgi raqam topish
Ikkinchi   qatorda   joylashgan   raqamlar(birlik   va   nol   o'rtasida)   p(x)bo'linishidan
keyin   olingan   polinomning   koeffitsientlari   x−1da .   Ikkinchi   qatordagi   (nol)   oxirgi
raqam   P(x)polinom bo'linishining qolgan qismiga teng   x−1da . Qoldiq nolga teng,
ya'ni  P(x) polinom   x -1 ga bo'linadi   to'liq. Aniqlik uchun koeffitsientlarni turli
xil ranglarda ajratib, natijani yozaman:
5 5 1 0 -11
1 5 10 11 11 0
2.2.8-rasm.Gorner jadvali
P(x)=(x− 1 ) ⋅ ( 5 ⋅ x 4 + 10 ⋅ x 3 + 11 ⋅ x 2 + 11 ⋅ x)+ 0 =(x−1)(5x 3 +10x 2 +11x+11)
Tabiiyki,  p(x) asl polinomning darajasi  to'rtga teng, keyin  5x 3 +10x 2 +11x+11
polinomning darajasi   birlik kamroq, ya'ni. uchga teng.
Biz olgan natijani quyidagicha tavsiflash mumkin:   P(x)polinomning qiymati
x=1   da   nolga   teng.   P(x)polinomining   qiymati   sifatida   x=1   da   nolga   teng,
keyin birlik  P(x)polinomning ildizi .
Javob :  5x 4 +5x 3 +x 2-11 =(x−1)(5 x  3 + 10 x 2  + 11x +11) .
Misol . 2 raqamlari ekanligiga ishonch hosil qiling  va  -5  .  3x 6 +9x 5-28 x 4 +6x  3 -
30
  x 2 -30
  x+100   polinomning   ildizlari .   Berilgan   polinomni   x-2   binomlariga
bo'ling   va   x+5 .
Yechim
Avvalgidek,   yozuvni   qisqartirish   uchun   berilgan   polinomni   P(x)deb
belgilaymiz , ya'ni.
P(x)=3x 6 +9x 5 −28x 4 +6x 3 −30x 2 −30x+100
P(xpolinomning   darajasi   6   ga   teng .   Berilgan   ikkita   binomga   bo'lingandan
so'ng, berilgan polinomning darajasi  2 ga kamayadi , ya'ni  4 ga teng bo'ladi
P(x)=(x− 2 ) ⋅ (x−( −5 )) ⋅ ( 3 ⋅ x 4 + 0 ⋅ x 3 + 2 ⋅ x 2 + 0 ⋅ x+( −10 ))=(x−2)(x+5)(3x 4 +2x 2 −10) 16Albatta,   bu   tanlash   usuli   umuman   samarasiz,   agar   ildizlar   butun   sonlar
bo'lmasa, lekin butun ildizlar uchun usul juda yomon emas.
2.3.Polinomning qoldiq bilan bo’linishi
Sizga shuni eslatib o'tamanki, polinomni ajratish P(x) polinomga A(x) qoldiq bilan
polinomlarni topish demakdir Q(x) va R(x) shunday qilib
P(x) = Q(x) * A(x) +R(x)
bundan   tashqari,   polinomning   darajasi   R(x)   bo'linuvchining   darajasidan   qat'iyan
kamroq A(x):
degR(x) < degA(x)
Polinom   Q(x)   to'liq   bo'lmagan   xususiy   deb   ataladi,R(x)   -   bo'linishdan   qolgan
qoldiq.Buni ko'rsatish mumkin Q(x)  va R(x)  asl polinomlar uchun aniq belgilangan
P(x)  va A(x).
Ruxsat bering A(x) = x – a – chiziqli binomial .Shubhasiz uning darajasi degA(x)
= 1 .
O'zboshimchalik bilan polinomni ko'rib chiqing
P(x) = b
0  + b
1 x + b
3 x 3
 + b
4 x 4
 + ….. + b
n-1 x n-1
 + b
n x n
va biz uchun jadval tuzamiz x= a Gorner sxemasi bo'yicha:
a
n a
n-1 a
n-2 …….. a
1 a
0
a b
n-1 b
n-2 b
n-3 …… b
0   r
2.3.1-rasm.Gorner jadvali
Polinomning yangi yozuvini olamiz P(x):
P(x) = (b
n-1 x n-1
 + ,……, + b
1 x 1
  + b
0  )(x – a) + r
Bu yerda r – oddiy raqam , yani deg r = 0 < degA(x) . Ammo keyin polinom
Q(x) = b
0  + b
1 x + b
3 x 3
 + b
4 x 4
 + ….. + b
n-1 x n-1
 + b
n x n
Bo’linishda to’liq bo’lmagan xusisiydir P(x) ikki tomonlama x – a , raqam r – bu 
bo’linishning qolgan qismi : 17P(x) = Q(x) (x – a) +r 
Shunday   qilib,   Gorner   sxemasi   sizga   to'liq   bo'lmagan   qismni   va   ixtiyoriy
polinomning   bo'linishining   qolgan   qismini   tezda   topishga   imkon   beradi   P(x)   ikki
tomonlama  x - a .
2.4.Gorner sxemasining tenglama ildizlari
Hozirgacha biz Horner sxemasini ba'zi bir nuqta uchun qo'lladik   ,x = a bu 
vazifa shartida aniq ko'rsatilgan.   Ammo agar siz bunday nuqtani topsangiz nima 
bo'ladi — bu muammoning sharti?
Tenglamani ko'rib chiqamiz
a
0  + a
1 x + a
3 x 3
 + a
4 x 4
 + ….. + a
n-1 x n-1
 + a
n x n
 = 0
Raqam x = a agar bu tenglamaning ildizi bo'lsa P(a) = 0. Bu shuni anglatadiki, 
Horner sxemasidagi oxirgi element nolga teng bo'lishi kerak:
2.5.Bosqichma-bosqich algoritm topish polinomning qiymati
Gorner sxemasi bo'yicha
1) x 0 qiymatini kiriting
2) n polinomning darajasini kiriting
3) 1 dan n+1 gacha bo'lgan i tsiklning boshlanishi
4) a qatoriga polinomning n + 1 koeffitsientlarini kiriting
5) tsiklning oxiri
6) b[1]=a[1], bu erda b – "yangi" koeffitsientlar qatori
7) 2 dan n+1 gacha bo'lgan i tsiklning boshlanishi
8) b[i]:=a[i]+b[i-1]*x0
9) a[i] va b[i]qiymatlari jadvalini chiqaring
10) biz b 0 ni chiqaramiz, bu kerakli javob bo'ladi.
1.3 Horner sxemasini amalga oshiradigan dastur kodi
var n,i: integer;
a,b: array [1..1000] of real; 18x,x0:real;
Begin
{Polinom darajasi va x0 qiymatini kiriting}
writeln ('polinomning kuchini kiriting');
readln(n);
writeln ('argumentni kiriting');
readln(x0);
{Massivni to'ldirish davri}
For i:=1 to n+1 do begin
writeln ('daraja koeffitsientini kiriting', n+1-i);
readln(a[i]);
b[i]:=a[i];
end;
b[1]:=a[1];
{b[i] qiymatlarini hisoblang}
for i:=2 to n+1 do begin
b[i]:=a[i]+b[i-1]*x0;
end;
{javoblarni chiqarish}
For i:=1 to n+1 do begin
writeln;
writeln ('daraja:', n + 1-i);
writeln ('daraja koeffitsienti', n+1-i,'=', a[i]); 19writeln ('ketma-ketlik elementi=', b[i]);
end ;
{yakuniy javobning natijasi}
writeln;
writeln ('javob=', b[n+1]);
end .
XULOSA
Ish davomida men polinomni qanday qilib faktorizatsiya qilishni, polinomni
polinomga   bo'lishni,   polinomni   monomialga   ko'paytirishni,   yuqori   darajadagi
tenglamalar   va   tengsizliklarni   echishni   va   noqulay   hisob-kitoblarni
amalga   oshirmasdan bir nuqtada funktsiya qiymatlarini topishni takrorladim.
Ushbu  o'quv  yilida  men  Horner   sxemasi  yordamida hal  qilinishi   mumkin  bo'lgan
parametr bilan bog'liq muammolarni hal qilishni o'rgandim.
Mening   keyingi   vazifam-ixtisoslashgan   darajadagi   matematikadan   use   testlaridan
yuqori  darajadagi  tenglamalar  va tengsizliklarni  echish uchun Horner sxemasidan
samarali   foydalanishni   o'rganish.   Endi   men   n   \   u003e   2   uchun   yuqori   darajadagi
turli xil tenglamalarni echishning asosiy  usullarini o'zlashtirdim.   Ushbu mavzu va
tenglamalarni   echishga   bunday   yondashuv   meni   juda   qiziqtirdi,   ammo   yagona
salbiy tomoni shundaki, sxema faqat oqilona ildizlar uchun ishlaydi.
Meni   qiziqtirgan   mavzu   juda   ko'p   qirrali,   Horner   sxemasi   yordamida   hal
qilinadigan vazifalar xilma-xil, ularni hal qilish usullari va usullari ham xilma-xil
degan   xulosaga   keldim.   Shuning   uchun   men   ushbu   yo'nalishda   ishlashni   davom
ettirishga   qaror   qildim:   parametr   bilan   bog'liq   vazifalar   menga   ayniqsa   qiziq
tuyuldi.
Menimcha, bizning tadqiqot ishimiz katta amaliy qo'llanmalarga ega.   Ish natijalari 20matematika   bo'yicha   Olimpiada   guruhlari   darslarida   va   ixtisoslashtirilgan
darajadagi matematikadan imtihonga tayyorgarlik ko'rishda ishlatilishi mumkin.
Ushbu ishning maqsad va vazifalari to'liq amalga oshirilganligiga ishonaman.
FOYDALANILGAN ADABIYOTLAR
1.Algebra.9   sinf:darslik   /   G.   K.   Muravin,   K.   S.   Muravin,   O.   V.   Muravina.   4-
nashr.., stereotip. - M.: Bustard, 2017 Yil. 319, [1] s.
2.Matematika: algebra va matematik tahlilning boshlanishi, geometriya.Algebra va
matematik tahlilning boshlanishi.   Chuqurlashtirilgan daraja.10-sinf: darslik / G. K.
Muravin, O. V. Muravina.5-nashr., stereotip.- M.: Bustard, 2018 Yil.-285, [1] s.
3.Algebra   va   matematik   tahlilni   chuqur   o'rganish:   usul.   Tavsiyalar   va
didakt.materiallar:   o'qituvchi   uchun   qo'llanma   /   M.   L.   Galitskiy,   M.   M.
Moshkovich, S. I. Shvartsburd.3-nashr., dorab.M.: Ma'rifat, 1997.- 352s. - ISBN 5-
09-006592-6.
4.https://ru.wikipedia.org/wiki/Горнер, _uilyam_jorj
5 . https://ru.wikipedia.org/wiki/Теорема_Безу

1Gorner sxemasi MUNDARIJA KIRISH Matematikaga bo ' lgan ishtiyoq qiziqarli vazifa yoki muammo haqida o ' ylashdan boshlanadi . Matematik sirlar bilan sehrlangan har qanday odam matematik kashfiyotlar tarixini , muammolarni hal qilishning turli usullarini bilishga , murakkab muammolarni hal qilish uchun matematik teoremalardan foydalanishga qiziqadi . Men, Gorodilova Anastasiya, 9-sinfda "Zvenigovskiy litseyi" ta'lim muassasasida matematika darslarida "polinomlar"mavzusini o'rgandim. Berilgan nuqtada polinomlarning qiymatlarini topdi, polinomlarni ajratdi, polinomlarning ildizlarini topdi. Agar polinomlar haqida umuman gapiradigan bo'lsak, shuni ta'kidlash kerakki, funktsiyalarning beqiyos sohasida polinomlar, birinchi qarashda, juda kamtarona joyni egallaydi. Biroq, bu birinchi taassurot aldamchi. Ma'lum bo'lishicha, polinomlarni tez-tez hisoblash kerak, ya'ni buni iloji boricha osonroq

2qilishni o'rganish muhimdir. Ma'lumki, polinomlar bilan ishlashda siz ko'plab turli xil hisob-kitoblarni amalga oshirish zarurati bilan duch kelishingiz kerak. Bundan tashqari, hisoblash xatolarining paydo bo'lishi ehtimoli katta, shuning uchun, masalan, polinomning ildizlarini hisoblashda, haqiqatan ham ildiz bo'ladigan qiymatlarni tanlashda ko'plab variantlarni ishlab chiqish kerak. Matematika darslarida biz polinomning ma'nosini va uning ildizlarini topishga imkon beradigan Gorner sxemasini o'rganib chiqdik. 10-sinfda o'qiyotganimda, men yana Gorner sxemasini qo'llash mumkin yoki kerak bo'lgan vazifalarga duch keldim. Matematikadan imtihonga tayyorgarlik ko'rish uchun kurslarda, parametr bilan ba'zi tenglamalarni echishda, 9-sinfda polinomlarni o'rganishda olingan bilimlar yana foydali bo'ldi.Men o'qituvchim bilan Gorner sxemasi qo'llaniladigan asosiy vazifalar doirasini aniqlashga qaror qildik. Chunki biz ushbu mavzu maktab matematika kursida dolzarb deb hisoblaymiz:  Polinomning qiymatini va uning ildizlarini noqulay hisob-kitoblarni amalga oshirmasdan topishga imkon beradi;  Yuqori darajadagi tenglamalar va tengsizliklarni polinomlarni guruhlash usuli bilan emas, balki vaqtni tejaydigan yanada oqilona usul bilan echishga imkon beradi;  Polinomni monomialga ko'paytirishda ishlatiladi ;  Algebraik kasrlarni qisqartirishda ishlatiladi:  Parametr bilan bog'liq muammolarni hal qilish uchun ishlatiladi. I-BOB.NAZARIY QISM 1.1.Gerxard Gorner tarixi Gorner sxemasi (yoki Gorner qoidasi, Gorner usuli, Ruffini-Gorner usuli) — o'zgaruvchining berilgan qiymati uchun monomlar (monomenlar) yig'indisi sifatida yozilgan polinom qiymatini hisoblash algoritmi. Gorner usuli polinomning ildizlarini topishga imkon beradi , shuningdek berilgan nuqtada polinom hosilalarini hisoblash. Gorner sxemasi, shuningdek, polinomni binomial shaklga bo'lish uchun oddiy algoritmdir x-c. Usul Uilyam Jorj Gorner sharafiga nomlangan, ammo Paolo Ruffini Gornerni 15 yilga ortda qoldirgan, xitoylarga esa bu usul XIII asrda ma'lum bo'lgan. Gorner sxemasi, shuningdek, Gorner usuli yoki Gorner algoritmi sifatida ham tanilgan, berilgan nuqtada polinom qiymatini samarali hisoblash uchun raqamli usuldir. Ushbu sxema 1820 yilda matematik Gerxard Gorner tomonidan taklif qilingan.Gorner sxemasining mohiyati shundaki, u polinomning qiymatini ketma- ket ko'paytirish va qo'shish yordamida hisoblash imkonini beradi, buning o'rniga

3har bir polinom atamasini alohida hisoblashning ko'proq vaqt talab qiladigan va resurslarni talab qiladigan usuli.Gorner sxemasini quyidagicha ifodalash mumkin: P(x) = a 0 + a 1 x + a 3 x 3 + a 4 x 4 + ….. + a n x n shaklida bo’ladi bu yerda a , a₀ 1 , a 2 , a 3 ,.... , an-polinomning koeffitsientlari va berilgan nuqta uchun x , polinomning ₀ qiymati quyidagicha hisoblanadi: 1. Natija o'zgaruvchisini nolga o'rnating. 2. An koeffitsientidan boshlab, natijani ketma-ket x ga ko'paytiring va joriy Ai ₀ koeffitsientini qo'shing. Keyin bu qiymat yangi natijaga aylanadi. 3. Polinomning barcha koeffitsientlari uchun 2-bosqichni takrorlang, an dan boshlab va a заканчивая bilan tugaydi. 4. Natijada, natija qiymati P(x ) ga teng bo'ladi, ya'ni.berilgan nuqtadagi ₀ polinomning qiymati x . ₀ Gorner sxemasi polinomlarning qiymatlarini hisoblash uchun juda samarali usuldir, ayniqsa yuqori darajalarda. U turli xil matematik va muhandislik muammolarida keng qo'llaniladi. Eng umumiy shaklda bir nechta o'zgaruvchilardan quvvat polinomini formula bilan yozish mumkin Ya'ni, polinom o'zgaruvchilarning darajalari yig'indisi polinom tartibidan oshmaydigan barcha monomiallarni o'z ichiga oladi . Bunday polinomni hisoblash algoritmlarini, shuningdek, bunday polinomga kiritilgan individual monomiallarning qiymatlari qatorini olishni ko'rib chiqing. Har bir monomialni alohida hisoblash yaxshi fikr emas. Agar siz mashhur Numerical Recipes kitobiga ishonsangiz, mashinalar dunyoni egallab olgach, kompyuterni bunday masxara qilishda aybdor odamlar darhol qatl etiladi. Aslida, k tartibidagi har bir monomial k -1 tartibidagi monomiallardan birini faqat bitta ko'paytirish orqali hisoblash mumkin. Masalan, birinchi tartibli monomiallar nol tartibli monomialni (birlikni) o'zgaruvchilardan biriga ko'paytirish orqali olinadi. Ushbu monomiallarning har birini yana o'zgaruvchilardan biriga ko'paytirib, biz ikkinchi darajali barcha mumkin bo'lgan monomiallarni va boshqalarni olamiz. biz o'zgaruvchilardan biriga ko'paytiramiz va k -tartibli monomiallarni olamiz. Biroq, ikkinchi tartibdan boshlab muammo paydo bo'ladi: monomial ikki marta olinadi. Aslida, (2) formulada omillarni almashtirish uchun qancha variant mavjud bo'lsa, har bir monomial ko'p marta olinadi. Bunday takroriy hisob- kitoblarni amalga oshirmaslik uchun, biz monomial hisoblashning barcha ketma- ketliklaridan (2) o'zgaruvchilar indekslari o'sish tartibida tartiblanganligini

4tanlashga rozi bo'lamiz. Bunga erishish uchun biz faqat raqamlari i dan katta bo'lgan o'zgaruvchilarni o'z ichiga olmaydigan monomiallarga ko'paytiramiz, shunda faqat darajalar bo'lganlar ko'payadi, faqat o'z ichiga oladi va hokazo. Ushbu yondashuv bilan har bir monomial bir vaqtning o'zida bir nechta boshqalarni hisoblash uchun xizmat qiladi.Darajalar barcha D o'zgaruvchilarga ko'paytiriladi. Barcha o'zgaruvchilarni o'z ichiga olgan monomiallar .Bunday holda hisoblash jarayoni daraxt shaklida ifodalanishi mumkin: 1.1.1-rasm.Polinom daraxt Daraxt shaklida taqdim etilgan ko'p o'lchovli polinomning monomiallarini hisoblash jarayoni. Har bir tugun monomialga, har bir chekka esa o'zgaruvchilardan biriga to'g'ri keladi.Daraxt shaklida taqdim etilgan hisoblash jarayoni tabiiy ravishda rekursiv algoritm yordamida amalga oshiriladi. Eng oddiy versiyada rekursiv protsedura bitta monomialni hisoblab chiqadi va barcha bolalar monomiallarini hisoblash uchun o'zini chaqiradi. Ushbu protsedura quyida keltirilgan: 1.2.Gorner sxemasining dasturlash tillariga tadbiqi procedure OneMonomial( var Monomials: array of extended; Parent: integer; var x: array of extended; D: integer; xnum: integer; var MN: integer;

5 Order: integer; n: integer; ); var i: integer; begin MN := MN + 1; Monomials[MN] := Monomials[Parent] * x[xnum]; if Order < n then begin Parent := MN; //Запоминаем значение текущего for i := xnum to D-1 do OneMonomial(Monomials, Parent, x, D, i, MN, Order + 1, n); end; end; Tartib polinomidagi monomiallarning umumiy soni N dan D o'zgaruvchilar formula bo'yicha hisoblanishi mumkin Yuqoridagi protsedura yordamida monomial massivni hisoblash quyidagicha: SetLength(Monomials, Number); Monomials[0] := 1; MN := 0; if n > 0 then for i := 0 to D-1 do OneMonomial(Monomials, 0, x, D, i, MN, 1, n) Agar x ning turli qiymatlari uchun hisob-kitoblarni ko'p marta bajarish kerak bo'lsa, unda ishni tezlashtirish uchun siz rekursiyadan xalos bo'lishingiz kerak. Buning oddiy usuli-daraxtning rekursiv aylanishini bir marta bajarish va har bir monomial uchun ota-ona monomialining raqamini va u ko'paytirilgan o'zgaruvchining raqamini eslab qolish. Keyinchalik bu ma'lumot rekursiyasiz monomiallarni hisoblash uchun ishlatilishi mumkin. Tegishli kod quyidagicha ko'rinadi: procedure OneMonomial( Parent: integer; D: integer; xnum: integer; var MN: integer; Order: integer; n: integer; Parents: array of ineger;