TOPREFERAT.COM.KZ - Қазақша рефераттар

войти на сайт

вход на сайт

Логин: :
Пароль :

Забыл пароль Регистрация

Логикалық программалау реферат




Логикалық программалау реферат
0
Раздел: Соңғы қосылған | Автор: Админ | Дата: 13-03-2015, 12:04
Загрузок: 3189


Тақырыбы. Логикалық программалау

МАЗМҰНЫ

КІРІСПЕ.............................................................................................................3

1-ТАРАУ. ЛОГИКАЛЫҚ ПРОГРАММАЛАУДЫҢ ТЕОРИЯЛЫҚ

НЕГІЗДЕРІ.

1.1 Логикалық программалау. Prolog тілі.......................................................4

1.2 Prolog тілінің жетілдірілген нұсқалары........................................... ........5

1.3 Prolog тілін басқа программалау тілдерімен салыстыру.........................6

1.4 Prolog тілінде құрылған логикалық программаның орындалу

тәртібі...........................................................................................................7

1.5 Тізімдер. Prolog программасында тізімдерді қолдану...........................10

1.6 Prolog программасында берілгендер қорымен жұмыс істеу.................12

2-ТАРАУ. ЛОГИКАЛЫҚ ПРОГРАММАЛАУ ТІЛІ. PROLOG ТІЛІН ҚОЛДАНУ МЫСАЛДАРЫ.

2.1 Prolog тілінде математикалық есептерді есептеу....................................16

2.2 Prolog тілінде физикалық есептерді есептеу...........................................17

2.3 Басқа мысалдарды қарастыру...................................................................18

ҚОРЫТЫНДЫ...............................................................................................21

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ..........................................22





Жұмыс түрі: Реферат
Пәні: Соңғы қосылған рефераттар
Жұмыс көлемі: - бет

-----------------------------------------------------------------------------------

РЕФЕРАТТЫҢ ҚЫСҚАРТЫЛҒАН МӘТІНІ

Тақырыбы.
МАЗМҰНЫ

КІРІСПЕ.............................................................................................................3

1-ТАРАУ. ЛОГИКАЛЫҚ ПРОГРАММАЛАУДЫҢ ТЕОРИЯЛЫҚ
НЕГІЗДЕРІ.

1.1 Логикалық программалау. Prolog тілі.......................................................4

1.2 Prolog тілінің жетілдірілген нұсқалары...........................................
1.3 Prolog тілін басқа программалау
1.4 Prolog тілінде құрылған логикалық
тәртібі...........................................................................................................7

1.5 Тізімдер. Prolog программасында тізімдерді
1.6 Prolog программасында берілгендер қорымен
2-ТАРАУ. ЛОГИКАЛЫҚ ПРОГРАММАЛАУ ТІЛІ. PROLOG ТІЛІН
2.1 Prolog тілінде математикалық есептерді есептеу....................................16

2.2 Prolog тілінде физикалық есептерді есептеу...........................................17

2.3 Басқа мысалдарды қарастыру...................................................................18

ҚОРЫТЫНДЫ...............................................................................................21

ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ..........................................22

КІРІСПЕ

Логикалық программалау – информатика курсының программалау
Курстық жұмыстың мақсаты – логикалық программалау
Курстық жұмыстың мақсатына жету үшін келесі
Дискретті математика пәнін игеру.

Математикалық логика пәнінің мәселелерімен танысу.

Программалау тілдерін игеру.

Prolog тілінің мүмкіндіктерін зерттеу.

Курстық жұмыс кіріспеден, екі тарудан, қорытындыдан,
Кіріспеде курстық жұмыс тақырыбының өзектілігі, жұмыстың
1-тарауда курстық жұмыс тақырыбының теориялық негіздері
2-тарауда Prolog тілінің мүмкіндіктерін есептің
Қорытынды да логикалық программалаудың алатын орны,
ЛОГИКАЛЫҚ ПРОГРАММАЛАУ. PROLOG ТІЛІ

Интелектуальды іс-әрекеттерді орындауға арналған ыңғайлы программа
Prolog тілі:

сараптаушы жүйелерді дайындау;

