Xazratqulov muhiddinning dasturlash uslublari va paradigmalar fanidan



Download 23,91 Kb.
Sana20.12.2022
Hajmi23,91 Kb.
#891763
TuriReferat
Bog'liq
REFERAT














MUHAMMAD AL-XORAZMIY NOMIDANI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI FARG’ONA FILIALI
DASTURIY INJINIRINGI YO’NALISHI
653-20 – GURUH TALABASI
XAZRATQULOV MUHIDDINNING
DASTURLASH USLUBLARI VA PARADIGMALAR FANIDAN

REFERAT


TOPSHIRDI: XAZRATQULOV M
QABUL QILDI: MUSAYEV X




FARG’ONA-2022

280-287
Dasturlash uslublari haqida umumiy tushuncha


Dasturlash uchun Gyodelning to'liqsizlik teoremasining oqibatlari. Turli sinfdagi masalalarning mantiqiy mos kelmasligi. Uslublar ichida gipostazalarning amaliy mos kelmasligi. Uslublar mosligi o'zaro ta'siri.
Nima uchun umumiy usullar mavjud emas?
Afsuski, bizning universitetlarimiz kurslaridan (odatda bo'lgani kabi
Rossiyadagi inqiroz davrida) deyarli yo'q bo'lib ketdi
dunyoqarash va faqat umumiy ma’daniyat uchun muhim fan: mantiq. Bu
Bu haqiqat ayniqsa afsuslanarli, chunki yigirmanchi asr davomida mantiq majburlangan, ilmiy dunyoqarashni sifat jihatidan yangi bosqichga ko‘tarish. U
birinchi marta fanni o'z chegaralari haqida fikr yuritishga majbur qildi
imkoniyatlar.
Bu yerda hech bo'lmaganda Gyodelning to'liqsizlik teoremasiga murojaat qilish kerak (masalan, [20] ga qarang), u hech bo'lmaganda natural sonlarni tavsiflovchi bitta to'liq nazariya yo'qligini ta'kidlaydi. Bundan tashqari, to'liqsizlik teoremasi universal algoritm teoremasi bilan chambarchas bog'liq va uni aylanib o'tishning iloji yo'q (uni aylanib o'tishga bo'lgan har qanday urinish o'zini rad etadi). Umumjahon algoritm teoremasi, natijada, universal algoritmning tubdan tugallanishiga olib keladi (bu sof funktsional haqiqatdir, u hech qanday tarzda universal algoritmning o'ziga xos tuzilishiga va hatto uning asosidagi hisoblashning o'ziga xos kontseptsiyasiga bog'liq emas). ). Zamonaviy hisoblash tizimlarining butun arxitekturasi va mafkurasi universal algoritm kontseptsiyasiga asoslanadi (masalan, C++ kabi “universal” tildan tarjimonning mavjudligining o‘zi uning amaliy amalga oshirilishi hisoblanadi). Shunday qilib, dasturdagi xato tushunchasini hatto printsipial jihatdan ham yo'q qilib bo'lmaydi.
Bu shuni anglatadiki, yechilishi mumkin bo'lgan har qanday dasturlash muammosini kafolatli va cheklangan vaqt ichida hal qilish imkonini beradigan universal usul yo'q.
Odamlar muammolarni hal qiladi, deysiz. Lekin qarang, har bir mutaxassisning sevimli vazifalari bor, u yaxshi hal qiladi. Va kasbiy o'sishingiz va o'zingizni hurmat qilishingiz uchun sevimli usullaringiz muvaffaqiyatsiz bo'lgan vaziyatda bo'lish juda foydali. Agar siz o'z muvaffaqiyatsizligingizni tahlil qila olgan bo'lsangiz, siz mutaxassis unvoniga loyiqsiz, agar bo'lmasa, siz dogmatizm yoki sharlatanizm yo'lidasiz.
Ko'pincha birinchi darajali nazariy mulohazalar chuqur o'rganish natijasida qulab tushadigan ilmiy xulosalarga olib keladi. Ammo bu holda, chuqurlikni oshirish faqat universal bo'lmagan ta'sirni kuchaytiradi.
Eng oddiy hisoblash modellari yordamida nazariy asoslashda qayta-qayta yo'l qo'yiladigan odatiy xato misolini ko'rib chiqing.
Hisoblash mumkin bo'lgan har qanday narsani Turing mashinasida hisoblash mumkin. Turing mashinasini C++ da modellashtirish mumkin. Shuning uchun siz C ++ tilidan boshqa hech narsani bilishingiz shart emas.
Ammo keyin C++ tilining o'zini ixtiro qilishning hojati qolmaydi, chunki mashinalar shunday tuzilganki, har qanday Tyuring mashinasi mashina ko'rsatmalari tizimida modellashtirilishi mumkin.
Rus (aniqrog'i, hatto sovet) informatikasi tarixida minus bilan minus plyus berganida qiziq holat bo'lgan. Takabbur virtuoz mutaxassislarning nodonligi Markaziy Qo'mitaning yosh va shuhratparast amaldorining nodonligiga qoqildi.
Tarjimonlar qilish kerakmi degan savol ko'rib chiqilganda, eng yaxshi Moskva dasturchilari buni qilishning hojati yo'qligini ta'kidladilar. Ular mashina ko'rsatmalari darajasida kodlashda mehnat taqsimotining juda mukammal tizimini ishlab chiqdilar, o'shanda dasturchi hamma narsani "ma'noli yozuvda" yozgan va texniklar (ko'pincha Qizlar) jadvallarni mexanik ravishda tuzgan va mazmunli yozuvlarni ikkilik kodlarga qayta yozgan. Tizim kitobda tasvirlangan. Shuning uchun ular tarjimonlar kerak emasligini, qizlar mashina dasturlarini yozishlarini aytishdi.
Ammo Markaziy Qo‘mita ilmiy bo‘limidan o‘zini juda bilimdon deb hisoblagan yosh funksioner o‘rnidan turib, shunday dedi:
Men maxfiy ma'lumotlarni oshkor qilaman. Endi biz soniyada million ko'rsatmalarni bajaradigan mashinani yaratmoqdamiz (bu BESM-6 edi). Bu nima, qizlar sizga million xabar yozishadimi?
Murakkablik nazariyasida ham juda mustaqil murakkablik ierarxiyasi mavjud bo'lgani uchun (masalan, vaqt ichida g'alaba qozonish. Biz ko'pincha xotirada yutqazamiz va aksincha), turli maqsadlar uchun turli xil vositalar kerakligi aniq.
Agar biz yana bir darajaga ko'tarilib, dasturlarni nafaqat funktsiyalar sifatida, balki tashqi muammolarni hal qilish vositasi sifatida ko'rib chiqsak, biz matematikaning turli xil versiyalari (klassik va har xil turdagi konstruktiv) mavjudligiga duch kelamiz. .
Shunday qilib, insonga na mutlaq haqiqat, na mutlaq mukammallik, na universal usullar berilmaydi. Bu falsafiy xulosa, lekin falsafa ham amaliy fandir, agar uni qo‘llashni bilsangiz. Shunday ekan, keling, nafaqat bizni xushomad qiladigan ilmiy natijalarni qo'llaylik. Uslublar, ular gipostazlar, metodologiyalar usullari .
Umumjahon hech narsa yo'qligi sababli, siz retseptlar to'plamiga kirib, usulning mohiyatini yo'qotib, boshqa ekstremalga o'tishingiz mumkin: moslashuvchanlik va turli sohalarda keng qo'llanilishi. Agar biz bunday sudraluvchi empirizmga e'tibor qaratadigan bo'lsak, unda keyingi rivojlanish tezda axlat yig'ish effektiga aylanadi: tizimsiz retseptlar hech qachon bilimga aylanmaydi. Muammolarning har bir sinfi uchun siz maxsus usullar va yondashuvlarni izlashingiz kerak.
Vazifalar sinfi qanchalik tor bo'lsa, bu vazifalar shunchalik umumiy xususiyatlarga ega. Bu, agar vazifalar sinfi nomenklatura bo'yicha (masalan, buxgalteriya hisobi vazifalari, ish jarayonini avtomatlashtirish vazifalari) emas, balki vazifalarga jalb qilingan tuzilmalarning mohiyatini aks ettiruvchi mezonlar bilan ajralib tursa, eng aniq ko'rinadi. Ba'zigacha daraja, muammoning tavsifi qanchalik mavhum bo'lsa, dasturlash usulini ishlab chiqish uchun shunchalik yaxshi bo'ladi.
Bir misolni ko'rib chiqing. Ehtiyot qismlar ishlab chiqaradigan ma'lum miqdordagi turli xil mashinalarga ega korxona C bo'lsin. U turli xil buyurtmalarni oladi va buyurtma ustuvorliklari va qismlarni qayta ishlash texnologiyasiga ko'ra, mashinalarni dinamik ravishda rejalashtirishi kerak. Ushbu muammoni hal qilgandan so'ng va bir muncha vaqt o'tgach, iste'molchi va mutaxassislar uchun juda ko'p turli xil dori-darmonlar uchun texnik shartlarni ishlab chiqaradigan kompaniyada hujjatlarni boshqarish vazifasi bilan duch kelgan holda, ikkita muammoning o'xshashligini ko'rish mumkin. Yaxshi tashkil etilgan byurokratik mashinada har bir ijrochi dastgoh kabi ishlaydi, o'z ishini bajaradi, xuddi bog'liqliklar tarmog'i mavjud bo'lgani kabi (ba'zi ijrochilar faqat boshqalar uchun material tayyorlagandan keyin ishlashlari mumkin) va bir xil usullar (va ko'pincha hatto deyarli bir xil dasturlar ) qog'oz oqimini rejalashtirishga o'tkaziladi.
Shunday qilib, ma'lumotni tizimlashtirish va bilimga aylantirish uchun topilgan alohida echimlarning umumiy xususiyatlarini ajratib ko'rsatish kerak. Ushbu umumiy xususiyatlar texnikaga, so'ngra amalga oshirilib, umumlashtirilgach, usullarga aylanadi.Usul kuchli qurol va bu bilan birga katta uning o'ziga xos kuchli va zaif tomonlari bor. Ayniqsa, usulni qo'llash etarli darajada yuqori intellektuallikni talab qiladi darajasi va aniq fanlar bo'yicha singdirilgan bir qator ko'nikmalarga ega bo'lishi, xususan, konkretdan mavhumlikka o'tish qobiliyati va orqaga. Chunki mutaxassislarning aksariyati emas qo'llashi mumkin bo'lgan darajada shaxsiy fikrlash usul sof shaklda, usul metodologiyaga konkretlashtiriladi.
Metodologiya - bu usulni belgilovchi shablonlar, protseduralar va retseptlar to'plami. Masalan, UML (Unified Modeling Language) asosidagi ko'p aspektli modellashtirish usuli metodologiyaga konkretlashtiriladi.
Metodologiyaga misol sifatida RUP (Rational Unified Process) ning umumiy qismini keltirish mumkin. UMLning o'zi faqat ma'lum bir texnika uchun material beradi: shakllar,
Unda yaratilayotgan dasturning turli tomonlarini tavsiflovchi o'zaro bog'liq modellar tizimini va bunday tavsiflarni tuzatish tartiblarini qurish MUMKIN. Uslubni mutaxassislarning katta qismi allaqachon qo'llashi mumkin, chunki uni qo'llash betonlashtirish va kompozitsiyaning elementar operatsiyalarini talab qiladi va kombinatsiyalangan fikrlashga ega odamlar uchun ochiqdir. Lekin muvaffaqiyatli qo'llash uchun qo'shimcha aniqlanishi kerak. Jamoada Metodika bo'lishi kerak.
Xuddi shu RUP, ko'p aspektli modellarni qo'llash metodologiyasiga qo'shimcha ravishda, ushbu metodologiya bo'yicha dasturlash guruhining ishlash qoidalariga tegishli qismni o'z ichiga oladi. Bu texnologiya. Texnologiya harakatlarni tavsiflaydi, hujjatlar shablonlarini beradi, loyihada ishtirok etayotgan shaxslarning rollari va funktsiyalarini belgilaydi. Dasturlash guruhlarida ishchi oddiy "temir" ishlab chiqarish bo'yicha texnik mutaxassis sifatida malakaga ega bo'lganligi sababli, dasturlash texnologiyalari, sanoat texnologiyalaridan farqli o'laroq, aniqlashtirish va o'zgartirish uchun ma'lum joy qoldiradi, bu esa dinamik ravishda aniqlangan aniq harakatlar seriyasini shablonlarga almashtirishga imkon beradi. "Temir" ishlab chiqarishda texnologiya qat'iy belgilangan operatsiyalar ketma-ketligi bo'lib, taxminan dasturchi dunyosida yaxshi sozlangan dasturga mos keladi.
RUP past kontent va chiroyli foydalanuvchi interfeysi bilan bog'liq muammolarni hal qilishda dasturchilarning unumdorligini o'n baravar oshirish imkonini berdi. Sanoat dasturlashning o'ziga xos texnikasi bilan tanishish alohida kursning mavzusi bo'lishi kerak, bu o'z hayotida hech qachon bunday texnikadan foydalanmaydiganlar uchun foydalidir, chunki u to'g'ridan-to'g'ri usul darajasiga o'tishi mumkin. Ular uchun bu uslub usulni konkretlashtirishning namunasi bo'ladi, agar bunday kishi noto'g'ri tushunishni istamasa, buni qilishi kerak.
Ammo usullardan tashqari yana ikkita qavat mavjud. Yuqori qavatlarning birinchisi XX asrning 70-yillarida ko'rib chiqila boshlandi. Bu dasturlash metodologiyalari 2. Metodologiya aslida usullarga ortogonaldir: bu dasturlash binosining boshqa qanotidagi ustki tuzilma. Bunday holda, tuzilgan dasturlashga murojaat qilish kifoya.
Usul metodologiya yordamida va uning doirasida amalga oshiriladi.
Yuqori qavatlarning ikkinchisi birinchi marta Kitobda tizimli ravishda o'rganilgan [22]. Bu dasturlashda biz moddiy ishlab chiqarishga qaraganda ancha mavhum va ideal tushunchalar bilan shug'ullanishimiz bilan bog'liq. Shu sababli, mantiqiy konstruktsiyalarning uzunligi oshadi, qo'llaniladigan usullarni rasmiylashtirishning murakkabligi pasayadi va biz "materiya" dan ko'ra ko'proq fikrlash mantiqiga bog'liqmiz.
Qurilish mantig'i standart kurslarda o'qitiladigan va matematikaning klassik versiyasi asos qilib olingan tayyor fikrlash mantig'idan farq qiladi. 20-asrning boshidan boshlab matematikada konstruktiv yo'nalish paydo bo'ldi (xususan, konstruktivizm intuitivizmi), buning uchun asosiy U va undagi sovet isboti ideal konstruktsiyadir. a Konstruktiv yo'nalishning asoschisi L. E. Ya. Brouver (Gollandiya) matematik isbotlash har doim ham konstruksiyani bermasligining sabablari mantiqda yotishini aniqladi. Shunday qilib konstruktiv mantiq tushunchasi paydo bo'ldi, unda bizni formulalarning haqiqati emas, balki ularning amalga oshirilishi (berilgan vositalar yordamida muammoning echimini qurish imkoniyati) qiziqtiradi.
Keyinchalik ma'lum bo'ldiki, turli xil vositalar sinflari va resurs cheklovlari turli mantiqlarga mos keladi. Bu mantiqlar nafaqat farq qiladi, balki bir-biriga ziddir. Murakkab sun'iy ob'ektni (bizning holimizda dastur) qurish jarayonida fikrimizning hech bo'lmaganda minimal ichki izchilligini saqlab qolish uchun boshidanoq vositalar sinfini va resurslarni cheklash zarurligini aniqlash kerak. hisobga olingan.
Shunday qilib, mantiqiy jihatdan bir-biriga qarama-qarshi bo'lgan va har biri o'z sohasida qo'llaniladigan dasturlarni qurish usullari sinflari paydo bo'ladi. Bu sinflar hisoblash muhitining tanlangan modellari asosida dasturlarning eng umumiy rasmini beradi.
Strukturaviy dasturlash mos keladi. Hisoblash muhiti munosabatlar bilan bog'langan alohida ma'nolar ombori sifatida va 19-asrdagi dunyoning matematik ko'rinishiga raqamli belgilar bilan nimani tasvirlash mumkin; bu holda dasturning roli eski qiymatlardan yangi qiymatlarni hisoblashdir.
Avtomatik dasturlash hisoblash muhitini sezilarli darajada va global miqyosda o'zgartiruvchi harakatlarni ko'rib chiqishga to'g'ri keladi, buning natijasida noto'g'ri bo'lishi mumkin.
Sentsial dasturlash hisoblash muhitini muntazam ravishda berilgan naqshlarga nisbatan tekshirilishi mumkin bo'lgan va boshqa quyi tuzilmalarni unga teng ravishda muntazam ravishda almashtirish va ulanishlarni qayta almashtirish orqali o'zgartirilishi mumkin bo'lgan qiymatlarning global muntazam tuzilishi sifatida ko'rib chiqadi.
Hodisalarni dasturlash hisoblash dunyosini vaqt o'tishi bilan o'zgaruvchan narsa sifatida, dasturni esa tashqi dunyo orqali bir-biriga xabarlar yuboradigan va unda harakatlarni bajaradigan faol agentlar to'plami sifatida qaraydi, buning natijasida tashqi dunyo boshqa agentlarni faollashtirishi mumkin.
Ushbu to'rtta uslubning barchasi faqat cheklangan (mantiqiy formulalar nuqtai nazaridan) tegishli konstruktiv mantiqning qismlaridan foydalanadi. Misol uchun, tuzilgan uslubda formulani faqat bitta ma'noga ega deb o'ylashingiz mumkin, chunki barcha harakatlar funktsiyalarni emas, balki qiymatlarni o'zgartiradi.
Funktsional dasturlash uning ichida hozirgi ko'rinishida XX asr oxiridagi matematikaning dunyoga ba'zi tuzilmalar asosida boshqalarni ishlab chiqaradigan OLIY tartibli tuzilmalar va funktsiyalar to'plami sifatida qarashiga mos keladi. Bu konstruktiv mantiqning to'liq tilidan foydalanadigan yagona narsa; murakkab formulalarni amalga oshirish funktsionaldir.
Shunday qilib, dasturlash uslubi tushunchasi dasturlarni qurishda qo'llaniladigan mantiqiy usullarning bir xil sinfiga mos keladigan paradigmalar va metodologiyalar to'plami sifatida paydo bo'ldi.
Birinchi bosqichda barcha uslublar har bir uslubning maqsadini ochib beradigan harakat-sharoit, mahalliylik-globallik koordinatalariga ko'ra quyidagi B morfologik qutiga mos keladi.

Harakatlar

Shartlar

Uslublar

Mahalliy

Mahalliy

Strukturaviy

Global

Mahalliy

Avtomatik

Mahalliy

Global

Hodisaga asoslangan

Global

Global

Hukum


Har bir uslubda gipostazlar mavjud. Shaklning gipostazalari, unda uslubning yuqori darajali va mavhum tushunchasi bizning aniq konstruktsiyalarimizda namoyon bo'ladi. Gipostazlar mantiqan bir-biriga zid emas, lekin aslida ular bir-biriga zid bo'lib (ba'zan hatto turli uslublardan ham ko'proq), agar siz ularni kesishgan holda ishlatishga harakat qilsangiz. Bu hipostazlar resurslarni sarflashning turli intizomlariga moslashtirilganligi bilan bog'liq.
Strukturaviy uslubda ikkita hipostaz mavjud: tsiklik va rekursiv. Ma'lumotlar tuzilmalari statik va unchalik chuqur bo'lmaganda va keyingi ma'lumotlar qatlami keyingi qatlam tomonidan deyarli to'liq foydalanilganda tsiklik gipostaz yaxshi bo'ladi. Rekursiv hipostaz ma'lumotlar tuzilmalari dinamik va chuqur bo'lganda yaxshi bo'ladi va keyingi qatlamda oldingi qatlamning faqat kichik bir qismi kerak bo'lsa yoki qatlamlarning o'zi kichik kenglikka ega bo'ladi.
Avtomat uslubida ikkita gipostaza mavjud: ketma-ket va parallel. Tizim ma'lumotlarning yagona bloki sifatida taqdim etilganda ketma-ket gipostaz yaxshi va tizim nisbatan avtonom o'zaro ta'sir qiluvchi quyi tizimlarga bo'linganida parallel bo'ladi.
E'tibor bering, avtomat uslubida bir xil dasturlarni bir xil uslubda joylashgan turli xil dasturlash usullari bilan qanday amalga oshirish mumkinligini kuzatish mumkin. Amalga oshirish usullari texnologik intizomga yaqin bo'lib, ular mantiqiy yoki resurs nuqtai nazaridan emas, balki texnologik jihatdan o'zboshimchalik bilan aralashtirilganda bir-biriga xalaqit beradi. Agar dastur bir nechta usullarning eklektik aralashmasi bilan tuzilgan bo'lsa, disk raskadrovka va ayniqsa o'zgartirish qiyinroq bo'ladi.
Voqealar uslubida ikkita gipostaza mavjud: voqealar va OT ustuvorliklaridan. Bu erda siz uslubning paydo bo'lishini va mavjudligini ko'rishingiz mumkin
tilni qo'llab-quvvatlashdan qat'i nazar va ba'zan hatto bunga qaramay.
Funktsional uslubda hipostazlar hali paydo bo'lmagan, chunki uning o'zi tan olinmagan va tizimli dasturlashning rekursiv gipostazi bilan doimo aralashib ketgan. Bu erda turli uslublar orasidagi interfeyslarga e'tiborning etishmasligi qanday qilib bir uslubning boshqasiga integratsiyalashuviga olib kelishini ko'rishingiz mumkin. Hatto (bu holatda bo'lgani kabi) ular yaxshi o'zaro aloqada bo'lsa ham, ular alohida mavjud bo'lish yaxshiroqdir.















Download 23,91 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish