Klassik sinflash algoritmlarni ishlash tartibini organish: Sezor va visinon algoritimi misolida


Download 0.81 Mb.
bet5/13
Sana18.12.2022
Hajmi0.81 Mb.
#1027532
1   2   3   4   5   6   7   8   9   ...   13
Bog'liq
kiber

Tarmoqlanuvchi algoritmlar.Agar hisoblash jarayoni biror bir berilgan shartning bajarilishiga qarab turli tarmoqlar bo‘yicha davom ettirilsa va hisoblash jarayonida har bir tarmoq faqat bir marta bajarilsa, bunday hisoblash jarayonlariga tarmoqlanuvchi algoritmlar deyiladi. Tarmoqlanuvchi algoritmlar uchun ayri strukturasi ishlatiladi. Tarmoqlanuvchi strukturasi berilgan shartning bajarilishiga qarab ko‘rsatilgan tarmoqdan faqat bittasining bajarilishini ta’minlaydi.

3-rasm. Tarmoqlanishning umumiy ko‘rinishi
Berilgan shart romb orqali ifodalanadi, r-berilgan shart. Agar shart bajarilsa, "ha" tarmoq bo‘yicha a amal, shart bajarilmasa "yo‘q" tarmoq bo‘yicha b amal bajariladi.
Tarmoqlanuvchi algoritmga tipik misol sifatida quyidagi sodda misolni qaraylik.
1- Misol:
Berilgan x ning qiytmatiga bog‘lik holda, agar u musbat bo‘lsa «ha» tarmoq bo‘yicha y=x2 funksiyaning qiymati, aks holda
y=-x2 funksiyaning qiymati hisoblanadi.
2-Mavzu
Modul arifmetikasi alfin tizimida Sezar algoritmi
Modulli arifmetika Raqamlar nazariyasi haqida gapirganda, biz qoldiqlar bilan ishlaymiz.a ni b ga bo'lishning qolgan qismi 0≤c
Ba'zi xususiyatlar:

    • a≡ba≡b, c≡d⇒a ± c≡b ± dmodmc≡d⇒a ± c≡b


    • c≡d⇒ac≡bdmodmc≡d⇒ac≡bdmodm


    • a≡bmodm⇒an≡bnmodma≡bmodm⇒an≡bn