мәтіндерді бір тілден екінші тілге аудару;

логикалық түрде теоремаларды дәлелдеу және т.б.
Prolog-тың ықшамдылығы – ол берілген сұрақ
Prolog – сараптаушы жүйені құруда, 5-нші
Prolog тілі – 2,2 жыл бұрын
Логикалық программалау мен Prolog тілінің өзара
Prolog есептеу моделінің көмегімен орындалатын логикалық
Prolog тілі тізбектік машинадағы логикалық
Абстракті интерпретатор негізінде нақты тілде программалауға
Негізінде, таңдаудың әртүрлі тәсілін қолданатын түрлі
Prolog-та топтамалы кестелік тәсіл қолданылады. [3]

PROLOG ТІЛІНІҢ ЖЕТІЛДІРІЛГЕН НҰСҚАЛАРЫ

Логикалық программалаудың дамуына үлес қосқан
1973 жылы Алан Комеройдың басшылығымен Марсельдік
Ал 1976 жылы Ковальский М. Ван
1977 жылы Д. Уоррен мен Ф.
Ал 1980 жылы К. Кларк және
1981 жылдың қазан айында Prolog тіліне
Prolog тілінің ең кең таралғаны -
Ал 1988 жылы одан сапасы жоғары
1992 жылдың маусым айында PDC Prolog
PDC Prolog 3.31-дің сапасы жоғары болғанмен,
Visual Prolog «визуальды программалау» сөзінен шықты.
Visual Prolog графикалық қолданбалы интерфейсті қажет
Интерфейстің таңдалынғанына байланысты орындаушыға көптеген генераторларға,
Prolog Development Center-дің өнімдері, Visual Prolog-ты
PROLOG ТІЛІН БАСҚА ПРОГРАММАЛАУ ТІЛДЕРІМЕН
Программалау тілі басқару механизмімен және берілгендерді
Prolog тілінде программаны басқарудағы есептің ойдағыдай
Procedure A

Call B

Call B

.

.

.

Call B

End.

Prolog тіліндегі рекурсивті шақыру мақсатының амалдар
Қарапайым тілде есептеудің жалғасуына мүмкіндік болмаса,
Логикалық программа операция жасайтын берілгендердің құрылымы
Лисп тілі секілді Prolog тілі де
Prolog тіліндегі қолданылатын берілгендер құрылымдарының басқа
Логикалық программалауда берілгендерді өңдеу толығымен қалыптастыру
Дәстүрлі программалау тілдерінде әртүрлі деңгейдегі қиындықтар,
PROLOG ТІЛІНДЕ ҚҰРЫЛҒАН ЛОГИКАЛЫҚ ПРОГРАММАНЫҢ ОРЫНДАЛУ
Prolog тілінде программалау келесі кезеңдерден тұрады:

фактілер арасындағы қатыстар мен нысандарды хабарлау;

нысандар мен қатынастар арасындағы өзара байланысқан
нысандар мен қатынастар арасындағы сұрақты тұжырымдау.

Prolog тілінде орындалатын негізгі амал бұл
Орнына қою былай анықталады:

тұрақты тек өзіне тең тұрақтының орнына
теңескен (бірегей) құрылымдар бір-бірінің орнына қойылады;

айнымалы тұрақтының немесе алдын ала байланысқан
екі бос айнымалы бір-бірінің орнына қойыла
Байланысқан мезеттен бастап олар бір айнымалы
алмасады. Бұл жағдайда Х-айнымалысы
қабылданады. [1]
Prolog тілінде программалаудың ережелері мен фактілері
реті ережелер мен ережелердің ішкі мақсаттары
А: - В1, В2,..., Вn ережесін
Логикалық тұжырымның орындалуында айнымалының нақтылануының қажеттілігіне
ұнатады (асан, ән).

ұнатады (үсен, спорт).

ұнатады (А, кітап): - оқырман (А),
ұнатады (үсен, кітап).

ұнатады (үсен, кино).

оқырман (үсен).

әуесқой (асан).

