TURBO PROLOG. Терёхин В.В. - 74 стр.

UptoLike

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

74
указатель отката помещается в следующую точку. Значение ANN ARBOR
выводится на экран.
Предикат fail вызывает неуспешное завершение правила, внутрен-
ние унификационные подпрограммы выполняют откат в точку 1, и процесс
повторяется до тех пор, пока последнее утверждение не будет обработано.
* Упражнения
4.1. Измените программу о городах таким образом, что бы результа-
том была
выдача на экран целых чисел 66, 46, 32, 93, 44, 98, 37, 16, 12. Вы-
давайте только одно число на строке.
4.2. Какие необходимы модификации для выдачи целых чисел на одну
строку так, что бы они были разделены двумя пробелами?
Программа о городах показывает, что использование метода ОПН по-
зволяет извлекать данные из каждого утверждения базы данных. Если в
про-
грамме содержатся утверждения для 10 вариантов, то результат так же со-
держит 10 строк. Данные извлекаются из каждого утверждения, так как каж-
дый вариант удовлетворяет подцели cities(сity). Но добавив дополнительные
условия на значения объектов для одной или более переменных предиката,
можно извлекать данные только из определенных утверждений. Программа
о служащих (
листинг 4.2) демонстрирует этот метод.
Листинг 4.2
_______________________________________________________________
/* Программа: Служащие */
/* Назначение: Демонстрация использования */
/* селектирующих правил на основе ОПН-метода */
domains
name, sex, department = symbol
pay_rate = real
predicates
employee(name,sex,department,pay_rate)
show_male_part_time
show_data_proc_dept
goal
write("Служащие мужского пола с почасовой оплатой"), nl, nl,
show_male_part_time.
clauses
employee("John Walker ","M","ACCT",3.50).
employee("Tom Sellack ","M","OPER",4.50).
employee("Betty Lue ","F","DATA",5.00).
employee("Jack Hunter ","M","ADVE",4.50).
employee("Sam Ray ","M","DATA",6.00).
указатель отката помещается в следующую точку. Значение ANN ARBOR
выводится на экран.
      Предикат fail вызывает неуспешное завершение правила, внутрен-
ние унификационные подпрограммы выполняют откат в точку 1, и процесс
повторяется до тех пор, пока последнее утверждение не будет обработано.

* Упражнения
     4.1. Измените программу о городах таким образом, что бы результа-
том была выдача на экран целых чисел 66, 46, 32, 93, 44, 98, 37, 16, 12. Вы-
давайте только одно число на строке.
     4.2. Какие необходимы модификации для выдачи целых чисел на одну
строку так, что бы они были разделены двумя пробелами?

     Программа о городах показывает, что использование метода ОПН по-
зволяет извлекать данные из каждого утверждения базы данных. Если в про-
грамме содержатся утверждения для 10 вариантов, то результат так же со-
держит 10 строк. Данные извлекаются из каждого утверждения, так как каж-
дый вариант удовлетворяет подцели cities(сity). Но добавив дополнительные
условия на значения объектов для одной или более переменных предиката,
можно извлекать данные только из определенных утверждений. Программа
о служащих (листинг 4.2) демонстрирует этот метод.

                           Листинг 4.2
_______________________________________________________________
     /* Программа: Служащие           */
     /* Назначение: Демонстрация использования          */
     /*     селектирующих правил на основе ОПН-метода */
domains
     name, sex, department = symbol
     pay_rate     = real

predicates
      employee(name,sex,department,pay_rate)
      show_male_part_time
      show_data_proc_dept

goal
      write("Служащие мужского пола с почасовой оплатой"), nl, nl,
                              show_male_part_time.
clauses
      employee("John Walker   ","M","ACCT",3.50).
      employee("Tom Sellack   ","M","OPER",4.50).
      employee("Betty Lue     ","F","DATA",5.00).
      employee("Jack Hunter   ","M","ADVE",4.50).
      employee("Sam Ray       ","M","DATA",6.00).


                                                                          74