Тізімдер:
Әр түрлі (жоғарыда аталған (және төменде көрсетілген) түрлердің кез келген комбинациясы бар)
Салынған
Құрылымдар
? - A = aaa (bb), B = aaa (bbbbbbb, 123, [456, c]), C = ccc (ddd (eee), fff, g (h (i (j (kkkkk)))))).
A = aaa (bb),
B = aaa (bbbbbbb, 123, [456, c]),
C = ccc (ddd (eee), fff, g (h (i (j (kkkkk))))))
Интуитивті мысал:
?- Family = family(father(bill, age(37)), mother(ann, age(34)), children([son(john, age(10)), daughter(jill, age(8))])).
Family = family(father(bill, age(37)), mother(ann, age(34)), children([son(john, age(10)), daughter(jill, age(8))]))
Алғашқы құрылымда функционал (құрылым атауы, содан кейін жақшаға дейін) және параметрлер (содан кейін жақша ішінде) болады. Параметрлер саны функцияның арийлігі деп аталады. Көріп отырғаныңыздай, құрылымдарды да салуға болады.
Біріктіру - SWI-Prolog тіліндегі ең маңызды операция. Салыстыру теңдікке қатысты екі терминді салыстырады, ал нақты емес айнымалылар шарттар бірдей болатын мәндерді алады. Салыстыруды анық немесе ереженің негізгі бөлігінде X = Y бекітілген предикатты қолдана отырып немесе нысанды фактімен немесе ереженің басымен сәйкестендіру кезінде анық жүргізуге болады. Салыстыру логикалық бағдарламалауда мәліметтерді өңдеудің негізгі операцияларын жүзеге асырады:
бір тапсырма
өту параметрлері
құрылымдық нысандарды құру,
бір уақытта оқу / жазу мүмкіндігі бар құрылымдық нысандардың өрістеріне қол жеткізу.
Сәйкестік келесі ережелерге сәйкес жүзеге асырылады:
Анықталмаған айнымалы кез келген объектімен салыстырылады және бұл объект айнымалы мәнге айналады (инстанция).
Сандар мен атомдарды тек бірдей сандар мен атомдармен салыстыруға болады.
Құрылымдар бірдей функциялы, компоненттер саны бірдей және сәйкес компоненттер бір-бірімен үйлесімді болған жағдайда ғана салыстыруға болады.
Анықталмаған айнымалыларды бір-бірімен салыстыруға болады және олар біріктіріледі. Егер олардың біреуі белгілі бір мәнге ие болса, онда басқа айнымалының мәні бірдей болады.
Бағдарламалаушы SWI-Prolog логикалық синтаксисіне сәйкес әртүрлі қосалқы бағдарламалар үшін қандай немесе қандай нәтиже беретіні туралы фактілер мен ережелер туралы жариялайды, ал ішкі біріктіру жұмыстары қалған жұмыстарды атқарады.
Біріктірудің ішкі тәртібі айнымалыларды да білдіреді. Көрсетілген айнымалылар мен тұрақты мәндер Прологқа «белгілі» мәндерге ие. Тегін айнымалыларда мән болмайды.
Қайта оралу
Қайта оралу - Пролог мақсатты есептеудің қазіргі әрекеті сәтсіз болған жағдайда қосымша фактілер мен ережелерді табуда қолданылатын механизм. Пролог жаңа шешімдерді сынап көру үшін кері айналымды қолданады. Пролог қажетті бағытты таңдау үшін барлық қол жетімді ақпаратты пайдаланады.
Достарыңызбен бөлісу: |