1. Algoritm nima


Download 59.28 Kb.
bet3/3
Sana18.06.2023
Hajmi59.28 Kb.
#1581361
1   2   3
Bog'liq
yakuniy algiritm

Ommaviylik. Har bir algoritm mazmuniga ko‘ra bir turdagi masalalarning barchasi uchun ham o‘rinli bo‘lishi kerak. ya’ni masaladagi boshlang‘ich ma’lumotlar qanday bo‘lishidan qat’iy nazar algorim shu xildagi har qanday masalani yechishga yaroqli bo‘lishi kerak. Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi, kasrlarni turlicha o‘zgartirib bersangiz ham ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo‘lishidan qat’iy nazar, uning yuzini hisoblab beraveradi.Natijaviylik. Har bir algoritm chekli sondagi qadamlardan so‘ng albatta natija berishi shart. Bajariladigan amallar ko‘p bo‘lsa ham baribir natijaga olib kelishi kerak. Chekli qadamdan so‘ng qo‘yilgan masala yechimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko‘rilayotgan jarayon cheksiz davom etib natija bermasa, uni algoritm deb atay olmaymiz.
8- Kvadrat tenglama yechimini topish algoritmi
vadrat tenglama yechimini topish uchun quyidagi algoritmni ishlatishingiz mumkin:Kiritilgan tenglamani ifodalash: Kvadrat tenglamini a * x^2 + b * x + c =
0 ko'rinishida ifodalash.
Diskriminantni hisoblash: Diskriminant D = b^2 - 4 * a * c ni hisoblang.
Diskriminantni tekshirish: Agar D > 0 bo'lsa, u holda tenglama ikkita haqiqiy ildizga ega.Agar D = 0 bo'lsa, u holda tenglama bir haqiqiy ildizga ega.
Agar D < 0 bo'lsa, u holda tenglama haqiqiy ildizlarga ega emas.Tenglamning yechimini topish:Agar D > 0 bo'lsa, u holda yechimlar quyidagicha topiladi:
x₁ = (-b + √D) / (2 * a) ,x₂ = (-b - √D) / (2 * a) Agar D = 0 bo'lsa, u holda yechim quyidagicha topiladi:x = -b / (2 * a)
Natijani chiqarish: Tenglamning yechimlarini natijaviy ko'rinishda chiqaring. Agar tenglam haqiqiy ildizlarga ega bo'lsa, ildizlarni ko'rsating. Aks holda, "Tenglam haqiqiy yechimga ega emas" deb chiqaring.
9- Evklid algoritmi
Evklid algoritmi, ikki sonni eng katta umumiy bo'luvchisini topish uchun ishlatiladigan bir algoritmadir. Ushbu algoritm qo'shimcha sonlar yoki ulardan yana xususiyatli bir hisoblash jarayoni uchun ham foydalaniladi.Evklid algoritmini ikki sonning eng katta umumiy bo'luvchisini topish uchun quyidagi algoritmni ishlatish mumkin: Ikki sonni qabul qilib oling: a va b. a ni b ga bo'lishni hisoblang va qoldiqni qo'ying: q = a // b, r = a % b.Agar r = 0 bo'lsa, u holda b eng katta umumiy bo'luvchidir va hisoblash tugallanadi. Natijani qaytarib chiqing: b. Aks holda, a ni b ga o'zlashtiring va 2-qadamdan boshqa hisoblash jarayonini takrorlang.Bu algoritm, ikki sonning eng katta umumiy bo'luvchisini topish uchun samarali va tez hisoblash uchun ishlatiladi. Evklid algoritmi ko'p miqdorda sonlar uchun ham foydalanish mumkin va sonlarning katta qiymatlari bo'lsa ham ishini bajarishi samarali. Algoritmning asosiy xususiyati esa sonlar o'rtasidagi o'zlashtirish jarayonlari yordamida yana va yana katta umumiy bo'luvchi topilishidir.
10- Erotosfen g’alviri algoritmi
Eratosfen elagi (Eratosfen gʻalviri) — butun son displaystyle n}gacha boʻlgan barcha tub sonlarni topish algoritmi boʻlib, qadimiy grek matematigi Eratosfen Kireniyga bagʻishlab nomlangan. Eratosfen elagi algoritmi kichik (odatda, 10 milliondan kichik boʻlgan) tub sonlar topishning eng tez uslub hisoblanadi. Algoritm Butun son n gacha boʻlgan barcha tub sonlarni topish Eratosfen uslubiga asosan quyidagi bosqichlardan iborat.Ikkidan boshlab n gacha boʻlgan barcha sonlarni yozib chiqamiz (2, 3, 4, …, n).Oʻzgaruvchi p boshida 2 — birinchi butun songa teng deb qabul qilamiz.Yozib chiqilgan sonlardan p dan boshlab p qadam bilan n gacha barcha sonlarni oʻchiramiz, (yaʼni 2p, 3p, 4p, … kabi sonlar).pda katta birinchi oʻchilirilmagan sonni p deb yangidan qabul qilamiz.3- va 4-qadamni p2 qiymati ndan katta yoki teng boʻlguncha takrorlaymiz.Natijada roʻyxatdagi oʻchirilmagan sonlarning barchasi tub son boʻladi.Amaliyotda, ushbu algoritmni quyidagicha yaxshilash (tezlashtirish) mumkin. Algoritmdagi 3-qadamda sonlarni p2 dan boshlab oʻchirish yetarli, chunki bundan kichik sonlar avval oʻchirilgan boʻladi. Va, algoritm p2 qiymati nga teng yoki katta boʻlganda toʻxtatiladi.
11- Chiziqli algoritmlar
Chiziqli algoritmlarda asosan hech qanday shart tekshirilmaydi va jarayonlar tartib bilan ketma - ket bajariladi. Demak, chiziqli algoritmlar sodda hisoblashlar yoki amallar ketma – ketligini ifodalaydi. Chiziqli algoritm masalalarini yechishni blok-sxemasini umumiy ko‘rinishi 3-rasmda keltirilgan. 1-misol. Pifagor teoremasi bo‘yicha uchburchakning gipotenuzasini hisoblashni: a) so‘zli; b) blok-sxemali algoritmni tuzing. Formulasi: Bu yerda a va b lar uchburchak katetlarini uzunligi
a)so‘zli algoritmi:
1)boshlanishi;
2)uchburchakning a va b katetlarini qiymatlari kiritilsin;
3) uchburchak gipotenuzasi formula bilan
hisoblansin;
4)hisoblash natijasi c ni qiymati chiqarilsin;
5) hisoblash tugatilsin. Tamom., c - uchburchak
gipotenuzasi.
12.Tarmoqlanuvchi algoritmlar
Tarmoqlanuvchi algoritm - u o‘zida kamida bitta shartni saqlaydi va kompyuteruni tekshirish natijasida ikkita mumkin bo‘lgan shartlardan birini bajarishni ta’minlaydigan algoritmdir. 2-misol. Ikkiga tarmoqlanuvchi funksiyani hisoblashning a) so‘zli; b) blok sxemali algoritmni tuzing
so‘zli algoritmi:1) boshlanishi; 2) x ni qiymatini kiriting; 3) agar x < 2 bo‘lsa
funksiya hisoblansin; 4) agar x ≥ 2 bo‘lsa funksiya hisoblansin;
5) hisoblash natijasi Y ni qiymatichiqarilsin; 6) hisoblash tugatilsin. Tamom.
b) blok-sxemali algoritmi: 6-rasmda keltirilgan.
Tarmoqlanuvchi algoritm
Takrorlanuvhi algoritmlar
Sikl algoritmi - bitta shartning yangi boshlang‘ich ma’lumotlar asosida ko‘p marotaba takrorlanadigan harakatlarini bajarilishini ta’minlovchi algoritmdir. Demak, siklik (takrorlanuvchi) tuzulmali dastur bir paytda bir yoki bir nechta parametrlar o‘zgarishida, bir guruh operatorlar hisoblashni ko‘p marotaba takrorlash imkoniyatini beradi.N –berilgan bo‘lsin, i=0 berilsin, S=0 berilsin, i=i+1 hisoblansin, S=S+i hisoblansin, i tekshirilsin va bu shart bajarilsa, 4-satrga qaytilsin, aks holda keyingi
qatorga o‘tilsin, S ning qiymati chop etilsinTarmoqlanuvchi algoritmlar (Graf algoritmlari), graf teoriyasi bo'yicha fokuslangan va grafda mavjud tug'unlar va yuzalarni o'rganib chiqadigan algoritmlardir. Graf, tug'unlar va tug'unlarni bir-biri bilan bog'laydigan yuzalar to'plami sifatida bo'lib, ma'lumotlar strukturasidir. Tarmoqlanuvchi algoritmlar, grafdagi tug'unlar orasidagi yo'llarni, eng qisqa yo'llarni, aylanishni va boshqalarini topish uchun ishlatiladi. Quyidagi tarmoqlanuvchi algoritma turlari muhim bo'lishi mumkin:Eng Qisqa Yo'l Algoritmalari: Tug'unlar orasidagi eng qisqa yo'lni topish bilan bog'liq algoritmalardir. Misol uchun, Dijkstra algoritmasi va Bellman-Ford algoritmasi keltirilishi mumkin.Sirttan Ketish Algoritmi (Breadth-First Search - BFS): Boshlang'ich tug'unidan boshlab graf strukturani kengaytirib boradigan qidiruv algoritmasidir. Ushbu algoritma, graf strukturidagi tug'unlarni ko'rish va eng qisqa yo'li topish uchun ishlatiladi.Chinni Ketish Algoritmi (Depth-First Search - DFS): Boshlang'ich tug'unidan boshlab graf strukturani chuqurlikka qarab o'tkazadigan qidiruv algoritmasidir. Bu algoritma, graf strukturini ko'rib chiqish va eng chuqur nuqtaga kelguncha o'tish uchun ishlatiladi.Minimal Tog'lam Tarmoq (Minimum Spanning Tree - MST) Algoritmalari: Graf strukturida, tug'unlarni bir-biriga bog'laydigan eng arzon narxliligi taqdim etadigan tarmoqlarni topish uchun ishlatiladi.
13- Takrorlanuvchi algoritmlar
Takrorlanuvchi algoritmlar, döngü (loop) strukturidan foydalanib takrorlashni bajaradi. Amalning qadam-qadam belgilanishi va shartni tekshirish döngüning ichida belgilanadi. Bu turlar algoritmalar, asosan boshlang'ich qiymatlar, döngüni boshqaruv sharti va qadam amallari bilan birga belgilanadi.
Takrorlanuvchi algoritmlarning quyidagi misollari keltirilishi mumkin:
Faktorial hisoblash: Berilgan sonning faktorialini hisoblaydigan algoritm, boshlang'ich qiymat sifatida n ni 1 gacha kamaytirib, ko'paytirish amalini takrorlayadi. Har bir qadamda n qiymati kamaytiriladi va natijaga ko'paytiriladi.
Fibonacci ketma-ketlik: Fibonacci ketma-ketlikdagi sonlarni generatsiya qiluvchi algoritm, boshlang'ich qiymatlari bo'lgan ikki oldingi sonni qo'shib yangi sonlarni yaratadi. Har bir qadamda yangi sonlar hisoblanadi va ketma-ketlikga qo'shiladi.
Lineyar qidiruv: Berilgan bir massivda belgilangan elementning mavjudligini tekshiruvchi algoritm, har bir qadamda massivning keyingi elementini tekshiradi. Shart bajarilganda izlanayotgan element topilgan deb hisoblanadi.
To'g'ri to'rtburchakning yuzasi hisoblash: To'g'ri to'rtburchakning yuzasini hisoblaydigan algoritm, uzunlik va kenglik qiymatlari bo'lgan boshlang'ich qiymatlardan foydalanib yuzani hisoblayadi. Har bir qadamda yuza hisoblanadi va natija elde qilinadi.
15- Sharti oxiridan berilgan takrorlanuvchi jarayonlar
Sharti oldindan berilgan takrorlanuvchi jarayonlar, bir amalni shart bajarilguncha takrorlayan algoritmalardir. Shartning bajarilishidan oldin algoritma bajarilishi kerak bo'lgan takrorlanuvchi jarayonlarga masalan.
Bu turlardagi algoritmlarda, bir shart ko'rinishida amalni takrorlash vaqtincha bajariladi. Shart bajarilgandan so'ng takrorlanish tugaydi.
Sharti oldindan berilgan takrorlanuvchi jarayonlarni quyidagi misollarda ko'rib chiqamiz:While-takrorlash: Bir amalni shart bajarilguncha takrorlayan takrorlanuvchi jarayon. Takrorlanayotgan jarayon shart bajarilguncha takrorlanadi. Misol uchun:
bash
Copy code
n = 1
while n <= 10:
print(n)
n += 1
Bu misolda, n 1 dan 10 gacha takrorlanadi. Har bir takrorlanishda n qiymati chiqariladi va n ga 1 qo'shiladi.For-takrorlash: Belgilangan tartibdagi qiymatlarni o'z ichiga olgan takrorlanuvchi jarayon. Misol uchun:
scss
Copy code
for i in range(1, 11):
print(i)
Bu misolda, 1 dan 10 gacha tartiblangan qiymatlar takrorlanadi. Har bir takrorlanishda i qiymati chiqariladi.
16-parametrli takrorlanuvchi jarayonlar
Parametrli takrorlanuvchi jarayonlar, bir amalni belgilangan parametrlar bilan takrorlayan algoritmalardir. Bu jarayonlar, bir amalni belirli bir parametr qiymati asosida takrorlayan ve parametrlarning bajarilishiga bog'liq natijalarni qaytaradigan algoritmalardir.Quyidagi misollar parametrli takrorlanuvchi jarayonlarni tushunish uchun yordam beradi:
While-takrorlash:python
Copy code
def takrorlanuvchi(n):
i = 1
while i <= n:
print(i)
i += 1
takrorlanuvchi Bu misolda, takrorlanuvchi nomli funksiya parametr sifatida n ni qabul qiladi va while takrorlashi orqali 1 dan n gacha qiymatlarni takrorlayadi.
For-takrorlash:
scss
Copy code
def takrorlanuvchi(n):
for i in range(1, n+1):
print(i)
takrorlanuvchi(5)
Bu misolda, takrorlanuvchi nomli funksiya parametr sifatida n ni qabul qiladi va for takrorlashi orqali 1 dan n gacha qiymatlarni takrorlayadi.
Do-While-takrorlash:
arduino
Copy code
def takrorlanuvchi(n):
i = 1
do:
print(i)
i += 1
while i <= n
takrorlanuvchi(5)
17-Integrallarni taqribiy hisoblash usullari
Bu misolda, takrorlanuvchi nomli funksiya parametr sifatida n ni qabul qiladi va do-while takrorlashi orqali 1 dan n gacha qiymatlarni takrorlayadi.Integrallarni taqribiy hisoblash usullari, integralni aniq hisoblashning qiyinchiliklariga javob berish uchun ishlatiladigan usullardir. Bu usullar orqali integralni taqriban hisoblash mumkin, ammo natija bu usullar orqali aniqlangan integralning qiymatidan farq qilishi mumkin. Quyidagi taqribiy hisoblash usullari umumiy ravishda bilinadi:Rektangular hisoblash: Bu usulda, integralni chegaralarga bo'linib har bir chegarada rektangularlar (to'g'ri to'rtburchaklar) yaratiladi. Rektangularning yuzasi chegaraning kengligi va balandligi orqali hisoblanadi. Yuzalarining yig'indisi integralning taqribiy qiymatini beradi. Rektangular hisoblash usuli, integrallar hisoblashda odatda eng soddalashgan usullardan biri hisoblanadi, lekin natijalar ko'proq xatoliklar bilan birga kelishi mumkin.Trapetsiya hisoblash: Bu usulda, integralning chegaralariga mos holda trapetsiyalar yaratiladi. Trapetsiyaning yuzasi trapetsiya qirrasining uzunligi va chegaraning balandligi orqali hisoblanadi. Trapetsiyalar yuzalarining yig'indisi integralning taqribiy qiymatini beradi. Trapetsiya hisoblash usuli rektangular hisoblash usulidan yuqori natija beradi, ammo hali ham aniqlikdan uzoq.Simpson usuli: Bu usulda, integralning chegaralariga mos holda parabolalar yaratiladi. Parabolaning yuzasi chegaraning o'rtasida parabolaga yaxlitlanadi. Parabolalar yuzalarining yig'indisi integralning taqribiy qiymatini beradi. Simpson usuli trapetsiya hisoblash usulidan yuqori aniqlikka ega bo'lib, natijalarining aniqligi uchun parabolalar yaratishda qo'shimcha hisoblamalar va qo'llanishlar kiritiladi.Bu usullar orqali integralni taqriban hisoblash mumkin, lekin aniqlikning yuqori darajada talab qilinishi va integralning murakkabligiga bog'liq xatoliklar bilan bog'liq bo'lishi mumkin. Aniq natijalar olish uchun yuqori darajadagi usullar, masalan, n-teylor tashqi vaqtincha taqribiy hisoblash usullari ishlatiladi.
18- Integrallarni taqribiy hisoblashning chap to’rtburchaklar usuli

