Методнинг асосий босқичлари ва объектлари



Download 120,46 Kb.
bet5/6
Sana08.07.2022
Hajmi120,46 Kb.
#757891
1   2   3   4   5   6
Bog'liq
Avvalgi qismda

Рекурсив суперкомпозиция.
Рекурсив суперкомпозиция, рекурсив композиция сингари, рекурсив функция ёрдамида амалга оширилади:
d1 = (l1, {l2, l1}, l3);
d2 = {l4, (l1, l5)};
d3 = (l6, l2);
Func(tree, 0) = tree;
Func(tree, n) = Func(tree[11->d2, 12->d3], n-1);
Func(d1, 2);
Натижа:
({14,({14,(11,15)},15)},
{(16,(16,12)),{14,({14,(11,15)},15)}},13)
Тавсия етилган тилдан турли хил тўпламларнинг хусусиятларини ўрганиш учун кенг фойдаланиш мумкин, ишлаб чиқариш алгоритмларини тузиш усули ва бўлган комбинаториал объектларни рақамлаш тилнинг асоси бунга жуда мос келади.
Баландлиги йўқ бўлган иккилик дарахтларни яратиш н дан ортиқ, ёза оламиз
w(0) = ;
w(n)={w(0),w(n-1),w(n-1),(w(n-1), w(n-1))};
Бу ерда w- бу чақириладиган рекурсив функция дарахт керакли дарахт.
Ўсиб бораётган дарахтларни яратиш учун сиз ёзишингиз мумкин:
sum(low, high, cur, iter_func, tree) =
sum(low, high, cur+1, iter_func, tree[ +iter_func(high, cur)]);
sum(low, high, high, iter_func, tree)= tree[+ iter_func(high, high)];
sum(low, high, iter_func) = sum(low,high, low, iter_func, {});
iter_w(n, i)=(w(i), w(n-i), C(i, n));
w(0) = ;
w(n) = sum(0, n-1, iter_w);
Таклиф қилинган тил ёрдамида [3] да муҳокама қилинган барча авлод алгоритмларини ёзиш мумкин.
Тил таржимони кутубхонага асосланган аотрее Андоза синфини амалга ошириш. Бу синф-бу амалга ошириш "дарахт ва / ёки" маълумотлар тузилиши ва оммавий-мос келади.
Бу ҳисоблаш учун алгоритмларни амалга оширади дарахт вариантлари ва / ёки, дарахт вариантларини яратиш ва рақамлаш алгоритмлари ва / ёки [3], амалга оширади бир неча турдаги дарахтларни кесиб ўтиш учун итераторлар ва дарахт вариантларига кириш учун итераторлар ВА / ЁКИ. Генераторни тавсифлаш тилининг таржимони tilda ёзилган дастурларнинг барча елементларига киришни таъминлайди, бу еса таржимонни турли хил дастурий тизимларда ишлатишга имкон беради.
Дастурда генераторни тавсифлаш тилининг таржимонидан фойдаланиш мисолини кўриб чиқамиз комбинацион генераторни яратиш учун C++ тили. Яратилган қийматлар тест тизимининг киришига берилади:
Interpreter interpret;
string program = «\C(m, n) = {C(m, n-1), C(m-1, n-1)};\
C(m, m) = ;\
C(0, n) = ;\
var(C(2, 4), 3);»;
aotreevariant = interpret.run(program);
TestSystem<Ушбу мисолда генераторни тавсифлаш тилида ёзилган дастур ёрдамида дарахт қурилишининг рекурсив таркиби тасвирланган Ва / ёки комбинациялар учун дарахт қурилмоқда ва / ёки C (2, 4) ва ҳосил бўлган дарахтдан 3-сонли дарахт варианти чиқарилади. Олинган variant variant ўзгарувчисига жойлаштирилган ва VariantConverter, класси томонидан конвертация қилинганидан сўнг, TestSystem синов остида тизимнинг киритилишига берилади.
typedef aotreerestree;
Interpreter interpret;
string program = «\C(m, n) = {C(m, n-1), C(m-1, n-1)};\
C(m, m) = ;\
C(0, n) = ;\
C(2, 4);»;
restree tree = interpret.run(program);
for(restree::variator v=tree.vbe-gin(); v!=tree.vend(); v++)
TestSystem << VariantConverter(v);
Ушбу мисолда комбинация дарахтининг барча вариантлари C (2, 4) ёрдамида олинади iterator аотрее синф вариантларининг. Юқоридаги мисоллардан кўриниб турибдики, тил таржимонидан фойдаланиш жуда оддий, код миқдори сезиларли даражада камаяди ва C++да ушбу мисолларни тўғридан-тўғри дастурлаш ҳолатига қараганда аниқроқ.
Хулоса
1. Комбинаториал тўплам генераторларини қуриш ва тадқиқ қилиш учун universal восита таклиф етилади, бу комбинаториал тўпламни рекурсив дарахт таркиби схемаси ва/ёки шаклида намойиш етишга асосланган вариантларни яратиш ва рақамлаш алгоритмлари.
2. Дарахтларнинг рекурсив композициялари схемаларини ва/ёки ва уларни таҳлил қилиш асосида тавсифлашга имкон берадиган янги функционал тил тасвирланган, ўрганилаётган комбинаториал тўпламга мос келадиган вариантларни яратиш ва рақамлаш алгоритмларини яратиш.
3. Тизим кутубхонасини кенгайтириш каби воситани амалга оширишнинг бир варианти таклиф етилади C++ дастурлаш тили учун СТЛ.

Download 120,46 Kb.

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




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