? – ұнатады (Х, ән), ұнатады
Бұл программаның екі жақты сұранысы мынадай
ұнатады (Х, ән)
Бастапқыда программаны жоғарыдан төмен қарай орындағанда,
ұнатады (Х, ән)
-----------------------------------------------------------

ұнатады (асан, ән)

Х айнымалысы «асан» мәнімен нақтыланады.

Сұраныс екінші ішкі мақсатпен келісімге келеді,
ұнатады (А, кітап): - оқырман (А),
Аргумент А тақырыбы айнымалы болғандықтан, ол
ұнатады (Х, ән)
------------------------------------------------------------

ұнатады (асан, ән)
оқырман (А)
Бұдан кейін Prolog тілі жаңа ішкі
ұнатады (Х, ән)
------------------------------------------------------------

ұнатады (асан, ән)
оқырман (А)
--------------------------------------------------------

оқырман (асан)
ТІЗІМДЕР. PROLOG ПРОГРАММАСЫНДА ТІЗІМДЕРДІ ҚОЛДАНУ

Тізім - өңдеу процесінде құрамы мен
Тізім - әртүрлі ұзындыққа болатын реттелген
Тізім элементтері кез келген терм болуы
тұрақты

айнымалы

басқа да тізімдерден тұратын құрылым.

Тізімдер білім қорын және деректер қорын
бірінші элемент – тізім басы;

тізімнің қалған бөлігі – тізімнің соңы.