Integrallarni taqribiy hisoblashning chap to'rtburchaklar usuli, integrallarni taqribiy hisoblash uchun ishlatiladigan bir usuldur. Bu usulda, integralning chegaralariga mos holda to'rtburchaklar yaratiladi va ularning yuzalarining yig'indisi integralning taqribiy hisoblash natijasini beradi.Usulning asosiy tartibi quyidagicha:Integralning berilgan chegarasini (a dan b gacha) bir nechta teng chegaralarga bo'ling.Har bir chegaraga mos holda to'rtburchak yarating. Bu to'rtburchakning balandligi chegaraning yuqori koordinatasi bilan, kengligi esa chegaraning yuqori va past koordinatalari orasidagi masofa bilan bir xil bo'lishi kerak.To'rtburchakning yuzasini hisoblang. Buning uchun to'rtburchakning balandligi va kengligini ko'paytiring.Har bir to'rtburchakning yuzasini integralning taqribiy qiymatiga qo'shing.Yuzalar yig'indisini hisoblang.Yuzalar yig'indisi integralning taqribiy hisoblash natijasini beradi.Chap to'rtburchaklar usuli, integralni taqriban hisoblash uchun oson va soddalashgan usullardan biridir, ammo aniqlik darajasi pastroq bo'lishi mumkin. Bunda chegaraning darajasi va to'rtburchaklar soni ko'payishi bilan natijada yuqori aniqlik elde qilish mumkin. Ushbu usul teorik hisoblash uchun yoki integralning aniqlik talab qilmaydigan muammolar uchun qo'llanish mumkin. Amaliy hisoblashda yaqin qiymatlar olishda va integralning taqribiy hisoblashida ishlatiladi.


