Misol:
> map(int,[x,x^2,x^3],x);
> map2(diff,x^y/ln(z),[x,y,z]);
map va map2 komandalarini massiv yoki jadval elementlari uchun ham qo'llasa bo'ladi. Agar ro'yxat yoki to'plam o'rnida algebraik ifoda kelsa, u holda map va map2 larda ko'rsatilgan funksiya yoki komanda algebraik ifodaning barcha hadlari uchun qo'llaniladi. add va mul komandalari mos ravishda ketma-ketlik elementlarining yig'indisi yoki ko'paytmasini hosil qilib beradi.
Misol:
> add(sin(i),iq[x,y,z]);
> mul(sin(i),iq[x,y,z]);
select komandasi ro'yxat yoki to'plam elementlaridan ma'lum talabga javob beradiganlarini tanlab beradi.
Misol:
> sq:=x->is(x^2>1);
Bu yerda sq–«agar x^2>1 bo'lsa» mantiqiy ifodaning qiymatini aniqlovchi funksiya.
> l:=[1,Pi,exp(1),0];
> select(sq,l);
Misoldagi, select komandasi l ro'yxatning 1 dan katta elementlarini ajratib beradi. remove komandasi select komandasiga teskari vazifani bajaradi.
Misol:
> remove(sq,l);
Ro'yxat yoki to'plam elementlari ustida select va remove komandalarini birgalikda qo'llash mumkin, natijada 2 ta qismiy ro'yxat yoki to'plam hosil bo'ladi.
Misol:
> selectremove(sq,l);
select, remove va selectremove komandalari uchun mantiqiy funksiyani alohida tuzib olmasdan, is funksiyasini qo'llab, mantiqiy shartni komandalarning uchinchi parametrlari sifatida berish mumkin.
Misol:
> select(is,l,RealRange(Open(1),infinity));
bu yerda is «tegishli bo'lsa» funksiyasi sifatida qo'llanilgan, RealRange(Open(1), infini-ty) esa (0;() oraliqni ifodalaydi.
> select(type,l,numeric);
bu yerda, type funksiyasi(komandasi) l ro'yxatning butun elementlarini ajratib beradi, or komandasi esa ikkita ro'yxat elementlarini birlashtirib, yangi ro'yxat tuzib beradi.
Dostları ilə paylaş: |