Funktsional Tillar


Download 25.5 Kb.
bet5/6
Sana14.12.2022
Hajmi25.5 Kb.
#1005550
1   2   3   4   5   6
Bog'liq
8-Амелий узб

Ta'rif

Eslatma

(DEFUN map-comp (Fn al vl)


(COND (al
(CONS (FUNCALL fn (CAR al)


(map-comp (CDR al) (CDR
vl))
))) )

fn
mos keladigan al va vl elementlariga mos ravishda qo'llaniladi
al bo'sh bo'lgunga qadar
biz Fn natijasini
boshlardan biriktiramiz Al va VL
o'zgartirilgan
qolgan elementlar ro'yxatiga



(map-comp #'+ '(1 2 3) '(4 6 9))

= (5 8 12) miqdorlar

(map-comp #'* '(1 2 3) '(4 6 9))

= (4 12 27) Ishlar

(map-comp # ' CONS '(1 2 3) '(4 6 9))

= ((1 . 4) (2 . 6) (3 . 9)) juftliklar

(map-comp # ' EQ '(4 2 3) '(4 6 9))

= (T NIL NIL) taqqoslash



22-misol. Ro'yxatlar bilan ifodalangan vektorlar bo'yicha komponentli harakatlar

Ta'rif

Eslatma

(DEFUN mapf (fl el)
(COND (FL
(CONS (FUNCALL (CAR fl) el)

(mapf (CDR fl) el)


))))

fl bo'sh

keyingi natijani qo'shing


bo'lmaguncha, el dan keyingi funktsiyaning
natijasini qolgan funktsiyalar natijalari ro'yxatiga qo'shing
xususiyatlari

(mapf '(Length car CDR) '(a b c d))

= (4 a (b C d))

23-misol. Funktsiyalar ro'yxatini umumiy argumentga qo'llash




Bunday funktsional kompozitsiyalar bir qator funktsiyalarni umumiy argumentlar ro'yxatiga yoki ularning argumentlari ro'yxatlarining parallel ravishda berilgan ketma-ketligiga qo'llashi mumkin. Tabiiyki, ikkala seriya va ketma-ketliklar ro'yxatlar bilan ifodalanadi.


Bunday formulalar to'plamlar, grafikalar va metallingvistik formulalarni modellashtirishda qulaydir va ularni qayta ishlash nafaqat informatika fanida, balki keng ko'lamli muammolarni kamaytiradi.



Download 25.5 Kb.

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




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