19- Integrallarni taqribiy hisoblashning ong to’rtburchaklar usuli
Integrallarni taqribiy hisoblashning ong to'rtburchaklar usuli, integralni taqriban hisoblash uchun ishlatiladigan bir usuldur. Bu usulda, integralning chegaralariga mos holda ong to'rtburchaklar yaratiladi va ularning yuzalarining yig'indisi integralning taqribiy hisoblash natijasini beradi.Usulning asosiy tartibi quyidagicha:Integralning berilgan chegarasini (a dan b gacha) bir nechta teng chegaralarga bo'ling.Har bir chegaraga mos holda ong to'rtburchak yarating. Bu to'rtburchakning balandligi chegaraning past koordinatasi bilan, kengligi esa chegaraning yuqori va past koordinatalari orasidagi masofa bilan bir xil bo'lishi kerak.To'rtburchakning yuzasini hisoblang. Buning uchun to'rtburchakning balandligi va kengligini ko'paytiring.Har bir to'rtburchakning yuzasini integralning taqribiy qiymatiga qo'shing.Yuzalar yig'indisini hisoblang.Yuzalar yig'indisi integralning taqribiy hisoblash natijasini beradi.Ong to'rtburchaklar usuli, integralni taqriban hisoblash uchun oson va soddalashgan usullardan biridir. Bu usul, rektangular hisoblashdan yuqori aniqlik elde etishga yordam beradi. Uning natijasi integralning qiymatiga yaqinroq bo'lishi mumkin. Bunda chegaraning darajasi va to'rtburchaklar soni ko'payishi bilan natijada aniqlik darajasi oshadi.Ong to'rtburchaklar usuli, amaliy hisoblashda yaqin qiymatlarni olish va integralning taqribiy hisoblashi uchun keng qo'llanadi. Bu usul, integralning aniqlik talab qilmaydigan muammolar uchun ham qo'llanish mumkin.
20- Integrallarni taqribiy hisoblashning o’rta to’rtburchaklar usuli
Integrallarni taqribiy hisoblashning o'rta to'rtburchaklar usuli, integralni taqriban hisoblash uchun ishlatiladigan bir usuldur. Bu usulda, integralning chegaralariga mos holda o'rta to'rtburchaklar yaratiladi va ularning yuzalarining yig'indisi integralning taqribiy hisoblash natijasini beradi.Usulning asosiy tartibi quyidagicha:Integralning berilgan chegarasini (a dan b gacha) bir nechta teng chegaralarga bo'ling.Har bir chegaraga mos holda o'rta to'rtburchak yarating. Bu to'rtburchakning balandligi chegaraning yuqori va past koordinatalari orasidagi yarim masofa bilan bir xil bo'lishi kerak.To'rtburchakning yuzasini hisoblang. Buning uchun to'rtburchakning balandligi va kengligini ko'paytiring.Har bir to'rtburchakning yuzasini integralning taqribiy qiymatiga qo'shing.Yuzalar yig'indisini hisoblang.Yuzalar yig'indisi integralning taqribiy hisoblash natijasini beradi.O'rta to'rtburchaklar usuli, integralni taqriban hisoblash uchun oson va soddalashgan usullardan biridir. Bu usul rektangular hisoblashdan yuqori natijalar beradi. Uning natijasi integralning qiymatiga yaqinroq bo'lishi va aniqlik darajasi oshishi mumkin.
O'rta to'rtburchaklar usuli, amaliy hisoblashda yaqin qiymatlarni olish va integralning taqribiy hisoblashi uchun keng qo'llanadi. Ushbu usul, integralning aniqlik talab qilmaydigan muammolar uchun ham qo'llanish mumkin.
21- Ikki o‘lchovli massivlar
ikki o'lchovli massivlar, dasturlashda ma'lumotlarni tashuvchi va boshqaruvchi strukturalardir. Ular ma'lumotlarni birlashtirib turish uchun foydalaniladigan moslashtirilgan qatorlardir. Ikki o'lchovli massivlar, bir-biriga oid elementlarni o'z ichiga oladi va bu elementlarga indeks orqali murojaat qilish imkonini beradi.Birinchi o'lchov massivni indekslar bilan tartiblash mumkin, ya'ni har bir elementga bir indeks beriladi. Indeks 0 dan boshlanadi va massiv elementlari ustun tartibida joylashadi. Masalan, ikki o'lchovli massivning birinchi o'lchami 0 dan N-1 gacha bo'lgan sonlardan iborat bo'lsa, ikkinchi o'lchov esa 0 dan M-1 gacha bo'lgan sonlardan iborat bo'ladi.Ikki o'lchovli massivlarda ma'lumotlarni saqlashning bir necha usullari mavjud. Ular sodda ikki o'lchovli massivlar, ko'chirib olish, murojaat qilish va o'zgartirish mumkin. Ikki o'lchovli massivlar, dasturlashda ma'lumotlarni tashuvchi va ma'lumotlarni birlashtiruvchi elementlarga murojaat qilishda keng qo'llaniladi.Ikki o'lchovli massivlar, matritsa sifatida ham ifodalash mumkin, ya'ni ular koordinatli ko'ordinat sistemasini ham aks ettiradi. Bu esa koordinatli geometriya va matematik hisob-kitoblarda keng qo'llaniladigan bir qo'llanma hisoblanadi.Matritsa elementlarini kiritish uchun quyidagi algoritma va dasturni amalga oshiring:
22-23-3-24 matritsalar
Matritsa oluvasini aniqlang: N - qatorlar soni, M - ustunlar soni.Bo'sh matritsa yaratish uchun N x M o'lchovli matritsa yaratiladi.Birinchi qatordan boshlab N ta qatorlarni o'qib oling.Har bir qator uchun boshlang'ich indeks 0 dan M-1 gacha bo'lishi kerak.Boshlang'ich indeks orqali matritsa elementlarini kiritish uchun qatorning har bir elementini o'qib oling.Kiritilgan elementni matritsaga saqlang.Boshlang'ich indeksni 1 ga oshiring.Boshlang'ich indeks M-1 dan kichik yoki teng bo'lguncha 5-7 qadamlarni takrorlang.Takrorlanish yakunlandi. Matritsani ekranga chiqaring yoki dasturda qo'llanishini davom ettiring.Dastur misoli Python tilida:python ,Copy code, N = int(input("Qatorlar sonini kiriting: "))M = int(input("Ustunlar sonini kiriting: "))# Bo'sh matritsa yaratishmatrix = [[0 for j in range(M)] for i in range(N)]# Matritsa elementlarini kiritish for i in range(N):
for j in range(M): matrix[i][j] = int(input(f"Element [{i+1}][{j+1}] ni kiriting: "))
# Matritsani ekranga chiqarish ,for row in matrix: print(row)
Bu dastur foydalanuvchidan qator va ustunlar sonini olib, matritsa elementlarini kiritish imkonini beradi. Kiritilgan matritsa ekranga chiqariladi. Siz boshqa dastur tilida ham shu algoritmani ishlatishingiz mumkin, sintaksis bilan o'zgartirishlar kiritishingiz kerak bo'ladi.
25-Matritsani matritsaga ko’paytirish algoritmi
Matritsaning matritsaga ko'paytirish algoritmini quyidagi tartibda amalga oshirish mumkin:Matritsalarni oluvani aniqlang: M - birinchi matritsa qatorlar soni, N - birinchi matritsa ustunlar soni, P - ikkinchi matritsa qatorlar soni, Q - ikkinchi matritsa ustunlar soni.Birinchi matritsaning oluvasiga mos keladigan bo'sh M x N o'lchovli matritsa yarating.Birinchi matritsaning elementlarini kiritish uchun har bir qatorning elementlarini o'qib oling.Kiritilgan elementlarni birinchi matritsaga saqlang.Ikkinchi matritsaning oluvasiga mos keladigan bo'sh P x Q o'lchovli matritsa yarating.Ikkinchi matritsaning elementlarini kiritish uchun har bir qatorning elementlarini o'qib oling.Kiritilgan elementlarni ikkinchi matritsaga saqlang.Natijada hosil bo'lgan bo'sh M x Q o'lchovli matritsa yarating.Matritsani ko'paytirish operatsiyasini bajarish uchun har bir elementni birinchi matritsadagi mos keladigan ustun bilan ikkinchi matritsadagi mos keladigan qator elementini ko'paytiring.Natijada hosil bo'lgan elementni o'ziga mos keladigan matritsaga saqlang.9-10 qadamlarni birinchi matritsaning barcha ustunlari va ikkinchi matritsaning barcha qatorlari uchun takrorlang.Matritsaning ko'paytirilgan natijasini ekranga chiqaring yoki dasturda qo'llanishini davom ettiring.Matnli dastur misoli Python tilida:
Python.Copy code
M = int(input("Birinchi matritsa qatorlar sonini kiriting: "))
N = int(input("Birinchi matritsa ustunlar sonini kiriting: "))
# Birinchi matritsani yaratish
matrix1 = [[0 for j in range(N)] for i in range(M)]
# Birinchi matritsaning elementlarini kiritish
for i in range(M): for j in range(N), matrix1[i][j] = int(input(f"Birinchi matritsa [{i+1}][{j+1}] ni kiriting: "))P = int(input("Ikkinchi matritsa qatorlar sonini kiriting: "))
Q = int(input("Ikkinchi matritsa ustunlar sonini kiriting: ")) # Ikkinchi matritsani yaratish
matrix2 = [[0 for j in range(Q)] for i in range(P)], # Ikkinchi matritsaning elementlarini kiritish
for i in range(P):for j in range(Q): matrix2[i][j] = int(input(f"Ikkinchi matritsa [{i+1}][{j+1}]
26-Kvadrat matritsa determinantini hisoblash
Kvadrat matritsaning determinantini hisoblash uchun bir nechta usullar mavjud, ammo eng oddiy va keng qo'llaniladigan usul determinantning ko'paytirilgan matritsalarni yordamida topishdir.
Det(A) ni topish uchun quyidagi algoritmani izohlayaylik:
Kvadrat matritsaning oluvasini aniqlang: N - qatorlar soni (hamda ustunlar soni).
Matritsaning elementlarini kiritish uchun N x N o'lchovli matritsa yarating.
Matritsa elementlarini kiritish.
Det(A) ni topish uchun quyidagi funksiyaning yordamida rekursiv hisoblashni boshlang:
a. Agar matritsa N = 1 bo'lsa, Det(A) ni qaytaring, bu yerda matritsaning faqatgina elementi mavjud.
b. Agar matritsa N > 1 bo'lsa:
i. Det(A) ni hisoblash uchun birinchi qator elementlarini yuzaga olib, ko'paytirilgan matritsani yarating.
ii. Ko'paytirilgan matritsaning determinantini rekursiv hisoblang.
iii. Det(A) ni ko'paytirilgan determinant bilan birinchi qator elementining alamzadagi ko'paytirishini hisoblang.
iv. Elementlarning oddiy va toq raqamlari uchun imzolarni hisoblang va ulardan foydalanganingizning ildizni ko'paytirilgan determinantga qo'shing.
Det(A) ni qaytarish.
27- Algoritm murakkabligini statik va dinamik o’lchovlari. Vaqt va xotira bo’yicha qiyinchiliklar
Algoritm murakkabligi, bir algoritmda amalga oshiriladigan operatsiyalar soni va ulardan foydalaniladigan resurslar (vaqt va xotira) miqdorini anglatadi. Bu murakkablik, algoritmning ishlash uchun qo'llaniladigan resurslarning umumiy miqdorini ifoda etadi.
Algoritm murakkabligini o'lchashning ikki asosiy usuli mavjud: statik va dinamik o'lchovlar.Statik o'lchov: Bu o'lchovda, algoritmning murakkabligi sabit, aniq bir qiymat bilan ifodalangan. Bu o'lchovda murakkablik, algoritmning bajarilishi uchun lozim bo'lgan operatsiyalar soniga bog'liq bo'ladi. Masalan, bir dasturda amalga oshirilgan elementar operatsiyalar sonini hisoblash uchun murakkablikni bilish mumkin.Dinamik o'lchov: Bu o'lchovda, algoritmda ishlatiladigan resurslar (vaqt va xotira) algoritmda kutilayotgan amalga oshirish jarayonida o'zgarishi mumkin bo'lgan murakkablikni ifodalaydi. Bu o'lchovda murakkablik, algoritmning ishlash jarayonida, masalan, kiritilgan ma'lumot miqdori, jarayonning davom etishi uchun sarflangan vaqt miqdori, ishlatilgan xotira miqdori va boshqalar bilan bog'liq bo'ladi.Vaqt va xotira bo'yicha qiyinchiliklar esa algoritmning murakkabligi va yechimlash jarayonida ortib chiqishi mumkin bo'lgan qiyinchiliklardir.
Vaqt bo'yicha qiyinchiliklar: Murakkab algoritmlar vaqt sarflaydigan operatsiyalarni amalga oshirishda qiyinchiliklarga olib kelishi mumkin. Misol uchun, bir algoritmning bajarilishi uchun kerakli vaqtni hisoblashda murakkablikning o'n nisbatida oshishi mumkin.
Xotira bo'yicha qiyinchiliklar: Algoritm murakkabligi, xotira sarflaydigan operatsiyalarni amalga oshirishda qiyinchiliklarga olib kelishi mumkin. Bu murakkablik, algoritmning yodgorlik sarflashini oshirishi va operatsiyalar uchun katta xotira miqdorini talab qilishi bilan bog'liq bo'lishi mumkin.
28- Algoritmlarni vaqt va xajm murakkabligini baholashda tekis va logorifmik solishtirma mezonlar
Algoritmni vaqt va xotira murakkabligini baholashda tekis solishtirma va logorifmik solishtirma mezonlari keng qo'llaniladi. Bu mezonlar, algoritmning murakkabligini aniqroq va solishtiruvchanlik bilan baholashga yordam beradi.
Tekis solishtirma mezonlari: Tekis solishtirma mezonlari, algoritmlarni bajarish vaqti va xotirasini aniqroq hisoblashga imkon beradi. Bu mezonlardan ba'zilari:
Bajarish vaqti: Algoritmlar bajarilish vaqti bilan solishtirilishi mumkin. Bajarish vaqti, algoritmdagi amalga oshiriladigan elementar operatsiyalar soni va ulardan foydalanilgan vaqt miqdorini ifodalaydi.Xotira miqdori: Algoritmlar ishlatiladigan xotira miqdorini o'lchashga imkon beradi. Bu mezon xotira miqdorini aniqlab, algoritmda ishlatiladigan xotira miqdorini belgilab beradi.
İqtisodiylik: Algoritmning ishlash uchun sarflangan resurslar (masalan, yordamli ishlatilgan xotira, takrorlangan amalga oshirishlar soni) vaqt va xotira bo'yicha qanchalik katta bo'lishi haqidagi hisobotni beradi.Logorifmik solishtirma mezonlari: Logorifmik solishtirma mezonlari, algoritmlarni murakkabligini logorifmik tartibda baholashga yordam beradi.
29.Ketma-ketliklar, to’plamlar, daraxtlar, graflarni ifodalash usullari
Algoritmni vaqt va xotira murakkabligini baholashda tekis solishtirma va logorifmik solishtirma mezonlari keng qo'llaniladi. Bu mezonlar, algoritmning murakkabligini aniqroq va solishtiruvchanlik bilan baholashga yordam beradi.
Tekis solishtirma mezonlari: Tekis solishtirma mezonlari, algoritmlarni bajarish vaqti va xotirasini aniqroq hisoblashga imkon beradi. Bu mezonlardan ba'zilari:
Bajarish vaqti: Algoritmlar bajarilish vaqti bilan solishtirilishi mumkin. Bajarish vaqti, algoritmdagi amalga oshiriladigan elementar operatsiyalar soni va ulardan foydalanilgan vaqt miqdorini ifodalaydi.Xotira miqdori: Algoritmlar ishlatiladigan xotira miqdorini o'lchashga imkon beradi. Bu mezon xotira miqdorini aniqlab, algoritmda ishlatiladigan xotira miqdorini belgilab beradi.İqtisodiylik: Algoritmning ishlash uchun sarflangan resurslar (masalan, yordamli ishlatilgan xotira, takrorlangan amalga oshirishlar soni) vaqt va xotira bo'yicha qanchalik katta bo'lishi haqidagi hisobotni beradi.Logorifmik solishtirma mezonlari: Logorifmik solishtirma mezonlari, algoritmlarni murakkabligini logorifmik tartibda baholashga yordam beradi. Logorifmik solishtirma mezonlaridan ba'zilari:
Big O notatsiyasi: Algoritmning murakkabligini tartib bilan ifodalashga yordam beradigan bir metodologiya
30.Taqribiy integrallash usullari aniqligi va hisoblash xajmi bo’yicha taqqoslash
Taqribiy integrallash usullari, integralni taqriban hisoblash va natijani aniqlash uchun foydalaniladigan usullardir. Bu usullar bilan integralni aniqlashda aniqlilik va hisoblash xajmi hamda qiyinchiliklar mavjud bo'ladi. Quyidagi taqqoslashlar amalga oshiriladi:Aniqlilik: Taqribiy integrallash usullari, integrallarni aniqlashda xatoliklar va aniqlilik muammoatiga ega bo'lishi mumkin. Bu usullarning natijalarining to'g'ri javobga yaqinroq bo'lishi uchun taqribiy hisoblashdagi qadam sonini oshirish mumkin.Hisoblash xajmi: Taqribiy integrallash usullari, integrallarni hisoblash uchun qanchalik xajm (hafsa) sarflanishi lozimligini ta'qiqlaydi. Ba'zi taqribiy integrallash usullari, boshqa usullarga nisbatan ko'p xajm sarflayishi mumkin. Bu esa integrallarni hisoblash vaqtini oshirishi mumkin.
Qiyinchiliklar: Taqribiy integrallash usullari, integralni taqriban hisoblash uchun murakkab formulalardan va tekis formulalardan foydalanadi. Murakkab formulalar ko'p hisoblash amalini talab qiladi va ularda xatoliklar ko'payishi mumkin. Shuningdek, tekis formulalar bilan integrallar taqriban hisoblanishi yomon natijalarga olib kelishi mumkin.Shu bilan birga, taqribiy integrallash usullari juda kuchli va qulaydir..
31.Algoritmlarni baholash mezonlari. Vaqt va hajm bo’yicha baholashga misollar
Algoritmlarni baholashning bir necha umumiy mezonlari mavjuddir. Bu mezonlar algoritmlarning samaradorligini, ishga tushirish vaqti, xotira sarflanishi, kerakli resurslarni hajmi va boshqalar kabi muhim xususiyatlarni o'z ichiga oladi. Quyidagi mezonlar umumiy ravishda algoritmlarni baholash uchun foydalaniladigan asosiy mezonlardir:Kelajakdagi ishga tushirish vaqti (Time Complexity): Algoritmda ishlatilgan operatsiyalar soni va har bir operatsiyaning bajarilishi uchun sarflangan vaqtning umumiy jamlanishi algoritmdagi ishga tushirish vaqti bilan belgilanadi. Misol uchun, O(n) va O(n^2) shakllarida ifodalanan vaqt murakkabliklari mavjud.Xotira sarflanishi (Space Complexity): Algoritmda ishlatilgan xotira hajmi, ya'ni algoritmda foydalanilayotgan xotira resurslarining umumiy miqdori algoritmdagi xotira sarflanishini ifodalaydi. Misol uchun, O(n) va O(1) shakllarida ifodalangan xotira murakkablilari mavjud.
O‘zgaruvchilar soni (Number of Variables): Algoritmda ishlatilgan o'zgaruvchilar soni algoritmdagi o'zgaruvchilarning umumiy sonini ifodalaydi. Bu mezon algoritmda foydalanilgan xotira va foydalanuvchi tomonidan boshqarilishi kerak bo'lgan ma'lumotlarning sonini ta'riflashda yordam beradi.
Resurslar miqdori (Resource Usage): Algoritmda foydalanilgan kompyuter resurslarining miqdori, masalan, protsessor kuchi, disk hajmi, tarmoq trafiki, boshqalar kabi muhim faktorlarni ifodalaydi. Bu mezon algoritmda foydalanilgan resurslarning o'zgaruvchilari bilan baholanadi.
Vaqt va hajm bo'yicha misollar: Misol 1: Bubble Sort algoritmi:
Vaqt murakkabligi: O(n^2), Xotira sarflanishi: O(1)
O'zgaruvchilar soni: 3Misol 2: Binary Search algoritmi:
Vaqt murakkabligi: O(log n),Xotira sarflanishi: O(1)
O'zgaruvchilar soni: 3
32.Algebraik va transendent tenglamalarni taqribiy yechishda oraliqni teng ikkiga bo’lish va vatarlar usullarini samaradorlik bo’yicha taqqoslash
Algebraik va transendent tenglamalarni taqribiy yechishda oraliqni (interval) teng ikkiga bo'lish va vatarlar usullarini samaradorlik bo'yicha taqqoslash mumkin. Bu usullar orqali tenglamalar yechimini taqriban topish mumkin, lekin ularda samaradorlik va aniqlilik mavzulariga e'tibor berish kerak. Quyidagi taqqoslashlarni amalga oshirish mumkin:Oraliqni Teng Ikkiga Bo'lish (Bisection Method): Bu usulda, tenglamning to'g'ri yechimi oraliq ichida qidiriladi. Oraliq boshlang'ich ixtiyoriy tartibda tanlanadi va tenglamning chap va o'ng tomonga qarama-qarshi natijalarni hisoblash orqali yangilanadi. Usulning samaradorligi O(log n) bo'lib, ushbu usul biror intervalga yuqori aniqlilik bilan ishlaydi.
Vatarlar (Iteration) Usuli: Bu usulda, boshlang'ich taxminiy yechimni olish uchun birorta formulani ishlatish orqali yangilanuvchi ketma-ketlik yaratiladi. Tenglamning boshlang'ich taxminiy yechimi orqali yangilanuvchilar olinadi va yangilanuvchilar orqali yangilanuvchi ketma-ketlikni topish uchun formulani takrorlanadi. Usulning samaradorligi formulani tanlash va formulani qayta ishlatish bosqichlari bilan bog'liq bo'ladi.Her ikki usul ham taqribiy yechim topishda foydalaniladi, ammo ularda foydalaniladigan formulalar, qadamlar soni, vaqt sarflanishi, va aniqlilik darajasi o'zaro farq qiladi. Usul tanlashda algoritmdan kerakli natijani olish, samaradorlik va aniqlilik talablari, vaqtni sarflanish, xotira sarflanishi va boshqa faktorlar kuzatiladi. Bu sababli, tenglamalar turi va belgilangan maqsadlarga qarab, kerakli usulni tanlash juda muhimdir.
33Algebraik va transendent tenglamalarni taqribiy yechishda vatarlar va Nyuton usullarini samaradorlik bo’yicha taqqoslash
Algebraik va transendent tenglamalarni taqribiy yechishda vatarlar (Iteration) va Nyuton (Newton) usullari keng foydalaniladigan usullardir. Bu usullar orqali tenglamalar yechimini taqriban topish mumkin, lekin ularda samaradorlik va aniqlilik mavzulariga e'tibor berish kerak. Quyidagi taqqoslashlarni amalga oshirish mumkin:Vatarlar (Iteration) Usuli: Bu usulda, boshlang'ich taxminiy yechimni olish uchun birorta formulani ishlatish orqali yangilanuvchi ketma-ketlik yaratiladi. Tenglamning boshlang'ich taxminiy yechimi orqali yangilanuvchi ketma-ketlikni topish uchun formulani takrorlanadi. Usulning samaradorligi formulani tanlash va formulani qayta ishlatish bosqichlari bilan bog'liq bo'ladi.
Nyuton (Newton) Usuli: Bu usulda, tangensiya chizig'i yordamida tenglama yechimi aniqlanadi. Boshlang'ich taxminiy yechim bilan formulani takrorlash orqali yangilanuvchi ketma-ketlik yaratiladi. Yangilanuvchi ketma-ketlikning o'zida Nyuton formulasi qo'llaniladi. Usulning samaradorligi formulani tanlash va formulani qayta ishlatish bosqichlari bilan bog'liq bo'ladi.Her ikki usul ham taqribiy yechim topishda foydalaniladi, ammo ularda foydalaniladigan formulalar, qadamlar soni, vaqt sarflanishi, va aniqlilik darajasi o'zaro farq qiladi. Vatarlar usuli odatda yuqori aniqlilik va oddiylik uchun foydalaniladi, Nyuton usuli esa tez va aniqlik talablari bo'yicha ishlatiladi. Vaqt va xotira sarflanishi, formulani tanlash, formulani qayta ishlash bosqichlarining soni va boshqa faktorlar usullarni samaradorlik bo'yicha taqqoslashda o'ziga xosdir
34.Matritsa normasi va uni aniqlash usullari
Matritsa normasi, bir matritsani (n x m o'lchamdagi) boshqa bir matritsa normasi bilan qiyoslash uchun ishlatiladigan bir qavramdir. Matritsaning normasi, matritsa elementlarining qiymatlarini o'z ichiga olgan bir o'lchov hisoblanadi.Matritsa normasi uchun bir nechta usullar mavjud, quyidagilardan ba'zi odatiy usullarni ko'rsataylik:Maksimum norma (Supremum norma, Chebyshev norma): Matritsaning elementlari orasida mutlaq qiymati eng katta elementni norma sifatida qabul qiladi. Shu sababli, matritsaning maksimum normasi quyidagicha ifodalash mumkin:||A||∞ = max {|aᵢⱼ|}, i=1,...,n; j=1,...,m
1-norma (Manhattan norma): Matritsaning ustunlari (shtunalar) elementlarining mutlaq qiymatlarining yig'indisini norma sifatida qabul qiladi. Shu sababli, matritsaning 1-normasi quyidagicha ifodalash mumkin:||A||₁ = max {∑(|aᵢⱼ|)}, j=1,...,m; i=1,...,n2-norma (Frobenius norma): Matritsaning elementlari kvadratlarining yig'indisining ildizini norma sifatida qabul qiladi. Shu sababli, matritsaning 2-normasi quyidagicha ifodalash mumkin:||A||₂ = √(∑(aᵢⱼ²)), i=1,...,n; j=1,...,m Matritsaning normasini aniqlash uchun yuqoridagi formulalardan foydalaniladi. Norma, matritsaning o'lchamining hammasi, elementlarining qiymatlari va ularga qo'yiladigan aloqador cheklovlar bog'liq bo'ladi.Normani aniqlash usullari o'zgaruvchanlik va amal qilish davomida foydalaniladigan ma'lumotlar kengligiga qarab farqli bo'lishi mumkin. Normani aniqlashda umumiy formulalar, maksimum qiymatni topish, elementlar yig'indisini hisoblash va ildizni hisoblash usullari keng foydalaniladi.Bundan tashqari, matritsa normasi tahlil qilinayotgan muammolarni yechish va matritsalarni solishtirishda ham muhim bo'lib, matematika, statistika, matritsalarni yechish, ko'plik tarmoqlar va boshqa sohalarda keng foydalaniladi.
Download 59.28 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling