Reja Amaliy dasturlash xaqda


-Mavzu: Operatsion sementika



Yüklə 187,26 Kb.
səhifə7/9
tarix22.03.2024
ölçüsü187,26 Kb.
#181677
1   2   3   4   5   6   7   8   9
Nurova Rayhona 02

5-Mavzu: Operatsion sementika


Reja

  1. Operatsion sementika xaqida

  2. Prolog deklarativ dasturlash tili

  3. Operatsion sementika dasturlash tillariga bog’liqligi

Operatsion sementika, dasturlash tillaridagi amallarni va dastur bajarishni tavsiflash uchun ishlatiladigan formalizmni ifodalovchi matematik modeldir. Bu model, dasturlash tillaridagi amallarni va dastur bajarishni tavsiflashda ishlatilgan formal tili ifodalaydi. Operatsion sementika quyidagi asosiy elementlarga ega:



  1. Operatsiyalar (Operations) Dasturlash tillaridagi amallarni ifodalash uchun foydalaniladigan amaliyotlar yoki operatsiyalar. Misol uchun, qo'shish, ayirish, ko'paytirish, bo'lish kabi operatsiyalar.

  2. Operandlar (Operands) Operatsiyalarga kiritiladigan muqarrarlangan qiymatlar yoki o'zgaruvchilar. Operandlar, amallarni bajarish uchun kerak bo'lgan ma'lumotlarni ifodalaydi.

  3. Natijalar (Results) Har bir amalni bajarishning natijasi, boshqa operatsiyalar yoki qismlar uchun foydalanish uchun aniqlangan qiymatlar.

  4. Yangiliklar (State Changes)Dasturlash tili ishlayotgan paytda o'zgaruvchanlar uchun o'zgaruvchilar. Bu o'zgaruvchilar, dastur bajarilayotgan davomida o'zgaradi.

  5. Shartlar (Conditions)Dasturlash tillarida shartlar (ifodalar) orqali amallarni bajarishni aniqlash uchun ishlatiladigan ifodaviy ifodalash usullari. Shartlar, dasturlashda to'g'ri yoki noto'g'ri bo'lgan holatlarni aniqlash uchun foydalaniladi.

Operatsion sementika, dasturlash tillaridagi amallar va dastur bajarishni matematik tili yordamida formalizatsiya qilishga yordam beradi. Bu, dastur yozuvchilari va tarkibiy texnologiyalarni tushunish va aniqroq tavsiflash uchun juda foydali bo'lgan modeldir. Bu shu jihatdan, operatsion sementika, dastur tuzatish va tahlil qilishda yordam beradi
Operatsion semantika toifasi rasmiy dasturlash tili semantikasi unda dasturning aniqligi, xavfsizligi yoki xavfsizligi kabi ba'zi kerakli xususiyatlari mavjud tasdiqlangan matematik ma'nolarni atamalariga biriktirish o'rniga, uning bajarilishi va protseduralari to'g'risida mantiqiy bayonotlardan dalillar yaratish orqali (denotatsion semantika ). Operatsion semantika ikki toifaga bo'linadi: tarkibiy operatsion semantikasi (yoki kichik bosqichli semantika) qanday rasmiy ravishda tasvirlab bering individual qadamlar a hisoblash kompyuterga asoslangan tizimda amalga oshiriladi; muxolifat tomonidan tabiiy semantik (yoki katta qadam semantikasi) qanday tasvirlab bering umumiy natijalar qatl qilingan. Ta'minlash bo'yicha boshqa yondashuvlar dasturlash tillarining rasmiy semantikasi o'z ichiga oladi aksiomatik semantik va denotatsion semantika.
Dasturlash tili uchun operatsion semantika joriy dasturni hisoblash bosqichlari ketma-ketligi sifatida qanday talqin qilinishini tavsiflaydi. bor dasturning ma'nosi. kontekstida funktsional dasturlar, tugatish natijasidagi yakuniy qadam dasturning qiymatini qaytaradi. (Umuman olganda bitta dastur uchun qaytish qiymatlari ko'p bo'lishi mumkin, chunki dastur bo'lishi mumkin noaniq va hatto deterministik dastur uchun ham hisoblash ketma-ketliklari ko'p bo'lishi mumkin, chunki semantika ushbu qiymatga qanday operatsiyalar ketma-ketligi kelishini aniq ko'rsatmasligi mumkin.)
Ehtimol, operatsion semantikaning birinchi rasmiy mujassamlashi lambda hisobi semantikasini aniqlash LISP.[1] Abstrakt mashinalar an'ana bo'yicha SECD mashinasi bir-biri bilan chambarchas bog'liqdir.

