Gorner sxemasi
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;