Modul bo'limi
Bitta raqamni ajratingModul mm qoldiqlar halqasida bir aa sonini boshqa bb soniga boʻlish cb≡amodmcb≡amodm boʻlgan shunday cc sonni topishni bildiradi. Bu vazifa modulni qo'shish va ko'paytirishdan ko'ra allaqachon qiyinroq. Bu bb soniga teskari modul deb ataladigan narsani topishga qisqartiradi.aa moduli mm ning teskarisi a − 1a − 1 son bo‘lib, a⋅a − 1≡1modma⋅a – 1 bo‘ladi.
Modul oddiy bo'lgan taqdirda (tut son bo'ladi), agar asl son modul mm ga bo'linmasa, har doim teskarisini topish mumkin. Agar modul kompozit son bo'lsa, u holda aa ga teskari element faqat (a, m) = 1 (a, m) = 1 bo'lsa, ya'ni aa va mm ko'proq tub bo'lganda mavjud bo'ladi.Tasdiqlash: (aksisining mavjudligi)Teskari element faqat modulga mos keladigan sonlar uchun mavjud
Isbot:
Birinchidan, sonning mm ga ko‘payishi uchun har doim teskari bo‘lishini ko‘rsatamiz. Biz faqat mm moduli qoldiqlari bilan ishlaganimiz sababli, biz son va uning qoldig'ini bir xil ob'ekt sifatida ko'rib chiqamiz.
0⋅a, 1⋅a, ..., (m - 1) ⋅a0⋅a, 1⋅a, ..., (m - 1) ⋅a raqamlarini ko'rib chiqaylik. Keling, bu turli qoldiqlar moduli mm ekanligini tushunaylik. Aytaylik, ikkita bir xil va bular xaxa va yaya. Keyin a (x - y) ≡0modma (x - y) ≡0modm. Lekin (a, m) = 1 (a, m) = 1 bo'lgani uchun x - y≡0modmx - y≡0modm. Lekin har ikkala x, yx, y sonlar [0, m - 1] [0, m - 1] segmentida yotadi. Ularning farqi nolga teng bo'lgani uchun ular faqat bir xil raqamlar bo'lishi mumkin, aks holda ularning farqi [1, m - 1] [1, m - 1] segmentida bo'ladi. Bu shuni anglatadiki, barcha qoldiqlar boshqacha.
Ulardan berilgan C++ dasturlash tilida berilgan
int mod = 1e9 7;
// Vazifa shabloningizdagi shablonga o'zgartiring T qo'shing (T x) {qaytish x; } shablon T qo'shish (T x, Ts ... y) {T res = x qo'shish (y ...); agar (res> = mod) res - = mod; qaytish res; } //
Yuqoridagi konstruktsiya qo'shish (x, y, z, t, ...) ni istalgan miqdordagi argumentlar shabloniga yozish imkonini beradi T sub (T x, Ts ...) y) {qo'shishni qaytarish (x, mod - qo'shish (y ...)); }
// udd - qo'shish, birinchi argumentga qo'shilish natijasini yozadi. //
Birinchi argumentning eski qiymati yig'indisi shabloniga kiritilgan void
Dasturiy taʼminot yoki SOFTWARE bu Komputerda maʼlum bir turdagi vazifani bajarish uchun ishlab chiqilgan vositadir. Aynan shu dasturiy taminotgina Komputer — „quruq temir“ degan atamani yoʻqqa chiqargan. Dasturiy vositalar Komputer tomonidan qoʻllaniladigan barcha dasturlar toʻplamidir. Ingiliz tilida bu atama SOFTWARE yaʼni „soft“-yumshoq, „ware“-"mahsulot" degan maʼnoni bildiradi. Dasturiy taʼmonot 3 guruhga boʻlinadi : 1-Sistema dasturlari (unga turli yordamchi vazifalarni bajaruvchi dasturlar kiradi : Task Manager (Windows OSda mavjut)), 2-Amaliy (unga foydalanuvchiga aniq bir foydalanish sohasida maʼlumotlarga ishlov berish va qayta ishlashni amalga oshiruvchi dasturlar, masalan : Microsoft Office, Adoe CC), 3-Uskunaviy dasturlar (bular dasturlash uchun ishlatiladigan dasturlar)






Kompyuterlarga oid ushbu maqola chaladir. Siz uni boyitib, Vikipediyaga yordam berishingiz mumkin.



Chunki kompyuterning ishlashi mumkin emasprintsip, bu ajralmas qismihar qanday kompyuterda va uning uskunalari bilan birga keladi(Apparat).Dastur - kompyuter bilan tushunadigan kompyuterni qayta ishlash bo'yicha harakatlar (ko'rsatmalar) ning harakatlari (ko'rsatmalar) ning to'liq va aniq tavsifi.Dasturiy ta'minot (dasturiy ta'minot) - Kompyuterda ishlash va mashinalar orqali o'tishni tashkil etishni osonlashtiradigan maxsus dasturlar to'plami, shuningdek, hisoblash tizimining ishlashi davomida foydalaniladigan barcha tegishli komponent hujjatlari bilan birgalikda protseduralar, tavsiflar, ko'rsatmalar va qoidalar .Jarayon ma'lumotlari, kompyuter ishini boshqaring dasturlar, qurilmalar emas.Yangi dasturiy ta'minot Bu uzoq vaqtdan beri yangi apparatdagi o'zgarishlar ustunlik qildi. Kompyuterning tegishli sinfining narxi (ba'zan bir necha marta) qiymatidan oshadi.Kompyuterdan samarali foydalanish uchun kompyuterlar va dasturiy ta'minotning rivojlanishi darajasi o'rtasidagi rioya qilinishi kerak. Bir tomondan, dastur kompyuterning ishlashini belgilaydi. Boshqa tomondan, muayyan dasturiy ta'minotni o'rnatish cheklanishi mumkin. konstruktiv xususiyatlar Kompyuter.
Maqsad:


  • kompyuter ishlashini ta'minlash;


  • foydalanuvchi o'zaro ta'sirini kompyuter bilan o'zaro ta'siriga ko'maklashish;


  • natijani olishdan oldin muammoni hal qilishning aylanishidan tsiklni kamaytirish;


  • kompyuter resurslaridan foydalanish samaradorligini oshirish.



Dastur sizga quyidagilarga imkon beradi:


  • o'z imkoniyatlarini maksimal darajada oshirish uchun kompyuter tizimini tashkil etish;


  • foydalanuvchining ishlashi va mehnat sifatini oshirish;


  • foydalanuvchi dasturlarini ma'lum bir hisoblash tizimining resurslariga moslashtirish;


  • hisoblash tizimini kengaytirish.


  • Hisoblash tizimining imkoniyatlaridan maksimal foydalanish, birinchidan, har bir foydalanuvchi yoki o'z vazifalarini o'z vaqtida va sifatli hal qilish uchun minimal manbalar ko'rsatilishi bilan, ikkinchidanKo'p sonli foydalanuvchilar (shu jumladan masofadan boshqarish) hisoblash tizimining resurslariga ulanish orqali, uchinchidan, tizim va ishlov berish so'rovlariga qarab turli foydalanuvchilar va vazifalar oralig'ida resurslarni qayta taqsimlash orqali.


  • Foydalanuvchilardan foydalanuvchilarning samaradorligi va sifatini takomillashtirish, turli xil dasturlash vositalarida (algoritmik tillar, dastur paketlari) va qulay kirish-chiqish qurilmalari yordamida amalga oshiriladi.


  • Foydalanuvchi dasturlarining muayyan hisoblash tizimining resurslariga moslashishi operatsion tizimda mashina konfiguratsiyasini saqlab qolish vositasi mavjudligi bilan ta'minlanadi. Bundan tashqari, operatsion tizim mavjud dasturlarni yaratish va osonlashtirish imkoniyatini beradi turli xil qurilmalar Mavjud dasturiy ta'minotni kengaytirish quyidagi funktsiyalarning mavjudligini o'z ichiga oladi:


  • o'zgartirish va paketlardan foydalanuvchini yaratish, bu aniq hisob-kitob vazifalari va individual qurilmalar va umuman hisoblash tizimini boshqarish jarayonlarini amalga oshiradigan foydalanuvchini yaratish;


  • operatsion tizimning imkoniyatlarini kengaytirish, yangi dasturlarning yangi turlari, yangi hisoblash tizimlari (kompyuterlar) bilan ishlash imkonini beradigan dasturlar bilan to'ldirish yangi dasturlarda.



Faoliyatning turli sohalarida hisoblash tizimlaridan foydalanish bo'yicha va vazifalarni o'z vaqtida va etarli darajada hal qilishni ta'minlashi kerak. Bu hurmat zarurligini keltirib chiqaradi komponentlarni ishlab chiqishda talablar , asosiy narsa:


  • modulli modulyatsiya;


  • kengaytirish va rivojlanish;


  • ishonchlilik;


  • bashorat qilish;


  • qulaylik va ergonomika;


  • moslashuvchanlik;


  • samaradorlik;


  • muvofiqlik.



Zamonaviy dasturiy ta'minotni rivojlantirishning asosiy printsiplari:


  • parametrik ko'plik;


  • funktsional qayta-yulish;


  • funktsional tanlovlash.





Download 0.81 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   13




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