Тізім басы элементі бөлінбейтін мән болып
Сәйкес операцияларды орындауда процесс тізім бос
Prolog тілінде тізімдерді қолдану үш бөлімде
тізімдер домені – domains (берілгендер типін
тізімдермен жұмыс предикаты – predicates (предикаттарды
ал тізімнің өзі – clauses (фактілер
Domains бөлімін жазбай тастап кетуге болады,
Предикат – қатыстар мен олардың аргументтерінен
Программаға глобальды домендер мен предикаттарды анықтайтын
global domains

global predicates

Clauses бөлімінде фактілер (нысандар жөніндегі мәліметтер)
Факт предикаттың атымен жақша ішіндегі аргумент
Шарт – шарт тақырыбы мен шарт
Prolog тілінде қатыстар, фактілер, ережелер құрылымын
Clauses бөлімінің алдына немесе соңына
Құрамында тізімі бар қарапайым программаны қарастырайық:

domains

баспа_ мезгіл = мезгіл

мезгіл = string

predicates

жыл (баспа_ мезгіл)

clauses

жыл ([«қыс», «көктем», «жаз», «күз»])

Бұл программада жыл мезгілдері қарастырылған. Мезгілдер
Сұраныстарды:

қандай жыл мезгілдері бар? жыл [A11]

екінші жыл мезгілі қандай? жыл ([_,X,_,])
жылдың бірінші жартысындағы жыл мезгілдері жыл
жыл 9[X|Y]) сұранысының нәтижесі қалай болады?

Тізім басы тізім құйрығынан тік сызықша
Екі тізімді қарастырайық:

list 1[[студент,Y] | Z]

list 2 [[X, ахмет] | [оқу_озаты]]

Олар үйлесімді және айнымалыларға меншіктелетін термдер:
Түсінікті болу мақсатында, әдетте, тізім предикаты
PROLOG ПРОГРАММАСЫНДА БЕРІЛГЕНДЕР ҚОРЫМЕН ЖҰМЫС ІСТЕУ

Prolog тілінде берілгендер қорымен жұмыс істеудің
әрбір берілгендер қорының информациялық элементтеріне сәйкес
әрбір атрибут мәні жұбына сәйкес келетін
әрбір құрылымы берілгендер қорының құрылымына сәйкес
әрбір құрылым берілгендер қорының жазбасына сәйкес
ағаштың әрбір түйіні берілгендер қорының жазбасына
Қызметтестер қатысы деген, өзара байланысқан (қызметтестер
Қатыстарды фактілер түрінде қарастыру.

Кез-келген пәндік облыс үлгісі объектілер мен
Жұмыс (қызметкер_ аты, бөлім, қызметі, айлық)

Бұл жерде кілттік атрибут ретінде «қызметкер_
сәйкес келетін жазбалар жиыны және информациялық
Берілгендер қорын Prolog тілінде қарастырудың қарапайым
jumus1 («Асанов»,101,»оператор»,20000).

jumus1 («Мамыров»,211,»меңгеруші»,70000).

jumus1 («Айдосов»,101,»менеджер»,60000).

Сұраныс jumus1 (ati,101,Кizmeti,Аylik)

101 бөлімдегі барлық қызметкерлерді іздейді.

Атрибуттарды факт түрінде қарастыру.

Информациялық элементтердің бүтінділігін құрайтын фактілілерді жазудың
Office («Асанов»,101).

Кizmeti («Асанов»,»оператор»).

Аylik («Асанов»,20000).

Нақты қызметкер үшін барлық атрибуттарды, пәндік
jumus2 (Ati, Office, Kіzmeti, Aylik): -
Бұл ереже анық емес берілгендер қорына
prize (Ati, 1000): - office (Ati,
Кейбір қызметкерлер үшін қосымша жұмыс стажы
jumus_staji («Асанов», 2).

jumus_staji («Мамыров», 1).

Жаңадан қосылған «prize» және «jumus_staji» фактілері
Берілгендер қорын тізім, құрылым ретінде қарастыру.

Берілгендер қорын информациялық элементтер ағымы деп
jumus_isteydi («Айдаров», 101, «оператор», 20000).

jumus_isteydi («Мамыров», 211, «меңгеруші», 70000).

jumus_isteydi («Айдосов», 101, «менеджер», 60000).

Мұндай берілгендер қорының әрбір информациялық элементіне
Берілгендер қорын сызықтық рекурсивті құрылым ретінде
Берілгендер қорының жазбасын ЭЕМ жадында қарастырудың
jumus_isteydi ( ) жазбасынан тұратын рекурсивті
Жұмысшы (аты, бөлім, қызметі, айлық келесі
Prolog тілінің синтаксисін пайдаланып, оны jumus3
jumus3 («Айдаров», 101, «оператор», 20000).

jumus3 («Мамыров», 211, «меңгеруші», 70000).

jumus3 («Айдосов», 101, «менеджер», 60000, еnd
Мұнда құрылымының қосымша аргументі берілгендер қорының
Қызметкер (аты, бөлімі, қызметі, айлық, қызметкер).

Жаңа процедураның бірінші аргументі берілгендер қорының
құрылымы болып табылады. Бұл процедураның екінші
jazba (jumus_isteydi (Ati, Office, Kіzmeti,
jumus3 (Ati, Office, Kіzmeti, Aylik, nextjazba).

jazba (jumus_isteydi (Ati, Office, Kіzmeti, Aylik)).

jumus3 (Ati, Office, Kіzmeti, Aylik, nextjazba):
jumus3 (jazba (jumus_isteydi (Ati, Office, Kіzmeti,
jazba ( ) прцедурасын қолданып, 101
Мақсат: jazba (jumus_isteydi (Ati, 101,
jumus3 («Айдаров», 101, «оператор», 20000).

jumus3 («Мамыров», 211, «меңгеруші», 70000).

jumus3 («Айдосов», 101, «менеджер», 60000, еnd
Бұл сұраныстың жауабы мынадай түрде беріледі:

Ati = Айдаров

Kizmeti = оператор

Aylik = 20000

Ati = Айдосов

Kizmeti = менеджер

Aylik = 60000

Сұраныстың print_101 ішкі мақсатын пайдаланып, төмендегі
domains

ati = symbol

office = integer

jumus_isteydi = jumus_isteydi (ati, office)

jumus3 = jumus3 (ati, office, jumus3);
predicates

print_101

jazba (jumus_isteydi (A,0), jumus3(A,0,_))

jazba (jumus_isteydi (A,0), jumus3(A,0,K)): - jazba
print_101: - write («101 бөлім қызметкерлері»),
jumus3 («Айдаров», 101),

jumus3 («Мамыров», 211),

jumus3 («Айдосов», 101,end), write (А), nl,
Бұл программа сызықты рекурсивті құрылым түріндегі
PROLOG ТІЛІНДЕ МАТЕМАТИКАЛЫҚ ЕСЕПТЕРДІ ЕСЕПТЕУ

1 - есеп. Екі бүтін санның
domains

X,Y,Z = integer

predicates

max (X,Y,Z) max (X,Y,Y)

clauses

max (X,Y,Z): - X>=Y, X =
max (X,Y,Z): - Xmax (5, 3, Z)
2 - есеп. n! мәнін есептеу.

domains

N, Z = integer

predicates

fakt (N,Z)

clauses

fakt (1, 1).

fakt (N, Z): - algash =
fakt (algash, T), Z = T
goal

fakt (5, Z), write (“5! =
3 - есеп. Сандарды қосу.

Екі санды косу үшін мақсат қоямыз:

Goal: X = 2 + 3
X = 5

Немесе келесі предикатты жазамыз:

predicates

mysum (integer, integer, integer)

clauses

mysum (A, B, C): - C
Содан соң, 2 мен 3 санын
Goal: mysum (2, 3, X)

X = 5

1 Solution

PROLOG ТІЛІНДЕ ФИЗИКАЛЫҚ ЕСЕПТЕРДІ ЕСЕПТЕУ

1 - есеп. Судың әр
1) predicates

term (real, string)

clauses

term (T, “мұз”): - Тterm (T, “сұйықтық”): - T>0, Tterm (T, “бу”): - T>100.

Енді 70 С температурада судың
Goal: term (70, X)

X = “сұйықтық”

1 Solution

2) Бұл есепті келесі жолмен де
predicates

term (real, string)

clauses

term (T, “мұз”): - Тterm (T, “сұйықтық”): - Tterm (T, “бу”).

БАСҚА МЫСАЛДАРДЫ ҚАРАСТЫРУ

1 - мысал. Егер Х атаулы
Ерлер мен әйелдердің әкелері жөнінде екі
1 - тізім 2 - тізім

әке1 (Оспан, Марат) әке2 (Мұстафа, Айгүл)

әке1 (Нұрлан, Болат) әке2 (Мұрат, Шолпан)

әке1 (Ержан, Қажым) әке2 (Нұрлан, Маржан)

әке1 (Мұрат, Сұлтан) әке2 (Бахыт, Жәния)

Тізімдерді қарап шығып, әкелері бір ерлер
Жоғарғы тізімдерде олар:

Болат пен Маржан (әкелері – Нұрлан),

Сұлтан мен Шолпан (әкелері – Мұрат).

Есепті шешу үшін алдымен екі тізімді
tuis (X, Y, A): - ake1
ake1 (ospan, marat).

ake1 (nurlan, bolat).

-------------------------

ake2 (bahit, jania).

Берілетін сұрақ: ? - tuis (X,
Білім қорында әкелері бір туыстардың бар
Сұрақ беріліп, программа іске қосылған кезде
А = ospan, Х = marat

Одан әрі, жүйе ережеге енгізілген барлық
меншіктелген мәндерді өшіріп тастайды да, келесі
А = Нұрлан, Х = Болат.

Одан әрі, ake2 (нұрлан, Y) мақсатына
Х = Болат, Y = Маржан,
Сонымен, егер сұраққа енгізілген ұйғарымның бір
Бұл мысалдың Prolog тілінде жазылуы:

predicates

tuis (string, string, string)

ake1 (string, string)

ake2 (string, string)

clauses

tuis (X, Y, A): - ake1
ake1 (ospan, marat).

ake1 (nurlan, bolat).

-------------------------

ake2 (bahit, jania).

2 – мысал. Студенттердің математика мен
1. Ахметов О.
2. Ермеков Н.
3. Нұрланова М. 5
Программаны мынадай түрде құруға болады:

domains

T = string

predicates

tizim (T)

clauses

tizim (“1. Ахметов О.
tizim (“2. Ермеков Н.
tizim (“3. Нұрланова М.
3 – мысал. Адамдардың қарапайым телефон
predicates

tel (syring, string)

goal

write (“Фамилия-?”),

readln (Fam),

tel (Fam,Telef_Nom)

write (“телефон нөмірі = ”, Telef_Nom),
clauses

tel (“Үмбетов О”, ”52-21-60”).

tel (“Сұлтанов М”, ”55-32-14”).

tel (“Ержан К”, ”52-21-36”).

Программа іске қосылған кезде бірден фамилия
Fam - ? Сұлтанов М

Телефон нөмірі = 55-32-14

ҚОРЫТЫНДЫ

Логикалық программалау – программмалау саласының негізігі
Prolog пен логикалық программалау басқа жаңа
Prolog тілі – даму жолындағы тіл.
Программалау қазіргі таңда информатика курсының орасан
Бұл курстық жұмыстың бірінші тарауында біз
Қорытындылайтын болсам, ең тиімді логикалық тілдерінің
олар білімді игеруді басқа тілдерге қарағанда
олар тезистер, табиғи тілде қорытындылар пікірлер,
Prolog тілінде берілгендерді өңдеу тәсілін кез-келген
Курстық жұмыстың міндеті: логикалық программалау тілдерінің
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТТЕР ТІЗІМІ

О. Камардинов «Жасанды интеллект. Сараптаушы жүйелер.
И. Братко «Программирование на языке Пролог
Клоксин, Меллиш «Програмирование на языке Пролог».
Дж. Стобо «Язык программирования Пролог». Москва,
Ин Ц., Соломон Д. «Использование Турбо-Пролога».
Хоггер «Введение в логическое программирование». Москва,
Фёдоров А. «Особенности программирования на Borland
Л. Стерлинг, Э. Шапиро «Искусство программирования
Кларк К., Маккей Ф. «Введение в
И. Братко «Алгоритмы искусственного интеллекта на
Доорс Дж., Рейблейн А.Р., Вадера С.
2





Написать комментарий
Имя:*
E-Mail:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите код: *


Бұл сайтта Қазақстанның түкпір-түкпірінен жиналған қазақ тіліндегі рефераттар мен курстық және дипломдық жұмыстар ұсынылған. Қазіргі таңда www.topreferat.com.kz сайтының қазақ тіліндегі жұмыстар базасы бүкіл интернеттегі ең үлкен база болып табылады! Біздің базадағы жұмыстар саны 15000-нан асады. Біз бұл жетістікпен тоқтап қалмаймыз! Біз базамызды одан әрі толықтырамыз.
» » Логикалық программалау реферат

© 2011-2016 Скачать бесплатно на topreferat.com.kz курсовые, дипломные и рефераты на телефон, на планшет и на компьютер.
При копировании материала активная ссылка на источник обязательна.


Мнение посетителей:
 

После 9 класса Вы:

Пойду в 10, 11, закончу школу полностью
Пойду в Колледж
Пойду в ПТУ
Пойду работать
Снова пойду в 9 класс

 
 
Похожие:
  • Фортран бағдарламалау тілі
  • Кобол бағдарламалау тілі
  • Visual Basic бағдарламау тілінің даму тарихы
  • Сызықты және бинарлы іздеу әдістері курстық жұмыс
  • Сараптамалық жүйелер курстық жұмыс
  • Массиверді программалау курстық жұмыс
  • Крамер әдісімен теңдеулер шешуге программа құруl курстық жұмыс
  • Кластар иерархиясы, мұрагерлік, полиморфизм курстық жұмыс
  • Жиымдар курстық жұмыс
  • Алгоритмдеу негіздері және құру технологиясы курстық жұмыс
  • Turbo Pascal тілінің түсініктерімен жұмыс жасау курстық жұмыс
  • Turbo Pascal жүйесінде массивтер курстық жұмыс
  • Қайталану операторы реферат
  • Циклдік құрылымды алгоритмді программалау Паскаль тілінде реферат
  • Турбо паскальда екі өлшемді массивтерді ұйымдастыру технологиясы реферат
  • Мектепке дейінгі балалардың деректер базасын ms access көмегімен құру рефер ...
  • ЖОО-ның жалпы мәліметтеріне инфологиялық модель құру реферат
  • Динамикалық тізімдермен жұмыс реферат
  • MS Access-туралы мәлімет реферат
  • Microsoft Access реферат