Программирование в Логике. Чанышев О.Г. - 7 стр.

UptoLike

Составители: 

13
2. Синтаксис и семантика Пролог-программ
2.1. Объекты данных
2
Объекты данных в Прологе могут быть простыми данными
и структурами. Простые данные могут быть константами и пере-
менными. Константы могут быть атомами, числами и строками.
Пролог-система распознает тип объекта по его синтаксиче-
ской форме в тексте программы.
Атомы
Атомкомбинация букв, цифр и знака подчеркивания, на-
чинающаяся со строчной
буквы. Примеры: a, "это_атом",
"this_is_atom".
Переменные
Переменнаякомбинация букв, цифр и знака подчеркива-
ния, начинающаяся с прописной буквы. Примеры: V, Это_пере-
менная25.
Структуры
Структурные объекты (или просто структуры) – это объек-
ты, состоящие из нескольких компонент. Компоненты, в свою
очередь, могут быть структурами. Для объединения компонент в
структуру используется функтор:
date(17,
июнь,1999) % date – функтор.
date(День,июнь,1999), здесьДеньпеременная, которая
может получить значение (стать связанной переменной) на ком-то
этапе вычислений. Синтаксически все объекты данных в Прологе
есть термы.
Сопоставление.
Наиболее важная операция над термамисопоставление.
Два терма сопоставимы:
если они идентичны,
2
Излагается по [2, 8]
14
если переменным в обоих термах можно присвоить в каче-
стве значений объекты таким образом, что после подстановки они
станут идентичными.
Например, date(Day,июнь,1999) и date(Day1,июнь,1999) со-
поставимы, поскольку переменным Day и Day1 можно присвоить
одинаковые значения от 1 до 31. Сопоставлениепроцесс провер-
ки сопоставимости термов.
2.2. Декларативный смысл Пролог-программ
Дано предложение:
P:-Q,R.
Q и R имеют
синтаксис термов.
Возможные способы декларативной интерпретации этого
предложения:
P истинно, если Q и R истинны.
Из Q и R следует P.
Два варианта процедурного прочтения:
Чтобы решить задачу P нужно сначала решить подзадачу Q,
а затемподзадачу R.
Чтобы достичь P, сначала достигни Q, затем достигни R.
Таким образом, различие между декларативным и проце-
дурным прочтениями заключается в том, что последнее не
только
определяет логические связи между левой и правой (цели) частя-
ми предложения, но еще и порядок, в котором эти цели обрабаты-
ваются.
Декларативный смысл программы определяет, является ли
данная цель истинной, и, если да, то при каких значениях пере-
менных это достигается. Конкретизацией предложения называется
результат подстановки в него на
место каждой переменной неко-
торого терма. Вариантом предложения C называется такая конкре-
тизация C, при которой каждая переменная заменена на другую
переменную.
Например:
читатель(X):- иметь_книгу(X,Y)
          2. Синтаксис и семантика Пролог-программ                     – если переменным в обоих термах можно присвоить в каче-
                                                                 стве значений объекты таким образом, что после подстановки они
        2.1. Объекты данных2                                     станут идентичными.
                                                                       Например, date(Day,июнь,1999) и date(Day1,июнь,1999) со-
      Объекты данных в Прологе могут быть простыми данными
                                                                 поставимы, поскольку переменным Day и Day1 можно присвоить
и структурами. Простые данные могут быть константами и пере-
                                                                 одинаковые значения от 1 до 31. Сопоставление – процесс провер-
менными. Константы могут быть атомами, числами и строками.
                                                                 ки сопоставимости термов.
      Пролог-система распознает тип объекта по его синтаксиче-
ской форме в тексте программы.
                                                                      2.2. Декларативный смысл Пролог-программ
                           Атомы                                      Дано предложение:
       Атом – комбинация букв, цифр и знака подчеркивания, на-        P:-Q,R.
чинающаяся со строчной буквы. Примеры: a, "это_атом",                 Q и R имеют синтаксис термов.
"this_is_atom".
                                                                      Возможные способы декларативной интерпретации этого
                        Переменные                               предложения:
                                                                      P истинно, если Q и R истинны.
      Переменная – комбинация букв, цифр и знака подчеркива-
                                                                      Из Q и R следует P.
ния, начинающаяся с прописной буквы. Примеры: V, Это_пере-
менная25.
                                                                       Два варианта процедурного прочтения:
                                                                       Чтобы решить задачу P нужно сначала решить подзадачу Q,
                          Структуры                              а затем – подзадачу R.
      Структурные объекты (или просто структуры) – это объек-          Чтобы достичь P, сначала достигни Q, затем достигни R.
ты, состоящие из нескольких компонент. Компоненты, в свою
очередь, могут быть структурами. Для объединения компонент в           Таким образом, различие между декларативным и проце-
структуру используется функтор:                                  дурным прочтениями заключается в том, что последнее не только
      date(17,июнь,1999) % date – функтор.                       определяет логические связи между левой и правой (цели) частя-
      date(День,июнь,1999), здесь – День – переменная, которая   ми предложения, но еще и порядок, в котором эти цели обрабаты-
может получить значение (стать связанной переменной) на ком-то   ваются.
этапе вычислений. Синтаксически все объекты данных в Прологе           Декларативный смысл программы определяет, является ли
есть термы.                                                      данная цель истинной, и, если да, то при каких значениях пере-
      Сопоставление.                                             менных это достигается. Конкретизацией предложения называется
      Наиболее важная операция над термами – сопоставление.      результат подстановки в него на место каждой переменной неко-
Два терма сопоставимы:                                           торого терма. Вариантом предложения C называется такая конкре-
      – если они идентичны,                                      тизация C, при которой каждая переменная заменена на другую
                                                                 переменную.
                                                                       Например:
  2
      Излагается по [2, 8]
                                                                       читатель(X):- иметь_книгу(X,Y)

                               13                                                              14