Dasturlash uslublari va paradigmalari fanidan oraliq nazorat savollari


Download 37.01 Kb.
bet4/7
Sana24.12.2022
Hajmi37.01 Kb.
#1053836
1   2   3   4   5   6   7
Bog'liq
Shuhrat Hamroyev 5

Merosxo’rlik- bu ajdodlar sinfining (ba'zan supersinf deb ataladi) barcha xossalari va usullarini saqlab qolgan holda bir sinfni boshqasidan olish va kerak bo'lganda yangi xususiyatlar va usullarni qo'shish qobiliyatidir. Meros real dunyoning ierarxiya kabi xususiyatini aks ettirish uchun mo'ljallangan.
Polimorfizm - bu nasl sinflari ajdodlar sinfining usulini amalga oshirishni o'zgartirishi mumkin bo'lgan hodisa bo'lib, uning imzosini saqlab qoladi (shunday qilib, ajdodlar sinfining interfeysi o'zgarmagan holda saqlanadi). Bu sizga avlod sinflari ob'ektlarini, ularning usullarini amalga oshirish har xil bo'lishi mumkinligiga qaramay, bir xil turdagi ob'ektlar sifatida ko'rib chiqish imkonini beradi.
Inkapsulyatsiya - bu printsip bo'lib, unga ko'ra har qanday sinf qora quti sifatida ko'rib chiqilishi kerak - sinf foydalanuvchisi faqat interfeysni ko'rishi va undan foydalanishi kerak (inglizcha interfeysdan - tashqi ob'ekt, ya'ni e'lon qilingan xususiyatlar va usullar ro'yxati). sinfning va uning ichki bajarilishini o'rganmang. Ushbu tamoyil (nazariy jihatdan) sinflar orasidagi bog'lanishlar sonini minimallashtirishga va shunga mos ravishda sinflarni mustaqil amalga oshirish va o'zgartirishni soddalashtirishga imkon beradi.

  1. Funksional dasturlash paradigmasi haqida bayon qiling( LISP tili, Scheme tili, funksinal dasturlashning uchta asosiy tamoyili,ifodalarni hisoblash).

  • Funktsional dasturlash - bu dasturlash paradigmasi bo'lib, unda hisoblash jarayoni funktsiyalarning qiymatlarini matematik ma'noda hisoblash sifatida talqin etiladi.

Funktsional dasturlash - kiritilgan ma'lumotlardan funktsiyalar natijalarini va boshqa funktsiyalar natijalarini hisoblashdan iborat bo'lib, dastur holatini aniq saqlashni nazarda tutmaydi.
Eng mashhur funktsional dasturlash tillari:

  1. Lisp (John McCarthy, 1958) va uning ko'pgina dialektlari, eng mashhurlari sxema, Clojure va Common Lisp;

  2. Erlang (Joe Armstrong, 1986) - bu jarayonlarni qo'llab-quvvatlaydigan funktsional til, shuningdek, uning bevosita avlodi Elixir;

  3. APL-MATLAB kabi zamonaviy ilmiy hisoblash muhitlarining asoschisidir;

  4. Miranda (David Turner, 1985) va uning bevosita avlodi, sof funksional til Haskell;

  1. Funksional dasturlash paradigmasida lyambda hisoblash tushunchasi(abstraksiya, aplikatsiya, matematik mantiq, funksional dasturlash asosi,funksiya parametrlari, funksiya tanasi).

  • Funktsional dasturlash, asosan, matematikaning lambda hisobi deb ataladigan bo'limidan kelib chiqadi. Funktsional dasturlash kontseptsiyasini tashkil etuvchi lambda hisobining ikkita asosiy printsipi:

  1. Lambda hisobida barcha funksiyalar anonim bo'lishi mumkin, chunki funktsiya sarlavhasining yagona mazmunli qismi argumentlar ro'yxatidir.

  2. Chaqirilsa, barcha funksiyalar o'tish jarayonidan o'tadi. Bu quyidagicha: agar funktsiya bir nechta argumentlar bilan chaqirilsa, u holda dastlab u faqat birinchi argument bilan bajariladi va 1 ta kam argumentni o'z ichiga olgan yangi funktsiyani qaytaradi, u darhol chaqiriladi Bu jarayon rekursivdir va barcha argumentlar qo'llanilmaguncha davom etadi va yakuniy natijani qaytaradi. Funktsiyalar sof bo'lgani uchun bu ishlaydi.

  1. Scheme tili haqida bayon qiling(funksional dasturlash,atom, ruyxat, define, prefiksli notatsiya).

  • Scheme - funktsional dasturlash tili bo'lib, uchta eng mashhur Lisp dialektlaridan biri (Common Lisp va Clojure bilan birga). 1970-yillarning oʻrtalarida MIT tadqiqotchilari Guy L. Steele va Jerald Jey Sussman tomonidan yaratilgan. U minimalist dizaynga ega, minimal ibtidoiy tuzilmalarni o'z ichiga oladi va ularning ustiga qurish orqali sizga kerak bo'lgan hamma narsani ifodalashga imkon beradi. Masalan, u faqat ikkita aylanish mexanizmidan foydalanadi - buyruq rekursiyasi va iterativ yondashuv.

  1. Scheme tilida ruyxatlar bilan ishlashga mo’ljallangan funksiyalar haqida bayon qiling(car, cdr,map, null?,list,elementlar, ruyxat elementlarini chop etish).

  • LISP - ro'yxatni qayta ishlash. Ro'yxat sxema tilining asosiy ma'lumotlar tuzilmasi hisoblanadi.


Download 37.01 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7




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