Mantiqiy dasturlash ma'lumotlarni qayta ishlashni tanlovga kamaytiradi ta'riflarning ixtiyoriy tarkibi (tenglamalar, predikat shakllari), muvaffaqiyatli natija beradi. Bu formulalarni qayta ishlash bu asosdir-hisoblash operatsiya sifatida ko'rib chiqiladi formula bilan. Muvaffaqiyatsiz bo'lsa, boshqa variantlar haddan tashqari ko'payadi ta'riflar. LP tillarida variantlarni to'g'ridan-to'g'ri tanlash mumkin deb hisoblanadi, namunalar bilan taqqoslanadigan va muvaffaqiyatsiz bo'lsa, daromadlarni tashkil qilish tanlash. Variantlarni haddan tashqari oshirib yuborish grafikni chuqurlikka aylantirishga o'xshaydi. Mavjud


bila turib yo'q qilish uchun haddan tashqari nazoratni boshqarish vositalari umidsiz qidiruv.
Deterministik bo'lmagan ishlarni bajarish uchun talqin qiluvchi Avtomat jarayonlarni hisoblashni davom ettirish tsikli sifatida tasavvur qilish mumkin diagnostika holatiga kirish. Davomi quyidagilardan iborat funktsional ob'ekt ta'riflari to'plamidan boshqa variantni tanlash. Hisoblash muvaffaqiyatsiz deb tan olinadi, agar uni tanlash imkoni bo'lmasa
formulaning qiymatini hisoblash imkonini beradigan variantlar to'plami. Ko'p elementlardan farqli o'laroq, variantlar to'plami quyidagilarni talab qilmaydi barcha tarkibiy qismlarning bir vaqtning o'zida mavjudligi. Shuning uchun variantlarni dasturlash zaruratdan xalos bo'lishi mumkin bir vaqtning o'zida barcha variantlarni shakllantirish. Mantiqiy dasturlashda
formulalar namunalari o'rtasidagi munosabatlar variantlari haqida o'ylashingiz mumkin
asta-sekin, haqiqiy faktlar va ularning kombinatsiyalarini to'plash. Tarkib jihatidan bunday jarayon ishlovchilar to'plamini takomillashtirishga o'xshaydi uskunalar darajasida uzilishlar. Asosiy dasturdan tashqari, maqsadli ma'lumotlarni qayta ishlashni amalga oshirib, to'plam disk raskadrovka qilinadi diagnostik reaktsiyalar va har xil turdagi hisob-kitoblarni davom ettirish protseduralari natijaga to'sqinlik qiladigan kutilmagan hodisalar dasturlar.
Shuni yodda tutish kerakki, variantlar ierarxiyani tashkil etmaydi. Ular aksiomatika soddalashtirilgan to'plamlar nazariyasiga o'xshaydi.
Asosiy xususiyat-mansublik predikatlari va qo'shimchalar.
Agar ushbu iboradagi variantlar teng huquqli deb hisoblansa komponentlar, keyin erta tanlovni qanday oldini olish aniq emas bo'sh bo'lmagan variantlar ro'yxati bilan bo'sh ro'yxat. Ushbu muammoni hal qilish uchun, LP tizimlarida maxsus ESC shakli (Puffin), harakat joriy etiladi qaysi biri, agar iloji bo'lsa, u" harakat qiladi" ijro etish. Boshqacha qilib aytganda, variantlarni tanlashda ular afzal ko'riladi ESC shaklini bajarishga olib kelmaydigan variantlar. Xuddi shu muammo grammatikadagi bo'sh zanjirlarni qayta ishlashda paydo bo'ladi. O'xshash
muammo talqin qilingan jarayonlarni modellashtirishda hal qilindi Petri tarmoqlari tomonidan Yuklangan o'tishlarning ustuvorligi to'g'risidagi bitim bo'sh bilan taqqoslash.
Xendersonning kitobida mavhum mashinaning umumlashtirilishi keltirilgan,
bilan variantlar bilan asosiy darajada ishlashni qo'llab-quvvatlash
identifikatsiyani kafolatlaydigan qo'shimcha dumpdan foydalanish
variantlarni ko'rib chiqishda mashinaning holati. s e c d r → s' e' c' d' r' Variantlarni filiallarning ta'rifiga o'xshash tarzda taqdim etish, lekin amalga oshirish uchun filialni tanlashni boshqaradigan predikatlarsiz oddiy Java-da variant yozuvlari yoki birlashmalariga o'xshaydi. Ichida ba'zi tillarda, masalan, o'quv va o'yin xarakterida, quyidagilarni ko'rsatish mumkin variantni tanlash ehtimoli. Mantiqiy va genetik tillarda dasturlash variantlarni to'g'ridan-to'g'ri tanlash mumkin deb hisoblanadi, namunalar bilan taqqoslanadigan va muvaffaqiyatsiz bo'lsa, daromadlarni tashkil qilish tanlash. Odatda algoritm va dastur tushunchasi bilan bog'liq deterministik jarayonlar. Biroq, bu tushunchalar unchalik emas
agar cheklangan determinizmga yo'l qo'yilsa, ular yanada murakkablashadi variantlar soni, shuning uchun ularning har bir daqiqasida mavjud faqat bitta variant. Har qanday ifodada siz filiallarni normal holatga belgilashingiz mumkin va o'lik. Puffinlarni turli teglar bilan bog'lash va o'rnatish mumkin belgilangan teglar uchun tuzoqlar. Boshi berk ko'chaga kirganda qiymat hosil bo'ladi tuzoqning ichiga joylashtirilgan butun tuzilish. Puffinlar va tuzoqlardan foydalanib, siz variantlarni saralashni tashkil qilishingiz mumkin birinchi bestupik variantidan oldin yoki barcha bestupikalarni to'plang variantlar. Ikkinchisi displeylar (map) yordamida amalga oshirilishi mumkin, birinchisi birinchi mos keladigan usulni tan oladi, cho engil sifatida amalga oshirilishi mumkin qo'shimcha uzilish tuzog'i bilan o'zgartirilgan evcon
muvaffaqiyatga erishish. Variantlarni tanlashning teng ehtimolini ta'minlash qiyinroq.
Bunday amalga oshirishning eng jiddiy imkoniyati Setl tili loyihasi. Shunga o'xshash mexanizmlar tillarda qo'llaniladi, Grow kabi dizaynga yo'naltirilgan o'yinlar siz buyruqni ishga tushirish sharti sifatida ehtimollikni ko'rsatishingiz mumkin. Sun'iy intellekt vazifalarida semantik tarmoqlar bilan ishlash, bilim bazalarida va ekspert tizimlarida ishlatiladi, ko'pincha
slotli ramkalar (ramka-bo'shliq) nuqtai nazaridan tuzilgan, bu konstruktiv jihatdan tildagi atom xossalari ro'yxati bilan ishlashga juda o'xshaydi Lisp. Har bir ob'ekt nomlangan xususiyatlar to'plami bilan tavsiflanadi, bu, o'z navbatida, har qanday ob'ekt bo'lishi mumkin. Tahlil shu tarzda taqdim etilgan kontseptual tizim odatda tavsiflanadi
deterministik bo'lmagan uslubda.
2. Prolog deklarativ dasturlash tili
Prolog eng mashhur mantiqiy tildir muammolar bilan bog'liq umumiy maqsadli dasturlash
sun'iy intellekt va kompyuter tilshunosligi. U asoslangan birinchi darajali mantiqda va oddiy tillardan farqli o'laroq dasturlash deklarativlikdan ustuvor foydalanadi. Mantiqiy
dastur faktlar sifatida taqdim etilgan munosabatlar nuqtai nazaridan ifodalanadi va qoidalar. Teoremalarni isbotlashni avtomatlashtirish uchun ishlatilgan va ekspert tizimlarini, shu jumladan lingvistik protsessorlarni ishlab chiqish tabiiy tillar. Mantiqiy dasturning bajarilishi quyidagicha tushuniladi munosabatlar tizimi ustidan so'rovga javob. Aloqalar va so'rovlar
ular terma va klauzlardan qurilgan. Prolog dasturlash tili 1972 yilda taklif qilingan
A. Kolmerauer Tomonidan. (Alain Colmerauer), tilning protsessual talqini R. Kovalskiy (Robert Kowalski) tomonidan bajarilgan va 1973 yilda unga tavsif bergan, 1974 yilda nashr etilgan. Tilning amaliyligi tufayli keskin oshdi 1977 yilda D. Uorren (David Warren) kompilyatorini yaratgan belgilarni qayta ishlash tezligini Lisp tilining samaradorligiga yaqinlashtirdi. Tilning semantik asosi sifatida Pure Prolog mavjud, Prolog mashinasining asosiy mexanizmlarini o'rganish uchun qulay. Iterativ algoritmlarni rekursiv sifatida dasturlash mumkin
Xususiyatlari .
Prolog mashinasi mavjud munosabatlar tizimida so'rovga javob izlaydi
va agar topsa, u unga xabar beradi. Pure Prolog tili uchun meta-tarjimon algoritmlari nashr etildi, uning o'zini o'zi qo'llashi va kengayishini ko'rsatish.
Ta'rif Eslatma
Factorial (N, F)
Factorial (0, 1)
Factorial (x+1, F) ← F :=
Factorial (x, y) * (x + 1)
Funktsiya ikkita Klauz tomonidan amalga oshiriladi:
– 0 dan 1 gacha bo'lgan bayonot;
- qiymatlar o'rtasidagi munosabatlar deklaratsiyasi
qo'shni raqamlardagi funktsiyalar

Operatsion sementika, dasturlash tillarini formalizatsiya qilishda va tushuntirishda ishlatiluvchi matematik modeldir. U, dasturlash tillarining o'zining amallarini va mantiqiy bajarish qoidalarini ifodalovchi formal tildir. Operatsion sementika bilan amallar o'qiladi, tahlil qilinadi, va matematik qonunlar bilan ifodalangan dasturlash elementlari o'rganiladi.


2 Mantiqiy dasturlash ma'lumotlarni qayta ishlashni tanlovga kamaytiradi
ta'riflarning ixtiyoriy tarkibi (tenglamalar, predikat shakllari),
muvaffaqiyatli natija beradi. Bu formulalarni qayta ishlash
bu asosdir-hisoblash operatsiya sifatida ko'rib chiqiladi
formula bilan. Muvaffaqiyatsiz bo'lsa, boshqa variantlar haddan tashqari ko'payadi
ta'riflar. LP tillarida variantlarni to'g'ridan-to'g'ri tanlash mumkin deb hisoblanadi,
namunalar bilan taqqoslanadigan va muvaffaqiyatsiz bo'lsa, daromadlarni tashkil qilish
tanlash. Variantlarni haddan tashqari oshirib yuborish grafikni chuqurlikka aylantirishga o'xshaydi. Mavjud
bila turib yo'q qilish uchun haddan tashqari nazoratni boshqarish vositalari
umidsiz qidiruv. Deterministik bo'lmagan ishlarni bajarish uchun talqin qiluvchi avtomat
jarayonlarni hisoblashni davom ettirish tsikli sifatida tasavvur qilish mumkin
diagnostika holatiga kirish. Davomi quyidagilardan iborat
funktsional ob'ekt ta'riflari to'plamidan boshqa variantni tanlash.
Hisoblash muvaffaqiyatsiz deb tan olinadi, agar uni tanlash imkoni bo'lmasa
formulaning qiymatini hisoblash imkonini beradigan variantlar to'plami.
Ko'p elementlardan farqli o'laroq, variantlar to'plami quyidagilarni talab qilmaydi
barcha tarkibiy qismlarning bir vaqtning o'zida mavjudligi. Shuning uchun
variantlarni dasturlash zaruratdan xalos bo'lishi mumkin
bir vaqtning o'zida barcha variantlarni shakllantirish. Mantiqiy dasturlashda
formulalar namunalari o'rtasidagi munosabatlar variantlari haqida o'ylashingiz mumkin
asta-sekin, haqiqiy faktlar va ularning kombinatsiyalarini to'plash.
Tarkib jihatidan bunday jarayon ishlovchilar to'plamini takomillashtirishga o'xshaydi
uskunalar darajasida uzilishlar. Asosiy dasturdan tashqari,
maqsadli ma'lumotlarni qayta ishlashni amalga oshirib, to'plam disk raskadrovka qilinadi
diagnostik reaktsiyalar va har xil turdagi hisob-kitoblarni davom ettirish protseduralari
natijaga to'sqinlik qiladigan kutilmagan hodisalar
dasturlar.
Shuni yodda tutish kerakki, variantlar ierarxiyani tashkil etmaydi. Ular
aksiomatika soddalashtirilgan to'plamlar nazariyasiga o'xshaydi. Odatda algoritm va dastur tushunchasi bilan bog'liq
deterministik jarayonlar. Biroq, bu tushunchalar unchalik emas
agar cheklangan determinizmga yo'l qo'yilsa, ular yanada murakkablashadi
variantlar soni, shuning uchun ularning har bir daqiqasida mavjud
faqat bitta variant.
Har qanday ifodada siz filiallarni normal holatga belgilashingiz mumkin
va o'lik. Puffinlarni turli teglar bilan bog'lash va o'rnatish mumkin
belgilangan teglar uchun tuzoqlar. Boshi berk ko'chaga kirganda qiymat hosil bo'ladi
tuzoqning ichiga joylashtirilgan butun tuzilish.
Puffinlar va tuzoqlardan foydalanib, siz variantlarni saralashni tashkil qilishingiz mumkin
birinchi bestupik variantidan oldin yoki barcha bestupikalarni to'plang
variantlar. Ikkinchisi displeylar (map) yordamida amalga oshirilishi mumkin, birinchisi
birinchi mos keladigan usulni tan oladi, cho engil sifatida amalga oshirilishi mumkin
qo'shimcha uzilish tuzog'i bilan o'zgartirilgan evcon
muvaffaqiyatga erishish.
Variantlarni tanlashning teng ehtimolini ta'minlash qiyinroq.
Bunday amalga oshirishning eng jiddiy imkoniyati
Setl tili loyihasi. Shunga o'xshash mexanizmlar tillarda qo'llaniladi,
Grow kabi dizaynga yo'naltirilgan o'yinlar
siz buyruqni ishga tushirish sharti sifatida ehtimollikni ko'rsatishingiz mumkin.
Sun'iy intellekt vazifalarida semantik tarmoqlar bilan ishlash,
bilim bazalarida va ekspert tizimlarida ishlatiladi, ko'pincha
3.Operatsion sementika dasturlash tillariga bog’liqligi
Operatsion sementika, quyidagi nuqtalarda dasturlash tillari bilan bog'liqdir:
Dasturlash Tillarini TushuntirishOperatsion sementika, dasturlash tillarining amallarini va mantiqiy bajarish prinsiplarini matematik tilda ifodalashda yordam beradi. Bu, dasturlash tillarini tushunishda va o'rganishda yordam beruvchi asosiy qo'llanmadir.

  1. Dasturlarning Tahlili va Bajarilishi Operatsion sementika, dasturlarning tahlili, ishga tushirilishi, va shartlar orqali aniqlangan bajarish tartibini ifodalaydi. Bu, dasturlarni tahlil qilish, xato izlash va tuzatish, shartlar bilan bajarishni tushunishda yordam beradi.

  2. Mantiqiy Bajarish Formalizatsiyasi Dasturlash tillarining mantiqiy bajarishni formalizatsiya qilishda operatsion sementika muhim rol o'ynaydi. U, mantiqiy ifodalar, shartlar, va loyihalarni formalizatsiya qilishda yordam beradi.

  3. O'zgaruvchanlar va Yangiliklar Operatsion sementika, dasturlash tillaridagi o'zgaruvchanlarni formalizatsiya qilish, ularning o'zgarishlarini va yangiliklarini tushunishda yordam beradi.

  4. Dastur Tuzatilishi va Dasturlar Bilan Ishlash Operatsion sementika, dasturlarni tuzatishda va ular bilan ishlashda formalizatsiya qilishda qo'llaniladi. U, dastur tuzatish, yaratish, va ulashish jarayonlarini tushunishda yordam beradi.

Operatsion sementika, dasturlash tillarini matematik tilda ifodalash va tushuntirishda juda muhim bo'lib, dasturlash sohasida ishlayotgan mutaxassislar uchun muhim bir asosdir. U, dasturlash sohasidagi mantiqiy bajarishni formal va to'g'ri ifodalashda yordam bera oladi

Yüklə 187,26 Kb.

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




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

    Ana səhifə