Логикалық программалау тілі Пролог. Логикалық нәтижелер.
Программалау тілінің бір нұсқасы 1971 жылы жарыққа шықты. Операциялық жүйе өзгеруіне байланысты оның көптеген жаңа нұсқаулары пайда болды. Мысалы, Пролог Des(1981), микропролог (1982), Пролог 2.0, Turbo Пролог (1986), Visual Prolog (Windows операциялық жүйесінде жұмыс жасайды). Көбіне Turbo Пролог қолданыста. Бұл нұсқалардың әлі күнге дейін бір-бірінен айырмашылықтары бар.
Логикалық пікірлер тұжырымдары программалау тілінде жазу идеясынан пайда бола бастады. Қазіргі барлық компьютер Фани Нейман принциптеріне негізделіп құрылғандығы белгілі, яғни компьютердің жады процессор регистрларының болуы міндетті, ал мұндай компьютердің программасы белгілі бір операцияларды орындайтын компьютер тізбегінен тұрады. Сондықтан да компьютер адамның әрекетіне ұқсас нұсқаларды орындау үшін алгоритмдік программалау тілдері құрастырылған, ал логикалық программаларда компьютерге арналған компьютер нұсқаулар тізбегінен тұратын программа емес есепті шығарудың абстрактілі модельін сипаттау жазылады. Бұл сипаттау логикалық аналогиялар түріне келтіріледі.
Мысалы, семьядағы туыстық қатысты сипаттау үшін оның абстрактілі программа модельі екі қатыстан және оларды формальды сипаттаудан тұрады.
Akesi(alimjan, meruert)
Akesi(sultan,meruert)
Akesi(murat, nurmahan)
Prolog бес буын тіліне жатады. Нақты мәселелерді шешу үшін Prolog құрылатындықтан декларативті тіл, Прологқа қажетті фактілер мен заңдар мен заңдарды енгізеді, ал пролог есепті шығару үшін дедуктивті қорытындылауды пайдаланады. Прологтың синтаксисінде қазақ әріптері болмайтындықтан оларды алып жазамыз.
Turbo Prolog-тың кілттік сөздері Predicates – бұл предикаттар бөлімінің атауы. Мұнда предикат аты аргументтердің типтері көрсетіліп сипатталады. Бірнеше предикаттар қолданылады. Егер предикаттар бөлімінде аргумент типін көрсетпесе тек идентификаторды жазатын болса, онда аргумент типтерін жазу үшін арнайы бөлім. Ұйғарымдардың атауы – Domains.
Сөйлемдер мен ұйғарымдарды жазу үшін Clauses бөлімі ұйымдастырылады. Қысқаша айтсақ бұл фактілер мен ерекшелер енгізілетін негізгі бөлім. Мысалы1,
Domains
Clauses
Ауа-райы(24,18)
Ауа-райы(25,17)
Ауа-райы(25,16)
Ауа-райы(25,15)
X =integer
Predicates
Ауа-райы(x, y)7
Мысалы2,
Predicates
Аударма (String, string)
Clauses
Аударма («қол»,рука)
Адарма («аяқ»,нога)
Аударма («еден»,пол)
Аударма («қол»,рука)
Turbo прологта қолданылатын негізгі стандартты типтер: integer, real, char, string. Turbo Прологта мақсат бөлімі (цель) прологтың орындалу мақсатында ұйымдастырылады. Жауап алу үшін берілгендер қоры қойылатын сауал сұрақ делінеді. Сұраққа енгізілетін фактілерді мақсаттар деп атайды. Сұрақ пернетақтадан фактілер немесе ережелер түрінде енгізіледі. Оған сұрақ белгісі және сызықша таңбалар жиынтығы қолданылады. Ол жүйені шақыру белгісі деп аталады. Сұрақ соңына нүкте қойылады. Сұраққа жауап «ия» немесе «жоқ» түрінде және аргументтер айнымалы түрінде болса оларға сәйкес нақты мәндер шығарылады. Сұрақ және терезеде немесе программа соңында қойылы береді.
Мысалы, ? – («еден», Х), цель: ауа райы(А,17). Прологта айнымалы міндетті түрде бас әріппен жазылады. Мысалы, А, Х, Сан. Айнымалы- бір объектіні белгілеу үшін қолданылатын символ немесе символдар тиізбегі.
Терм
Тұрақтылар
Айнымалалар
Құрылым
Атомдар
Сандар
Функторлар
Компонеттер
Достарыңызбен бөлісу: |