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



бет47/85
Дата11.10.2023
өлшемі2.35 Mb.
#480347
1   ...   43   44   45   46   47   48   49   50   ...   85
Сараптаушы жүйелер

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


Тақырыбы: Пролог-Д программалау жүйесінде арифметикалық және басқа да тұрақты предикаттар
Жұмыстың мақсаты: Пролог-Д жүйесінде арифметикалық амалды орындау үшін нақты арифметикалық предикаттар қолданысын түсіндіру.
Теориялық бөлім
Пролог-Д программасында барлық математикалық әрекеттердi орындау мүмкiн емес, бiрақ кейбiр арифметикалық амалдар нақты сипатталатын предикаттармен орындалады. Пролог-Д жүйесiнде арифметикалық амалды орындау үшiн бiр нақты арифметикалық предикат: УМНОЖЕНИЕ(Арг1,Арг2,Арг3,Арг4) қолданылады. УМНОЖЕНИЕ предикаты 4 аргументтен тұрады: бүтiн, айнымалы, нақты бүтiн, нақты емес айнымалы, барлық аргументтердi қарататын, бiрақ та, ол сөйлемде тек белгiлi бiр мақсатта ғана қолданылуы мүмкiн. УМНОЖЕНИЕ предикаты мынадай формуланы өрнектейдi:
Арг1*Арг2+Арг3=Арг4.
Арифметикалық амалдарды орындайтын Предикаттар аргументте барлық бүтiн сандарды (-32767-ден 32767-ге дейiнгi аралықта) қамтиды. Келесi бiлiм қоры Пролог-Д тiлiнде, кез-келген арифметикалық амалдарды орындайтынын көрсетедi:
СЛОЖЕНИЕ(X,Y,Z)<-УМНОЖЕНИЕ(1,X,Y,Z);
ВЫЧИТАНИЕ(X,Y,Z)<-УМНОЖЕНИЕ(1,X,Z,Y);
УМНОЖЕНИЕ(X,Y,Z)<-УМНОЖЕНИЕ(X,Y,0,Z);
ДЕЛЕНИЕ(X,Y,Z)<-УМНОЖЕНИЕ(Y,Z,0,X);
Төрт жағдайда да Х, У – барлық амалдар операторлары, ал Z –нәтижесi.
Мысалы, СЛОЖЕНИЕ(X,Y,Z) предикаты мына арифметикалық амалды орындайды: Z=X+Y. УМНОЖЕНИЕ предикаты барлық есептейтiн операцияларда қолданылады.
1-мысал. Пролог-Д жүйесiнде ұзындығы a және b болатын тiк төртбұрыштың ауданын есептейтiн программа құру қажет. Тiк төртбұрыштың ауданын есептейтiн формула белгiлi: S=a*b. Егер тiк төртбұрыштың ауданы есептелетiн болса, онда үш аргументi белгiлi предикат болу қажет. Ол қабырғалар ұзындығы мен аудан шамасы. Предикаттың аты осы қойылған критерийге байланысты оның мағынасына байланысты қойылады, бiз үшiн площадь аты сәйкес келедi:

УМНОЖЕНИЕ(X,Y,Z)<-УМНОЖЕНИЕ(X,Y,0,Z);


площадь(a,b,S)<-УМНОЖЕНИЕ(a,b,S);.

Бiрiншi УМНОЖЕНИЕ предикаты тек жазудың түрiн сипаттау үшiн қажет болды. Площадь предикатын қолдану арқылы, берiлген қабырғаларға сәйкес ауданды ғана емес, сонымен бiрге берiлген аудан мен бiр қабырғаға байланысты басқа қабырғасын да табуға болады. Бiлiм қорына мынадай сұрақ қоюға болады:


?площадь(10,20,S);
Пролог-Д жүйесiнiң жауабы: S=200,
?площадь(a,20,100);

Пролог-Д жүйесiнiң жауабы: а=5.




Достарыңызбен бөлісу:
1   ...   43   44   45   46   47   48   49   50   ...   85




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

    Басты бет