5-мавзу. Функционал дастурлаш



Download 47,34 Kb.
bet3/7
Sana23.02.2022
Hajmi47,34 Kb.
#147092
1   2   3   4   5   6   7
Bog'liq
5-mavzu (1)

(QUOTE (A B C) )константа (A B C) элон қилинган
QUOTE функцияси дастурнинг дарахтсимон структурасида белгиланган контейнер вазифасини бажаради. Унинг ёрдами билан ҳар қандай ифодани контейнерга жойлаб қўйиш мумкин. Контейнер такибига жойлаб қўйилган ифодалар устида хеч қандай амаллар бажарилмайди деб белгилаб қўйилган.
6) Тармоқланиш (шартли ифода) COND (condition) махсус функцияси билан таъминланади, унинг аргументлари предикатлар ва уларга мос келадиган ифодаларни ўз ичига олган икки элементли рўйхатлардир. Aргументлар сони ҳар қандай бўлиши мумкин, аммо улар махсус схема бўйича қайта ишланади: биринчи навбатда, аргументларнинг биринчи элементлари “ҳақиқий” қийматига эга предикат топилмагунча, кетма-кетлиги тартибда ҳисобланади. Кейин ушбу аргументнинг иккинчи элементи танланади ва унинг қиймати ҳисоблаб чиқилади, олинган натижа шартли ифоданинг қиймати ҳисобланади.
Ҳар бир pi предикат ёки ei тармоғи ҳар қандай формада бўлиши мумкин: ўзгарувчан, константа, функция чақируви, функция композицияси, шартли ифода.
(COND (p1 e1) (p2 e2) ... (pk ek) )
| |______|________|______шартли ифоданинг тармоқлари
|_____|_________|_________тармоқни танлаш предикати
Моҳиятига кўра QUOTE, COND, LAMBDA ва LABEL функциялари таркиби жиҳатдан структурали дастурлашга яқин дастурлаш услубини қўллаб-қувватлайдиган дастур ва жараёнларни бошқариш воситаларининг асосий тўпламини ташкил этади.
Бу ерда эълон қилинган QUOTE, COND, LAMBDA ва LABEL махсус функциялари аргументларни қайта ишлаш қоидасидаги CAR, CDR, CONS, ATOM, EQ – элементар функцияларидан сезиларли даражада фарқ қилади. Оддий функциялар илгари дастурлаш тизими томонидан ҳисобланган аргументларнинг функцияларини функцияларнинг ҳақиқий параметрлари формулаларидан олади. Махсус функциялар параметрларнинг бундай қайта ишлашини талаб қилмайди. Ҳақиқий параметрларнинг рўйхати ёрдамида улар ўзлари учун зарур бўлган ҳамма нарсани қилишлари мумкин.
7) Таърифлар рекурсив бўлиши мумкин.
2-мисол. Янги “премьер” функцияси исталган маълумотдан биринчи атомни танлайди.

(LABEL премьер (LAMBDA (x)(COND ((ATOM x) x)


(T (премьер (CAR x))) )))

8) Ҳақиқий боғланиш механизми ҳали аниқланмаган.
Элементар Лиспнинг асосини C-ифодалар учун, CAR, CDR, CONS, ATOM, EQ – бўйича бешта функция ва дастурлар ҳамда жараёнларни бошқаришни – QUOTE, COND, LAMBDA, LABEL функционал объектларини қуришни таъминлайдиган тўртта махсус функциялар ташкил этади.
Бундай асосда конструкцияларни татбиқ этишнинг аниқ чегаралари EVAL универсал функциясининг таърифи шаклида аниқланади, бу эса рўйхатлар кўринишида келтирилган ифодаларнинг қийматларини ҳисоблаш имконини беради – бу ибораларни талқин қилиш қоидаси.
Бундай ягона маълумотлар структураси ҳар қандай мураккаб дастурларни тақдим қилиш учун етарли даражада бўлиб чиқди.
Дастурнинг бажарилиши муҳим аҳамиятга эга бўлган ифодаларни ифодаловчи маълумотларнинг талқини сифатида ташкил этилган.
9) Функцияларни аргумент ёки натижа сифатида ишлатиб, функционалларни етарли даражада эркин дастурлаш имконияти.
3-мисол. Берилган fn функцияси ёрдамида, компонентлар бўйича иккита рўйхатни қайта ишлаш функциясини аниқланг:
(defun map-comp (fn al vl); AL ва VL элементларга тегишли бўлган fn-ни компонентлар бўйича қўлланилаш
(cond
(xl (cons (funcall fn (car al) (car vl)); берилган FN ни, функцияга ўхшаб чақириш
(map-comp (cdr al) (cdr vl))
) ) ) )
Рўйхатлар билан ифодаланган векторлар бўйича компонентлар устида операцияларни бажариш мумкин. Суммалар, маҳсулотлар, жуфтликлар ва мос келадиган натижалар рўйхатлари:
(map-comp #'+ '(1 2 3) '(4 6 9)); = (5 8 12 ) Суммлар

Download 47,34 Kb.

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




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