Algoritmik tillar va dasturlash


Fraksiyonel uzun sonlar arifmetikaning turlari



Yüklə 388,82 Kb.
səhifə6/6
tarix29.11.2023
ölçüsü388,82 Kb.
#169831
1   2   3   4   5   6
Algoritmik tillar va dasturlash

Fraksiyonel uzun sonlar arifmetikaning turlari
Fraksiyonel raqamlar bo‘yicha operatsiyalar Olimpiada muammolarida kamroq uchraydi va ulkan kasr raqamlari bilan ishlash ancha qiyin, shuning uchun olimpiadalarda faqat kasr Uzun sonlar arifmetikaning o‘ziga xos to‘plami mavjud.
Qaytarilmaydigan kasrlarda uzun sonlar arifmetikasi
Raqam kamaytirilmaydigan kasr sifatida ifodalanadi frac{a}{b}, bu erda a va b butun sonlardir. Keyin kasr sonlaridagi barcha operatsiyalarni ushbu kasrlarning sonlari va maxrajlari ustidagi operatsiyalarga qisqartirish qiyin emas. Odatda, shu bilan birga, hisoblagich va maxrajni saqlash uchun siz Uzun sonlar arifmetikadan ham foydalanishingiz kerak, ammo, ammouning eng oddiy turi "klassik" Uzun sonlar arifmetikadir, garchi ba’zida o‘rnatilgan 64 bitli raqam turi etarli bo‘lsa. Suzuvchi nuqta pozitsiyasini alohida turga ajratish . Ba’zan muammojuda katta yoki juda kichik raqamlar bilan hisob-kitoblarni amalga oshirishni talab qiladi, ammoshu bilan birga ularning to‘lib ketishiga yo‘l qo‘ymaydi. O‘rnatilgan 8-10 baytli double turi [-308; 308] diapazonidagi ko‘rsatkich qiymatlariga ruxsat berishi ma’lum, bu ba’zan etarli bo‘lmasligi mumkin. Qabul qilish, aslida, juda oddiy-eksponent uchun javob beradigan yana bir tamsayı o‘zgaruvchisi kiritiladi va har bir operatsiyani bajargandan so‘ng, kasr soni "normallashadi", ya’ni.segmentga qaytadi [0.1; 1), eksponentni oshirish yoki kamaytirish orqali. Bunday ikkita sonni ko‘paytirganda yoki bo‘lishda ularning eksponentlarini mos ravishda qo‘shish yoki olib tashlash kerak. Qo‘shish yoki ayirish paytida, ushbu operatsiyani bajarishdan oldin raqamlar bitta eksponentga olib kelishi kerak, buning uchun ulardan biri eksponentlar farqi darajasida 10 ga ko‘payadi. Va nihoyat, eksponentning asosi sifatida 10 ni tanlash shart emasligi aniq. Suzuvchi nuqta bilan o‘rnatilgan turdagi qurilmaga asoslanib, poydevorni 2 ga qo‘yish eng foydali ko‘rinadi.
Uzun sonlar arifmetikasi - bu butun sonlar yoki suzuvchi nuqtali raqamlar kabi standart ma’lumotlar turlari yordamida ifodalanishi mumkin bo‘lgan maksimal qiymatdan kattaroq raqamlar ustida arifmetik amallarni ko‘rsatish va bajarish uchun ishlatiladigan ma’lumotlar strukturasi. Uzun sonlar arifmetikasida raqam raqamlar qatori sifatida ifodalanadi, odatda 10 ta yoki 2 ta asosda. Massivdagi har bir raqam sondagi o‘rin qiymatini ifodalaydi, eng o‘ngdagi raqam birliklar o‘rnini, keyingi raqam o‘nlik darajasini va hokazo. Raqamlar massivda teskari tartibda saqlanadi, shuning uchun eng muhim raqam birinchi holatda va eng muhim raqam oxirgi holatda bo‘ladi. Uzun sonlar sonli arifmetik algoritmlar qo‘shish, ayirish, ko‘paytirish va bo‘lish kabi asosiy arifmetik amallarni raqamga raqamli amallar yordamida amalga oshiradi. Misol uchun, ikkita uzun sonlar raqamni qo‘shish uchun siz eng kam ahamiyatli raqamlarni qo‘shishdan boshlaysiz, natijani keyingi raqamga o‘tkazing va barcha raqamlarni qo‘shguningizcha takrorlang. Natijada to‘g’ri yig’indiga ega yangi uzun sonlar raqam. Uzun sonlar arifmetikasi kriptografiya, ilmiy hisoblash va moliyaviy hisoblar kabi turli xil ilovalarda qo‘llaniladi. Python kabi ba’zi dasturlash tillari uzun sonlar arifmetikasini qo‘llab-quvvatlaydi, boshqalari esa tashqi kutubxonalardan foydalanishni yoki o‘z algoritmlarini amalga oshirishni talab qiladi.
Uzun sonlar sonli arifmetik algoritmlar maktab kitoblarini ko‘paytirish, Karatsuba ko‘paytirish va FFT ko‘paytirish kabi turli usullar yordamida amalga oshirilishi mumkin. Bu algoritmlar tezligi va xotira talablari bilan bir-biridan farq qiladi va algoritmni tanlash maxsus foydalanish holatiga va ishlayotgan raqamlarning o‘lchamiga bog’liq. Uzun sonlar arifmetikasini amalga oshirishning keng tarqalgan usullaridan biri "katta butun" arifmetika deb ataladi, bu raqamni o‘nlik yoki ikkilik raqamlar qatori sifatida ifodalashni va arifmetik amallarni bajarish uchun satrlarni manipulyatsiya qilish funktsiyalaridan foydalanishni o‘z ichiga oladi. Ushbu texnikani amalga oshirish oson, lekin sekin va xotirani talab qilishi mumkin, ayniqsa katta raqamlar uchun.
Yana bir keng tarqalgan usul - massivlarni raqamni ifodalash uchun ishlatish, massivdagi har bir element raqamni ifodalaydi. Ushbu usul torli manipulyatsiya yondashuviga qaraganda samaraliroq, lekin baribir tashish operatsiyalarini ehtiyotkorlik bilan bajarishni talab qiladi va ko‘p sonlar uchun nisbatan sekin bo‘lishi mumkin. Ba’zi hollarda, ikkilik daraxtlar yoki bog’langan ro‘yxatlar kabi maxsus ma’lumotlar tuzilmalari uzun sonlar raqamlarni yanada samaraliroq ko‘rsatish uchun ishlatilishi mumkin. Misol uchun, GNU Multiple Precision Arifmetic Library (GMP) uzun raqamlarni ifodalash uchun ikkilik daraxtlar va bog’langan ro‘yxatlar kombinatsiyasidan foydalanadi va hattojuda katta raqamlar uchun ham yuqori ishlashni ta’minlaydi.
Uzun sonlar arifmetikasi fayllarni siqish va tasvirni siqish kabi ba’zi siqish algoritmlarida ham qo‘llaniladi. Ushbu algoritmlar Huffman kodlash va arifmetik kodlash kabi ma’lumotlarni siqish va kodlash sxemalarida ishlatiladiganlar kabi katta raqamlarni manipulyatsiya qilishni o‘z ichiga oladi. Bundan tashqari, uzun sonlar arifmetikasi ba’zi hisoblash geometriyasi algoritmlarida, masalan, kompyuter quvvatli ishlab chiqarish (CAM) tizimlarini loyihalashda qo‘llaniladi. Bu algoritmlar katta sonlardan foydalanishni talab qiluvchi murakkab geometrik hisoblarni bajarishni o‘z ichiga oladi.
Uzun sonlar arifmetikasining yana bir qo‘llanilishi sonli integrasiya va differentsiallashdadir. Ko‘pgina raqamli integratsiya va farqlash algoritmlari katta sonlardan foydalanishni talab qiladigan murakkab funktsiyalarni baholashni o‘z ichiga oladi. Ushbu funktsiyalarni to‘g’ri va samarali baholash uchun uzun sonlar raqamli arifmetik algoritmlardan foydalanish mumkin. Uzun sonlar arifmetikasi ba’zi ma’lumotlar bazasi tizimlarida ham qo‘llaniladi, bu erda u katta raqamlar ustida operatsiyalarni bajarish uchun ishlatiladi, masalan, indekslash va xeshlash algoritmlarida qo‘llaniladi. Uzun sonlar arifmetikasi ba’zi blokcheyn tizimlarida qo‘llaniladi, ular blokcheynni himoya qilish va tranzaktsiyalarning haqiqiyligini ta’minlash uchun murakkab kriptografik algoritmlarga tayanadi. Ushbu algoritmlar ko‘pincha katta tub sonlardan foydalanishni o‘z ichiga oladi va hisoblashlarni aniq va samarali bajarish uchun Uzun sonlar arifmetikasidan foydalanishni talab qiladi.Uzun sonlar arifmetikasi standart ma’lumotlar turlari uchun juda katta raqamlar bilan ishlash uchun muhim ma’lumotlar tuzilmasi hisoblanadi. To‘g’ri algoritmlar va ma’lumotlar tuzilmalari bilan bu katta sonlar ustida murakkab arifmetik amallarni samarali va aniq bajarish mumkin.
Uzun sonlar arifmetikasi informatika va matematikada turli xil ilovalarga ega. Ba’zi misollar quyidagilarni o‘z ichiga oladi:
1. Kriptografiya: Uzun sonlar arifmetikasi kriptografiyada xabarlarni shifrlash va shifrini ochish uchun keng qo‘llaniladi. RSA va Elliptic Curve Cryptography kabi kriptografik algoritmlar kalitlarni yaratish, shifrlash va parolini hal qilish uchun uzun sonlar arifmetikasiga tayanadi.
2. Ilmiy hisoblash: Ko‘pgina ilmiy hisoblashlar raqamli simulyatsiyalar yoki signallarni qayta ishlashda ishlatiladiganlar kabi katta raqamlarni o‘z ichiga oladi. Ushbu hisob-kitoblarni aniq va samarali bajarish uchun uzun sonlar arifmetikasidan foydalaniladi.
3. Moliyaviy hisob-kitoblar: Moliyaviy hisob-kitoblar ko‘pincha fond bozorini tahlil qilish yoki moliyaviy modellashtirishda qo‘llaniladigan juda katta raqamlar bilan ishlashni o‘z ichiga oladi. Ushbu hisob-kitoblarni aniq va samarali bajarish uchun uzun sonlar arifmetikasidan foydalaniladi.
4. Kompyuter algebra tizimlari: Mathematica va Maple kabi kompyuter algebra tizimlari o‘zgaruvchilar, kasrlar va transsendental funktsiyalarni o‘z ichiga olgan ramziy hisoblarni bajarish uchun uzun sonlar arifmetikasidan foydalanadi.
5. Oʻyin: Oʻyin dvigatellari fizika simulyatsiyalari, toʻqnashuvlarni aniqlash va sunʼiy intellekt bilan bogʻliq hisob-kitoblarni bajarish uchun koʻpincha uzun sonlar arifmetikasidan foydalanadi.
Uzun sonlar arifmetikasi katta raqamlar bilan ishlash uchun kuchli vosita bo‘lib, informatika va matematikaning turli sohalarida qo‘llaniladi.Uzun sonlar arifmetikasi tub sonlarni yaratish, faktorizatsiya va tublikni tekshirishda ham hal qiluvchi rol o‘ynaydi. Bosh sonlar informatika va kriptografiyaning ko‘plab sohalarida qo‘llaniladi va katta tub sonlarni topish qiyin vazifa bo‘lishi mumkin. Uzun sonlar raqamlar arifmetik algoritmlari tub sonlarni hosil qilish, berilgan son tub ekanligini tekshirish va kompozit sonlarni tub omillarga ajratish uchun ishlatiladi. Uzun sonlar arifmetikasi ko‘pincha raqamli signallarni qayta ishlash dasturlarida, masalan, audiova tasvirlarni qayta ishlashda qo‘llaniladi, bu erda katta ma’lumotlar to‘plamlari Furye transformatsiyasi va konvolyutsiya kabi matematik operatsiyalar yordamida qayta ishlanadi.Uzun sonlar arifmetikasi mashinani o‘rganish va sun'iy intellekt dasturlarida ham qo‘llaniladi. Misol uchun, neyron tarmoqlar kabi chuqur o‘rganish algoritmlari mashg’ulot paytida yangilanishi kerak bo‘lgan katta og’irliklar va noto‘g’ri matritsalarga tayanadi. Ushbu yangilanishlarni aniq va samarali bajarish uchun uzun sonlar arifmetikasidan foydalaniladi.
Uzun sonlar arifmetikasi raqamli imzolar, xavfsiz xesh funksiyalari va kalit almashish protokollari kabi turli kriptografik protokollarni amalga oshirishda ham qo‘llaniladi. Ushbu protokollar xavfsiz bo‘lmagan aloqa kanallari orqali uzatiladigan ma’lumotlarning maxfiyligi, yaxlitligi va haqiqiyligini ta’minlash uchun ishlatiladi. Masalan, elektron raqamli imzoprotokolida jo‘natuvchi maxfiy kalit yordamida xabarda kriptografik operatsiyani bajarish orqali raqamli imzohosil qiladi. Keyin qabul qiluvchi jo‘natuvchi bilan bog’langan ochiq kalit yordamida xuddi shu operatsiyani bajarish orqali imzoni tekshirishi mumkin. Ushbu kriptografik operatsiyalarni aniq va samarali bajarish uchun uzun sonlar arifmetikasidan foydalaniladi.Uzun sonlar arifmetikasining yana bir muhim qo‘llanilishi xatolarni tuzatish kodlarini amalga oshirishdir. Ushbu kodlar ma’lumotlarni uzatishdagi xatolarni aniqlash va tuzatish uchun ishlatiladi va telekommunikatsiya va ma’lumotlarni saqlash tizimlarida keng qo‘llaniladi. Uzun sonlar arifmetikasi matritsalarni ko‘paytirish va inversiya kabi kodlangan ma’lumotlar ustida matematik amallarni bajarish uchun ishlatiladi.
Uzun sonlar arifmetikasidan differensial tenglamalar, qisman differensial tenglamalar va optimallashtirish masalalarini yechish uchun raqamli algoritmlarni amalga oshirishda ham foydalaniladi. Ushbu algoritmlar suyuqlik dinamikasi, strukturaviy tahlil va mashinani o‘rganish kabi turli xil ilmiy va muhandislik ilovalarida qo‘llaniladi. Uzun sonlar arifmetikasi ixtiyoriy aniqlikdagi o‘nlik va suzuvchi nuqtali raqamlar, ratsional sonlar va kompleks raqamlar kabi turli xil ma’lumotlar tuzilmalarini amalga oshirishda qo‘llaniladi. Ushbu ma’lumotlar tuzilmalari raqamlar ustida arifmetik amallarni ixtiyoriy aniqlik bilan ifodalash va bajarish uchun ishlatiladi va moliyaviy hisoblar, ilmiy hisoblash va grafik dasturlash kabi juda ko‘p turli xil ilovalarda qo‘llaniladi.
Xulosa:
Xulosa qilib aytganda, uzun sonlar arifmetikasi informatika va matematikaning turli sohalarida keng qo‘llanilishiga ega bo‘lgan ko‘p qirrali ma’lumotlar strukturasidir. Uning ilovalariga siqish algoritmlari, hisoblash geometriyasi, raqamli integratsiya va differentsiatsiya, ma’lumotlar bazasi tizimlari va blokcheyn texnologiyasi kiradi. Xulosa qilib aytganda, uzun sonlar arifmetikasi informatika va matematikaning turli sohalarida qo‘llaniladigan asosiy ma’lumotlar strukturasidir. Uning ilovalari kriptografiya va ilmiy hisoblashdan tortib oʻyin oʻynash, raqamli signallarni qayta ishlash va sunʼiy intellektgacha. Borgan sari kuchli hisoblash tizimlarining rivojlanishi bilan uzun sonlar arifmetikasi tadqiqot va sanoatning ko‘plab sohalarida muhim rol o‘ynashda davom etishi mumkin. Xulosa qilib aytganda, uzun sonlar arifmetikasi kriptografiya va xatolarni tuzatishdan ilmiy hisoblash va mashinalarni o‘rganishgacha bo‘lgan informatika va matematikaning turli sohalarida qo‘llaniladigan ko‘p qirrali va muhim ma’lumotlar strukturasidir.
Foydalanilgan saytlar

  1. https://chat.openai.com/

  2. https://e-maxx.ru/algo/big_integer



Yüklə 388,82 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin