Тақырып №7: Пролог тілінде қолданылатын операторлар.
Математикалық операторлар
Математикалық операторлардың жазылу синтаксисі былайынша сипатталады : , , , , mod, div және т. б. Әдетте олар өздерінің аргументтеорі-
нің аралығына жазылады, мысалы, хуz. Мүндай түрде жазылған операторларды инфисті (кірістірілген) операторлар деп атайды. Прологта аргументтерінің соңына не алдына жазып пайдаланатын операторлар да аз емес.
Олар постфиксті, префиксті операторлар делінеді, мысалы , n! , ал 34 қосындысын жазу үшін функторды қолданып, мынадай түрде жазуға болады:
(3,4). Бұлардағы -постфиксті, - префиксті оператор.
Прологтың ерекшілігі: математикалық операторлар атомдар ретінде, арифметикалық өрнектер терм, құрылым түрінде қабылданады, яғни мұнда математикалық операторлар жазылуы бойынша ешқандай операцияны орындамайды. Мысалы, 54 және 9 – түрлі термдер. 54 термін мынадай (құрылымдық) түрде жазуға да болады: (5,4). Мүндағы плюс () атомы – функ-
тор, 5 және 4 – оның аргументтері (яғни, құрылым екі арналық). Оларды сандық
шамалар түрінде қарастырып, 54 математикалық амалын орындау үшін Прологта өрнекті is стандартты инфиксті операторын пайдаланып жазу керек.
Прологта операторлардыі орындау деңгейлері әртүрлі болғандықтан, жақшаларды пайдаланып, 4328 теңсіздігін (43)28) түрінде жазып алу керек.
Теңдік ( ) операторы да – Прологта предикат және ол термдердің баламалы екенін анықтайтын инфиксті оператор. Яғни, предикаты фактілерінің орындалуы сияқты анықталады. Екі А және В арифметикалық өрнектері тең болуы да мүмкін, олар да Прологта АВ түрінде жазылады да,
Да(Иә) сөзімен нәтижеленеді.
Егер сұрақ берілсе, ол берілгендер қорында жазулы терммен (фактімен)
Үйлесімді болуы тиіс. Ол үшін термнің бас функторы, аргументтер саны, құры-
Лымы және сәйкес нақиы аргументтердің мағынасы бірдей болуы қажет.
Мысалы,
- дата (Х, маусым, Ү).
Сұрағына Прологтың нақты жауап беруі үшін юерілгендер қорында мынадай түрдегі фактілердің болуы міндетті:
Дата (5, маусым, 2000).
Ал, фактілер берілгендер қорында дата (5, маусым) сияқты құрылыммен сақтаулы болса, олар сұраққа үйлесімсіз, салыстыру мүмкін емес.
Достарыңызбен бөлісу: |