Основы искусственного интеллекта: учебное пособие
Download 428.17 Kb.
|
Основы искусственного интеллекта учебное пособие
- Bu sahifa navigatsiya:
- Obektga yonaltirilgan dasturlash metodologiyasi
Imperativ dasturlash tarixan birinchi apparat tomonidan qo'llab-quvvatlanadigan dasturlash metodologiyasidir . U klassik fon Neyman modeliga yo'naltirilgan bo'lib, u uzoq vaqt davomida keng amaliy qo'llanilgan yagona apparat arxitekturasi bo'lib qoldi.
Imperativ dasturlash kalkulyator holatining ketma-ket o'zgarishini tavsiflashga asoslanadi. Agar kalkulyator zamonaviy kompyuter sifatida tushunilsa, uning holati uning barcha xotira hujayralarining qiymatlari, protsessor holati (jumladan, joriy buyruq ko'rsatgichining qiymati ) va barcha tegishli qurilmalar bo'ladi. Bu erda yagona ma'lumotlar strukturasi - bu chiziqli tartiblangan manzillarga ega bo'lgan hujayralar (manzil-qiymat juftlari) ketma-ketligi. Ushbu hisoblash modelini qo'llab-quvvatlaydigan tillar kalkulyatorning holatlari orasidagi o'tish funktsiyasini tavsiflash uchun ixcham vositadir. Matematik model sifatida imperativ dasturlash algoritmlarni tavsiflash uchun kompyuter asrining boshida taklif qilingan mavhum hisoblash qurilmasi Turing-Post mashinasidan foydalanadi. Bu erda asosiy sintaktik tushuncha operator bo'lib , bunday operatorlarning bir nechta navlari (guruhlari) mumkin. Birinchi guruh atom operatorlari bo'lib , ularning hech bir qismi mustaqil operator bo'lmaydi (masalan, tayinlash operatorlari, shartsiz o'tish, protsedura chaqiruvi va boshqalar). Ikkinchi guruh tuzilmaviy bayonotlar bo‘lib, ular boshqa gaplarni yangi, kattaroq gapga (masalan, qo‘shma gap , tanlov bayoni, sikl bayoni va boshqalar) birlashtiradi. tuzilma bayonotida belgilangan tartibda bajariladi . Agar u qo`shma gap bo`lsa, unda unga kiritilgan gaplar yozilish tartibi bo`yicha bajariladi. Strukturalashning an'anaviy vositasi bu pastki dastur ( protsedura yoki funktsiya). Subprogrammalar parametrlar va mahalliy ta'riflarga ega va ularni rekursiv chaqirish mumkin. Funktsiyalar o'z ishi natijasida qiymatlarni qaytaradi. Imperativ dasturlash tillari ketma-ket ko'rsatmalardan foydalangan holda va ularni ma'lumotlarga qo'llash orqali ma'lumotlarni bosqichma-bosqich manipulyatsiya qiladi. Eng mashhur va keng tarqalgan imperativ dasturlash tillari Gorban, Aldo1 , Pasca1, C. har qanday buyruqlarning ketma-ket bajarilishi tabiiy bo'lgan muammolarni hal qilish uchun eng mos keladi . Masalan, zamonaviy apparat vositalarini boshqarish: deyarli barcha zamonaviy kompyuterlar majburiy bo'lganligi sababli, ushbu metodologiya sizga juda samarali bajariladigan kodni olish imkonini beradi. Biroq, muammoning murakkabligi oshgani sayin, imperativ dasturlar kamroq va kamroq o'qiladi. Imperativ metodologiyaning eng muhim ishlanmasi tizimli imperativ dasturlash metodologiyasi bo'lib , u global ma'lumotlardan va shartsiz tarmoq operatoridan foydalanishdan voz kechish, kuchli ulanishga ega modullarni ishlab chiqish va ularning boshqa modullardan mustaqilligini ta'minlashdan iborat. Ushbu yondashuv ikkita asosiy tamoyilga asoslanadi: masalani yechish algoritmini yuqoridan pastgacha ketma-ket parchalash; tizimli kodlashdan foydalanish. Edsger Deykstra strukturaviy yondashuvning yaratuvchisi hisoblanadi. Shuningdek, u tizimli dasturlashni dasturlarning to'g'riligini isbotlash usullari bilan birlashtirishga (afsuski, ommaviy dasturlash uchun mutlaqo mos emas) harakat qildi [1]. Ob'ektga yo'naltirilgan dasturlash metodologiyasi Ushbu yondashuv ob'ektlarning parchalanishidan foydalanadi, bunda tizimning statik tuzilishi ob'ektlar va ular o'rtasidagi munosabatlar nuqtai nazaridan tavsiflanadi va tizimning xatti-harakati ob'ektlar orasidagi xabarlar nuqtai nazaridan tavsiflanadi. Ob'ektli fikrlashning paydo bo'lishiga modellashtirish va ma'lumotlarni taqdim etish, foydalanuvchi grafik interfeyslari va tizimlarni dasturlash ("jarayon" tushunchasi bilan) ta'sir ko'rsatdi. Haqiqiy tizimlarni modellashtirish sohasidagi tadqiqotlar ularda sodir bo'ladigan ob'ektlar - ob'ektlar va hodisalarni tabiiy tavsiflash vositalarini yaratish zaruratini keltirib chiqardi. Keyinchalik, inkapsulyatsiya (mavhum ma'lumotlar turlari), meros va polimorfizm kabi tushunchalar an'anaviy tuzilgan dasturlash uchun juda foydali qo'shimchalar bo'lib chiqdi. Ularni juda samarali amalga oshirish qobiliyati bugungi kunda keng qo'llaniladigan ob'ektga yo'naltirilgan dasturlash tillarini yaratishga olib keldi . "Sof" ob'ektga yo'naltirilgan dasturlashning (OOP) hisoblash modeli ob'ektga xabar yuboradigan faqat bitta operatsiyani aniq qo'llab-quvvatlaydi . Bunday xabarlar ob'ektlar bo'lgan parametrlarga ega bo'lishi mumkin; xabarning o'zi ham ob'ektdir. Ob'ekt xabarlarni qayta ishlash vositalari (usullari) to'plamiga ega. Ob'ektda shuningdek maydonlar mavjud - bu ob'ekt uchun "shaxsiy" o'zgaruvchilar, ularning qiymatlari boshqa ob'ektlarga havolalar. Ob'ekt maydonlaridan biri bu ob'ekt tomonidan qayta ishlanmagan barcha xabarlar yuboriladigan ajdod ob'ektiga havolani saqlaydi . Xabarlarni qayta ishlash va yo'naltirishni tavsiflovchi tuzilmalar odatda berilgan ob'ektning klassi deb ataladigan alohida ob'ektga bo'linadi , ob'ektning o'zi esa ko'rsatilgan sinfning namunasi deb ataladi. "Sof" ob'ektga yo'naltirilgan tillarning sintaksisida hamma narsa ob'ektlarga xabarlar yuborish shaklida yozilishi mumkin. Ob'ektga yo'naltirilgan tillardagi sinf o'xshash xususiyatlar, atributlar va xatti-harakatlarga ega bo'lgan ob'ektlar to'plamining tuzilishi va ishlashini tavsiflaydi . Bu yerdagi ob'ekt tabiiy ravishda qandaydir sinfga tegishli bo'lib, o'zining ichki holatiga ega. Boshqa tomondan, usullar faollashtirilishi mumkin bo'lgan funktsional xususiyatlardir. Ob'ektga yo'naltirilgan dasturlashda uchta asosiy xususiyat aniqlanadi: Download 428.17 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling