Пәндердің оқу-әдістемелік кешенінің тізімдемесі



бет53/85
Дата11.10.2023
өлшемі2.35 Mb.
#480347
1   ...   49   50   51   52   53   54   55   56   ...   85
Сараптаушы жүйелер

Екi тiзiмдi беттестiру.
Бұл есептi келесi өрнек түрiнде жазуға болады:
а) негiзгi түсiнiктемесiнде, егер бос тiзiмге [ ] Р тiзiмiн қосса, онда нәтижесiнде Р пайда болады.
б) Егер Р тiзiмiн С тiзiмi соңына қосса, егер Р С соңына қосылса және В басына бiрiктiрiлсе бұл рекурсиялық жағдайы болады. Пролог-Д-да предикаттарды мына түрде жазуға болады:
добавить([],[P],[P]);
добавить(C,P,B)<- равно(C,[X,Y]),добавить(Y,P,Z),
равно(B,[T,Z]);.
Жоғарыдағыларға Пролог-Д-ның семантикалық процедура қасиетiн қолданғанда бұл программаны қысқартуға болады:
присоединить([],[P],[P]);
присоединить([X|Y],P,[X|T])<-присоединить(Y,P,T);.
Мысалы, осы базалық бiлiмге сұрақ қойылса,
?присоединить(L,[Джим |R],[Джек, Билл, Джим, Тим, Джим, Боб];,
онда жауап мына түрде алынады:
L=[Джек, Билл] R=[Тим, Джим, Боб] L=[Джек, Билл, Джим, Тим] R=[Боб].

Тапсырмалар



  1. Элементтерi бүтiн өспелi болатын сұрыптау тiзiмiн сипаттайтын берiлгендер қорын жазыңыз.

  2. Айналу тiзiмiн сипаттайтын бiлiм қорын жазыңыз. (бiрiншi элемент соңы болатын)

  3. Тiзiмнен п-нөмiрлi элементтi табуды сипаттайтын бiлiм қорын құрыңыз.

  4. Тiзiмнен п-шi элементтi жоюды сипаттайтын бiлiм қорын жазыңыз.

  5. Элементтерi бүтiн кемiмелi болатын сұрыптау тiзiмiн сипаттайтын берiлгендер қорын жазыңыз.



Зертханалық жұмыс №6


Тақырыбы: Пролог-Д жүйесінде рекурсияны қолдану.
Жұмыстың мақсаты: Пролог-Д жүйесінде рекурсияны қолдануды түсіндіру.


Теориялық бөлім
Біршама көлемді есептерде объектілер арасындағы қатынасты анықтау үшін рекурсия аталатын ереже пайда болады.
1-мысал. Екі санның ең үлкен ортақ бөлгішін есептеу. Берілген екі санның ЕОБ табылатын предикаттың НОД аты және үш аргументі: a, b саны және НОД – c мәні болады. ЕОБ-ті есептеуді сипаттау үшін келесі өрнекті қарастырамыз.
Біріншіден, егер a=b болса, онда c=a=b.
Екіншіден, егер a>b болса, b және a - b үшін ЕОБ-ті есептеу қажет.
Үшіншіден, егер b>a болса, a және b – a сандары үшін ЕОБ есептеу қажет.
Бұл тұжырымдамаларды Пролог-Д тілінде жазылуы қажет.
нод (а,а,а);
нод (а,b,c)<-БОЛЬШЕ(а,b), нод(b,#a-b#,c);
нод (а,b,c)<-БОЛЬШЕ(b,а), нод(a,#b-a#,c);
Егер осы білім қорына сұрақ қойсақ:
?нод (10,25,x);
Пролог-Д жүйесінің жауабы:
x=5
Басқа шешім жоқ.


Достарыңызбен бөлісу:
1   ...   49   50   51   52   53   54   55   56   ...   85




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет